Vim 高效编辑实战
在服务器上改配置、看日志、修脚本时,经常会遇到一个现实:没有图形界面,只有终端。这时候 Vim 几乎是唯一的选择。很多人第一次打开 Vim 就被吓住了:敲键盘没反应、不知道怎么退出,只记得一句玩笑话——学会退出 Vim 就是第一课。其实 Vim 的学习曲线虽然陡,但收益很实在:手不离键盘就能完成大部分编辑工作,改几十行配置比来回点鼠标快得多。
一、先搞懂三种模式
Vim 的核心是模式。正常模式用来移动和执行命令,按 Esc 回到这个模式;插入模式用来输入文字,按 i、a、o 进入;命令模式用来保存、退出和搜索,按冒号进入。刚开始最容易犯的错,是在正常模式下直接打字,结果打出一串命令。记住一个习惯:做任何操作前先按一下 Esc,心里清楚自己在哪个模式,编辑就不会乱。
二、移动光标要成体系
只用方向键就浪费了 Vim 一半的价值。常用的移动键有:h、j、k、l 对应左、下、上、右;w 跳到下一个单词开头,b 回到上一个单词开头;0 跳到行首,$ 跳到行末;gg 回到文件开头,G 跳到文件末尾。配合数字效果更好,比如 5j 向下移动五行,3w 向前跳三个单词。读日志时,先用 G 跳到末尾,再用问号加关键字向上搜索,比一页一页翻快得多。
三、编辑动作都是动词加对象
Vim 的编辑命令像一句话:动词加对象。d 是删除,c 是修改,y 是复制,p 是粘贴。dw 删除一个单词,dd 删除一整行,yy 复制一整行,cc 修改一整行,u 撤销,Ctrl 加 r 恢复。先用 v 进入可视模式选中一段,再按 y 复制或按 d 删除;用大于号缩进选中的代码块,用点号重复上一次修改。改 Nginx 配置时,把一段 server 块复制到新位置,往往只需要 yy、G、p 三个动作。
四、查找和替换要准
斜杠加关键字是在文件中向下搜索,问号则是向上搜索,按 n 跳到下一个匹配,按 N 跳到上一个。替换用 substitute 命令:冒号、百分号、s、斜杠、旧内容、斜杠、新内容、斜杠、g,就能把全文的旧词换成新词。想把配置文件里的 8080 批量改成 9090,一条命令就够了。替换前先用斜杠搜索确认匹配范围,避免误改;加 c 参数可以逐个确认,适合不太确定的大面积替换。
五、分屏和多文件
同时看两个文件时,分屏很有用。冒号、sp 横向分屏,冒号、vsp 纵向分屏,窗口之间用 Ctrl 加 w 再加方向键切换。打开多个文件可以用冒号、e 加文件名切换,或者用标签页:冒号、tabnew 打开新标签,gt 在标签之间切换。
六、一个真实的改配置例子
假设要修改某台服务器上的服务端口。先用 vim 打开配置文件,斜杠搜索旧端口号确认位置,按 i 进入插入模式改成新值,按 Esc 回到正常模式,冒号、w 保存。改完再用冒号、q 退出,重启服务验证。如果改错了也不用慌:按 u 撤销,或者直接冒号、q 加感叹号退出不保存。做改动前养成一个小习惯:复制一份备份,这样即使改乱了也能立刻恢复。
七、配置不用贪多
刚开始只需要几行基础配置:开启行号、语法高亮、设置缩进为四个空格、自动缩进,写在 vimrc 文件里即可。用熟了基本操作,再按需加一个文件树或者模糊搜索插件。配置的目标是减少重复动作,而不是把编辑器装饰得花里胡哨。
小结
学 Vim 不用一次记住所有命令,先练熟二十个最常用的:模式切换、四向移动、单词跳转、删除复制粘贴、撤销、搜索替换、保存退出。每天在真实任务里用它改一次配置、看一次日志,两周左右手感就形成了。工具的价值不在花哨,而在关键时刻不掉链子。
- 点赞
- 收藏
- 关注作者
评论(0)