如何使用vi文本编辑器

 
 

vi由比尔·乔伊(Bill Joy)撰写,所有UNIX like均默认安装此文本编辑器。详细简介请点击维基中文

  1. 1.首先复制一个文件到/tmp目录(本例中为复制根目录下install.log文件)做为示例文本。

  1. 2.输入“cd /tmp”切换到/tmp目录,并输入“vi install.log”使用vi开始编辑。

一般模式[编辑]

  1. 3.vi一般模式(Normal mode)界面如下:

  1. 4.注意下图中光标位置。

  1. 5.按左方向键(←)或者h(注意大小写)光标将向左移动一个字符。

  1. 6.按右方向键(→)或者l(注意大小写)光标将向右移动一个字符。

  1. 7.按上方向键(↑)或者k(注意大小写)光标将向上移动一个字符。

  1. 8.按下方向键(↓)或者j(注意大小写)光标将向下移动一个字符。

  1. 9.按“Page Down”按键或“ctrl+f”将向下移动一页。

  1. 10.按“Page Up”按键或“ctrl+b”将向下移动一页。

  1. 11.0(数字)或功能键“Home”移动到光标所在行首个字符。

  1. 12.$或功能键“End”移动到光标所在行末尾字符。

  1. 13.G(注意大写)移动到文件最后一行。

  1. 14.gg(两个小写)移动到文件第一行。

  1. 15.按“7回车键”向下移动7行(注意输入数字后需按回车键)。

  1. 16.yy(两个小写)复制光标所在行,按p(小写)复制到光标所在行下,按P(大写)复制到光标所在行上。

  1. 17.dd(两个小写)删除光标所在行。

  1. 18.u(小写)撤销上一步操作。

  1. 19.输入5dd(数字+两个小写d)删除从光标所在行起下5行内容(包括光标所在行)。

  1. 20.按“.(英文小数点)”重复上次操作(本例中为再删除5行)。

编辑模式[编辑]

  1. 21.移动光标到行中,按i(小写)即可进入插入模式(Insert mode),并从光标所在处开始插入。

  1. 22.按“Esc”键退出编辑模式,移动光标到行中,按I(大写)即可进入插入模式(Insert mode),并从光标所在行第一个非空格字符处开始插入。

  1. 23.按“Esc”键退出编辑模式,移动光标到“Installing”的第二个字符(n)下,按r(小写)即可进入替换模式(Replace mode),
  2. 并会替换光标所在字符一次(本例中n被替换为i)。

  1. 24.再次输入i,并没有替换后面字符,同时下面显示“--Insert--”,即为插入模式(Insert mode)。

  1. 25.按“Esc”键退出编辑模式,移动光标到“Installing”的第二个字符(n)下,按R(大写)即可进入替换模式(Replace mode),按i将一直替换,直到按Esc为止。
  2. 同时下面显示“--Replace--”,即为替换模式(Replace mode)。

命令行模式[编辑]

  1. 26.输入“:set nu”即可显示行号。

  1. 27.输入“:set nonu”即可取消显示行号。

  1. 28.输入“/setup”即可查询斜杠后内容(本例中为setup)。

  1. 29.输入n(小写)即可继续向下查找,输入N(大写)即可向上查找。

  1. 30.如需不保存编辑并退出,可输入“:w!”并回车确定。

  1. 31.如需保存修改并退出,可输入“:x”并回车确定,此命令仅当文件被修改时才写入,并更新文件修改时间,未修改则不更新文件修改时间。
  2. 注意:不推荐使用“:wq”保存退出,因为“:wq”即使未修改文件也强制写入,并更新文件修改时间。

