VIM是linux系统最为普遍的文本编辑软件,几乎任意一种linux发行版默认都会安装这款软件。虽然现在已经出现了很多适合linux的文本编辑软件,但是VIM的强大是无法替代的。

VIM有三种模式:指令模式、插入模式和底行命令模式。只有在插入模式下,才可以进行编辑;指令模式和底行命令模式下,可以进行删除,复制,粘贴和查找等多种行为。

------------------------------------------------命令模式进入插入模式的操作------------------------------

a: 在光标后插入内容。 A: 在当前行的末尾插入内容。 o: 在当前行的下面插入内容 O: 在当前行的上面插入内容 i: 在光标处插入内容 I: 在当前行的行首插入内容

esc 可以从插入模式回到命令模式

-----------------------------------------------命令模式下的跳转命令----------------------------------------

gg: 回到文件的第一行行首 10gg: 跳到文件的第10行。22gg 第22行。 G: 跳到文件的最后一行

H: 当前屏幕的第一行 M: 当前屏幕的中间 L: 当前屏幕的最后一行

w: 一个单词一个单词的向右跳 b: 一个单词一个单词的向左跳 f: 后面跟想跳转的字母,如:f b 向右跳到最近的一个b字母处

home: 跳到当前行的行首 end: 跳到当前行的行尾

--------------------------------------------文本中的常用操作-----------------------------------------------------

yy: 复制当前行 10yy: 从当前行开始向下复制10行。20yy yw: 复制一个单词 y$: 复制光标处到行尾所有内容 y^: 复制光标处到行首所有内容

p: 粘贴到光标所在处

dd: 删除当前行 ddp: 上下行对调 10dd: 从当前行开始向下删除10行。20dd dw: 删除一个单词 d$: 删除光标处到行尾所有内容 d^: 删除光标处到行首所有内容 x: 删除光标处的一个字符

r b: 把光标所在处的字符替换成b 再如:r n把光标处的字符替换成n R: 从光标处连续向右替换直到按esc键停止

u: 撤销上一步操作 U: 撤销对当前行的所有更改 ctry+r: 反撤销

--------------------在命令模式下输入 :进入末行模式--------------------------------------------------

w: 保存 q: 退出 wq: 保存后退出 和 x 一样。 q!: 不保存退出

set nu: 显示行号 set nonu:不显示行号

w aa.log: 把当前文件另存为aa.log 放到当前目录 w /tmp/ab.log: 把当前文件另存为ab.log 放到/tmp目录

1090,1096 w 1090.log: 把当前文件的1090行到1096行 另存到当前目录的1090.log中。

1085,1088s /^/#/g:在1085行到1088行的行首插入# 1085,1088s /^#//g:去掉1085行到1088行行首的# %s /^c/C/g: 把当前文档中所有以c开头的内容替换成C

r aa.log 把当前目录下的aa.log文件读取到当前文件中,直到文件合并的效果