年底了,故事总是会有很多。刚了一波通宵加班,趁着有时间,过了一遍Vim教程,顺便汇总下常用命令。对于以 OSX / Linux为开发环境的伙伴们,应该并不陌生。因其轻便,扩展性,可定制化,一直很受开发者追捧。高阶大神,袖中必有深藏。Vim编辑器简洁易用,在终端上可用来快速查看修改文档。虽然与其他编辑器如WebStrom, VScode相比,功能扩展相对欠缺,对新手朋友不太友好。但胜在多数Linux系统已附带,开箱即用,终端直接使用,无需多开一个应用窗口Vim学习的过程不是两三天即可入境,懒惰如笔者,几天不敲,命令忘的七八。时不时还得翻出来看看,至今仍以新手自居。作为一名前端开发工程师,如果你想秀操作用Vim来写HTML/CSS/JavaScript,我只想说一句,“小伙子,你很6啊!”。前言 vi/vim的区别vim 是 vi 的升级版本,它不仅兼容vi的所有指令,还有新增了一些新的特性。vi filenamevim filename// 两者同样的功能,能少敲一个字母,所以我们就用vi吧“工具总须多磨,方才用的趁手。”Mac 终端键入 vimtutor 即可进入Vim入门教程,30分钟足以让你应对Vim日常操作。常规操作命令说明x删除光标下的字符X删除光标左边的字符s修改一个字符(与r的区别,修改后直接进入Insert模式)i光标前插入字符a光标后插入字符A行尾插入字符o光标下方新建一行并进入Insert模式O (字母)光标上方新建一行并进入Insert模式r替换字符(单个)R替换字符(多个)cw替换文本直到单词末尾(ce也可)c$替换文本直到行尾dw删除单词 (de, d2w)d$删除到行尾D删除到行尾S删除到行为,并进入Insert模式dd删除整行y复制yy复制整行 (yw, ye)p粘贴到光标之后P粘贴到光标之前u撤销.重复上一次操作:!执行外部名 (:!dir/:ls)%查找配对的括号 ), }, ]v motion :w选择性保存Ctrl + D查看可能的补全光标移动命令说明h左l右k上j下0 (数字)行首$行尾w下一个单词起始处nw (2w)n可为数字,表示移动两个单词e单词末尾(与w的区别)gg文件起始处G文件末尾处退出命令说明:wq保存并退出ZZ保存并退出:q!丢弃修改并退出 (q退出,有修改的话q不能退出):e!丢弃修改并打开原文件查找并替换命令说明:s/old/new/g查找old并替换为new,g代表整行匹配:#, #s/old/new#, #代表首尾行号:%s/old/new/g全文匹配替换:%s/old/new/gc全文匹配替换,并每次替换会弹出确认提示翻页命令说明Ctrl + e向下滚动一行Ctrl + y向上滚动一行Ctrl + f向下翻一页Ctrl + b向上翻一页Ctrl + u向上翻半页Ctrl + d向下翻半页文件操作命令说明:e + filename打开新文件:r + filename读取文件并插入到当前文件选项设置命令说明:set ic忽略大小写:set is部分匹配(like):set hls高亮匹配:set nu显示行号分屏启动vim命令说明vim -on file1 file2…水平分屏vim -On file1 file2…垂直分屏关闭分屏命令说明Ctrl + w  c关闭当前窗口(如果是最后一个,无法关闭)Ctrl + w q关闭当前窗口(如果是最后一个,则退出vim)分屏命令说明Ctrl + w s上下分屏Ctrl + w v左右分屏:sp filename左右分屏,且打开一个新的文件:vsp filename上下分屏,且打开一个新的文件切换分屏(光标切换)命令说明Ctrl + w l右边Ctrl + w h左边Ctrl + w j上边Ctrl + w k下边分屏尺寸调整TIPS: (上下分屏生效)命令说明Ctrl + w =所有屏一样高度Ctrl + w +增加高度Ctrl + w - 减少高度写在结尾这么多命令要记,想对Vim说喜欢真不容易,按耐不住就新开VScode。少年莫慌,很多事情,难在开头,当你学会了,才会感谢当初的付出。本文仅对常用的一些命令做了汇总,Vim的玩法还有很多。在此推荐易水博客的《Vim使用进阶》系列,干货满满。寒梅飘香,这个寒冬,与诸君互勉。参考文档:vi和vim的区别vim常用命令总结vi/vim使用进阶作者:以乐之名本文原创,有不当的地方欢迎指出。转载请指明出处。