VI和VIM的用法

一、VI和VIM的关系

  VIM是VI的增强版,VIM与VI编辑器完全兼容。
  Vi和Vim的区别为:搜索不同、脚本语言不同、共享不同。VIM是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。
  一、搜索不同:Vi不支持正则表达式的搜索;Vim支持正则表达式的搜索。
  二、脚本语言不同:Vi没有自己的脚本语言,只是在Unix及Linux系统下进行编辑的工具;Vim有自己的脚本语言,称为Vim脚本(也称为vimscript或VimL),用户可以通过多种方式使用它来增强Vim。
  三、共享不同,Vi不具有高度可配置性,无法和各个Vi安装之间共享文件;Vim具有高度可配置性,包含Vim核心全局设置(称为vimrc)的文件可以在各个Vim安装之间共享。
  四、VIM可以主动的以字体颜色辨别语法的正确性,方便程序设计。

二、VI/VIM的三种模式

  基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。

1 命令模式

  以vi打开一个档案就直接进入一般模式了(这是默认的模式)。
  在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。

常用语法如下表:

语法 功能描述
yy 复制光标当前一行
y数字y 复制一段(从第几行到第几行)
p 箭头移动到目的行粘贴
u 撤销上一步
dd 删除光标当前行
d数字d 删除光标(含)后多少行
x 删除一个字母,相当于del,向后删
X 删除一个字母,相当于Backspace,向前删
yw 复制一个词
dw 删除一个词
shift+^ 移动到行头
shift+$ 移动到行尾
gg或者1+G 移动到页头
G 移动到页尾
数字+G(先输入数字,在按G) 移动到目标行

下图为所有快捷键的键盘图:


timg.jpg

2 编辑模式

  在一般模式中可以进行删除、复制、粘贴等的动作,但是无法编辑文件内容!
  要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。
  注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

  进入编辑模式的快捷键和具体作用:

按键 功能
i 当前光标前
a 当前光标后
o 当前光标行的下一行
I 光标所在行最前
A 光标所在行最后
O 当前光标行的上一行

  退出编辑模式方法:按『Esc』键

3 指令模式

  在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
  在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
  基本语法和功能表格:

命令 功能
:w 保存
:q 退出
:! 强制执行
/ 要查找的词 n 查找下一个,N 往上查找
? 要查找的词 n是查找上一个,N是往下查找
:set nu 显示行号
:set nonu 关闭行号
ZZ(shift+zz) 没有修改文件直接退出,如果修改了文件保存后退出

  比如如果想强制保存退出则输入的名命令为:

:wq!

你可能感兴趣的:(VI和VIM的用法)