删除、替换字符
x #每次删除光标处的字符,删除之后,光标后面的字符串向光标方向移动一个位置 X #每次删除光标前面一个字符,删除之后,光标以及后面的字符串会向行首方向移动一个位置 r #替换光标位置的一个字符替换字符的方法: 光标移动到准备替换的字符位置,按 r键,然后按替换之后的字符键,光标位置的字符就被目标字符替换了
撤销、重做
u #撤销 ctrl r #重做在多行操作的时候,有时候会出现误操作,这时候可以按 u 键撤销误操作
可以多次进行撤销,当你每按一次 u键的时候,之前做过的操作就会被撤销一次
如果发现撤销的时候进行了错误的撤销操作,希望把刚才做过的事情重做一次,可以按 ctrl r 键进行重做
查找、替换
/string #查找指定字符串,按n向后查找下一个,按N向前查找下一个 /string\c #查找指定字符串,不区分大小写,按n向后查找下一个,按N向前查找下一个 /string\C #查找指定字符串,区分大小写,按n向后查找下一个,按N向前查找下一个 :s/old/new #用new字符串替换当前行中第一次匹配达到的old字符串 :s/old/new/g #用new字符串替换当前行中所有的old字符串 :n,ms/old/new #第n行到第m行之间,用new字符串替换每一行中第一次匹配到的old字符串 :n,m/s/old/new/g #第n行到第m行之间,用new字符串替换每一行中所有匹配到的old字符串 :%s/old/new/g #用new字符串替换文件中所有匹配到的old字符串如果想要像windows上记事本查找替换一样,每次替换之前有是否替换的确认,只需要在替换命令后面加一个c字符
上面的例子中,:%s/we/WE/gc 命令是把文件中所有的we字符串全部替换成WE字符串,每次替换之前人工确认,如果把命令中的 c字符去掉,就是自动全部替换功能了
执行外部命令
:! cmd #执行cmd命令 :r !cmd #执行cmd命令,把命令的结果插入光标后面一行上面例子中,输入 :! date 是在vim中执行 date命令,命令结果会显示在下面,再次按 ENTER键回到了vim
当输入 :r !date时,```date``命令的结果插入到光标后面一行
批量处理
在可视模式下可以对文件进行批量的操作,比如: 批量选中,批量修改
我们平常用的比较多的批量操作是块可视模式
v #字符可视模式,以字符为单位选择 V 或 shift v #行可视模式,以行为单位选择 ctrl v #块可视模式,以块为单位选择上面例子中,在vim中按 ctrl v进入块可视模式,在屏幕的左下角有显示 --可视 块-- 字样
接着通过 j k h l选中了第6行到第9行中,每一行的前三列这一块字符串
然后按 shift i切换到插入模式,把前三列字符串修改为 123,修改的时候只有第6行显示修改过,修改完之后连续按两次 esc键,前三列就全部变成了123
紧接着,再次按 ctrl v进入快可视模式,选中第6行到第9行前两列,然后按 d键,就把前两列删除了
小结本文介绍了vim的一些常见用法,掌握这些常见用法足够满足工作的需要了,关于vim的命令非常多,远远不止本文介绍的内容,更多的用法请参考vim文档