替换内容[编辑]

  1. 32.如何替换字符串,则将光标移动到欲替换行(本例中为方便说明故显示行号)。

  1. 33.ESC键确保为非编辑模式,输入“: s/i/x/”,即将“i”替换为“x”。

  1. 34.按回车键确认并查看结果(本例中此行(12行)的第一个“i”被替换为“x”,即“Installing”被替换为“Installxng”)。

  1. 35.如需将此行(12行)中所有“i”替换为“x”,则需添加参数。为方便对照,首先输入“u”撤销上一步替换。

  1. 36.输入“: s/i/x/g”,注意比上面的命令多一个参数“g”。

  1. 37.按回车键确定并查看结果(注意同上面的区别,本行所有的“i”已被替换为“x”)。

  1. 38.输入“: %s/i/x/”(等同于: g/i/s//x/)即可将所有行的第一个“i”替换为“x”。

  1. 39.按回车键确定并查看结果(注意同上面的区别)。

  1. 40.输入“: %s/i/x/g”(等同于: g/i/s//x/g)即可将所有行的“i”替换为“x”。

  1. 41.按回车键确定并查看结果(注意同上面的区别)。

linux_vim_最佳快捷键的更多相关文章

  1. Windows 8关机的三个最简单方法

    Win8怎么关机?全新的Win8系统给用户一个难题,Win8如何关机?笔者整理了Win8关机的最实用的三个方法,希望能让大家了解Win8关机的具体操作,解决Win8如何关机等问题. 最常规的Win8关 ...

  2. linux_vim_快捷键

    1.vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来查看 set nu #行号 set tabstop=4 #一个tab为4个空格长度 set ...

  3. ASP.NET跨平台最佳实践

    前言 八年的坚持敌不过领导的固执,最终还是不得不阔别已经成为我第二语言的C#,转战Java阵营.有过短暂的失落和迷茫,但技术转型真的没有想象中那么难.回头审视,其实单从语言本身来看,C#确实比Java ...

  4. SublimeText2 快捷键一览表

    SublimeText2 快捷键一览表 Sublime Text比起Notepad++,UltraEdit之类Code编辑器来说,其功能有过之而无不及,配合着各种插件使用,Sublime Text在实 ...

  5. MyEclipse快捷键大全(绝对全)

    存盘 Ctrl+s(肯定知道) 注释代码 Ctrl+/ 取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了) 代码辅助 Alt+/ 快速修复 Ctrl+1 代码格式化 Ctrl+Shi ...

  6. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  7. mac 系统通用快捷键(mac 下的应用多数会往这些标准看齐)(转:http://yang3wei.github.io/blog/2013/02/08/chen-ni-yu-mac-chen-ni-yu-xcode/)

    command + w: 关闭当前窗口 command + q: 退出程序 (Google Chrome 有点奇葩,按下之后还需要hold 那么一小会儿才能退出) command + m: 最小化当前 ...

  8. sublime快捷键大全

    转自:http://blog.useasp.net/archive/2013/06/14/sublime-text-2-all-default-Shortcuts-table-on-windows-t ...

  9. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

随机推荐

  1. Linux curl使用简单介绍 (转)

    Curl是Linux下一个很强大的http命令行工具,其功能十分强大. 1) 二话不说,先从这里开始吧! $ curl http://www.linuxidc.com 回车之后,www.linuxid ...

  2. 揭秘传智播客毕业班的超级薪水7k内幕系列II----Offer工资表5.7k,为什么不能让老师就业就业

    在上海传智播客宋学生Java六期学员.在班级尚未毕业阶段,私自投递简历,而且逃课去面试,获得某国企的Offer.入职薪资5.7K,,兼有五险一金.饭补等齐全福利,因就业老师要求班级同学未毕业不要急于就 ...

  3. oracle dblink造成远程数据库session过多

    现场报网公司数据库连不上,先检查了下数据库processes=1500,session=2200.我认为非常大啊.这个数据库没有几个人用. 查看v$session中的session最多是哪个machi ...

  4. 【cocos2dx-3.0beta-制作flappybird】尾随时代潮流,关于引擎升级

    cocos2dx3.1版本号会被释放出,本来,我自己想要这个升级到官方的3.0版本号.只是无奈3.0坑的正式版不会做,偶数帧动画是正确及时的问题,果断放弃,随着广大淫民的支持.我已经升级到最新的代码c ...

  5. 苹果WatchKit轻松入门

    背景 前段时间苹果Apple推出 WatchKit,用于开发Apple Watch应用,同时也推出了 Xcode6.2 Beta(非稳定版,好期待稳定版)版本用于开发 Watch App.Apple ...

  6. c# winform 中的 工具栏自动隐藏 splitter用法 带源码

    c# winform 中的 工具栏自动隐藏 splitter用法 带源码 代码下载地址 http://download.csdn.net/detail/simadi/7649313

  7. Windows 8实例教程系列 - 开篇

    原文:Windows 8实例教程系列 - 开篇 2012年10月26日,微软发布Windows 8操作系统以及自主品牌平板电脑Surface,Windows作为世界上最流行的操作系统,发布一周内,下载 ...

  8. ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件

    原文:ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件 第二章 继承于WebControl的自定义控件 到现在为止,我已经写了三篇关于自定义控件开发的文章,很感谢大家的支 ...

  9. 【iOS】Swift扩展extension和协议protocol

    加上几个关节前Playground摘要码进入github在,凝视写了非常多,主要是为了方便自己的未来可以Fanfankan. Swift语法的主要部分几乎相同的. 当然也有通用的.运算符重载.ARC. ...

  10. 关于.NET,.NET Framework 和ASP.NET的总结

    .NET 1.1.        .NET是 Microsoft XML Web services 平台和技术. 1.2.        一个.NET应用是一个运行于.NET Framework之上的 ...