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文件读取到当前文件中,直到文件合并的效果