vim编辑器是linux环境下修改文件必备神器,你真的会用吗,进入输入i命令,进入编辑模式,然后上下移动光标,鼠标选中复制粘贴。这样操作稍微有点慢,而且有点低(low)。如果现在让你定位到文档的某一行,你是否还要去挨行去数,如果让你把文档中所有a修改为b,估计你会当场吐血身亡,所以下面的命令也许就是你想要的。
1. vim编辑器的几种模式
模式分类:
- 命令模式:用vim 打开一个文件刚开始进入的就是命令模式,在这个模式下我们可以控制光标的移动,字符,字或者行的删除,移动复制某段区域,在该模式下可以进入插入模式也可以进入底行模式。
- 编辑模式:在编辑模式下才可以插入文字,按Esc进入末行模式。
- 末行模式:在末行模式下保存文件或者退出vim,也可以在末行模式下使用man查找函数等……
模式转换:
1.1 编辑模式
i:当前光标的前面输入I:当前行的开头输入
a:当前光标的后面输入A:当前行的末尾输入
o:光标所在行的下一行输入O:光标所在行的上一行输入
1.2 命令模式
yy:复制光标所在的一行2yy:复制2行,复制多行,根据前面的数值控制
p:粘贴到光标所在行的下方
dd:剪切光标所在的整行3dd:剪切3行,剪切多行,根据前面的数值控制D:从当前光标位置剪切到行末尾d0:从当前光标开始剪切到行首
x:删除光标后面的内容,一次删除一个字符X:删除光标前面的内容,一次删除一个字符
H:当前屏幕的顶部M:当前屏幕的中央L:当前屏幕的末尾
ctrl+f:向下翻一页ctrl+b:向上翻一页
20G:快速的定位到第20行G:快速的回到整个文件最后一行gg:快速的回到整个文件的第一行
w:跳到下一个单词开头位置b:跳到上一个单词开头位置
u:撤销上一步操作ctrl+r:反撤销
v:从当前行的开头选中到光标所在位置为止V:选中光标所在的整行
>>:向右移动代码<<:向左移动代码.:重复执行上一步操作
{:上一片代码}:下一片代码
r:替换当前光标所在的单个字符R:替换光标以及后面的字符
/:从上向下搜索?:从下向上搜索n:下一个符合条件的内容N:上一个符合条件的内容
shift+zz:保存并退出
1.3 末行模式
:%s/abc/123/g 替换当前文件中的所有abc为123:1,20/abc/123/g 替换当前文件的1-20行中的abc为123:q 退出:q! 不保存退出:wq! 保存退出
2. vim默认显示行数编号
- 手动显示:在vim命令行模式下输入:
set nu - 取消显示:在vim命令行模式下输入:
set nonu - 永久自动显示:修改一个配置文件,输入命令:
vim ~/.vimrc,打开后是一个空文件,添加set nu,保存退出,再次进入vim编辑器,就能自动显示出行号。取消就是删除这个文件即可。