程序员每天的工作都是写代码,那么如何在构思完成后快速的完成实现就是一个小手艺了。从小的学习经验告诉我,在学习一项知识的时候,系统化是最科学的方法。这篇文章就是按照编辑代码的思维方式来梳理一遍vim中的命令。
基本模式切换
命令 作用 i 在当前光标前的位置,进入到插入模式 a 在当前光标后的位置,进入到插入模式 I 在行首的位置,进入到插入模式 A 在行尾的位置,进入到插入模式 R 在当前光标位置,进入到替换模式 ESC 退出插入模式/替换模式,进入到命令模式 光标的基本移动
命令 作用 h 前一个字符,直到行首 l 后一个字符,直到行尾 j 后一行 k 前一行 光标的单词移动
命令 作用 w 后一个单词词头,标点符号作为单独单词 W 后一个单词词头,以空格作为单词分隔 b 前一个单词词头,标点符号作为单独单词 B 前一个单词刺头,以空格作为单词分隔 e 后一个单词词尾,标点符号作为单独单词 E 后一个单词词尾,以空格作为单词分隔 ge 前一个单词词尾,标点符号作为单独单词 gE 前一个单词词尾,以空格作为单词分隔 区域选中
命令 作用 v 选中当前字符,并进入[字符选择模式] V 选中当前行,并进入[行选择模式],注意开了选择模式后关闭大小写,建议用shift+v ctrl+v 进入[块选择模式] vw 选中当前光标到单词词尾,标点符号作为单独单词 vW 选中当前光标到单词词尾,以空格作为单词分隔 viw 选中当前全单词,标点符号作为单独单词 viW 选中当前全单词,以空格作为单词分隔 ESC 退出选择模式,进入命令模式 基本删除操作
命令 作用 x 命令模式下,删除当前字符 X 命令模式下,删除当前光标的前一个字符 back-space 插入模式下删除前一个字符,替换模式下清除替换 del 插入模式下删除后一个字符,替换模式下删除后一个字符(不是清除替换) 高效删除
命令 作用 dw 删除当前光标到单词词尾,标点符号作为单独单词 dW 删除当前光标到单词词尾,以空格作为单词分隔 diw 删除当前整个单词,标点符号作为单独单词 diW 删除当前整个单词,以空格作为单词分隔 D/d$ 删除当前光标到行尾 dd 删除当前整行 高效复制
命令 作用 yw 复制当前光标到单词词尾,标点符号作为单独单词 yW 复制当前光标到单词词尾,以空格作为单词分隔 yiw 复制当前整个单词,标点符号作为单独单词 yiW 复制当前整个单词,以空格作为单词分隔 y$ 复制当前光标到行尾 yy 复制当前整行 删除并进入插入模式
命令 作用 cw 删除当前光标到单词词尾,标点符号作为单独单词,并进入插入模式 cW 删除当前光标到单词词尾,以空格作为单词分隔,并进入插入模式 ciw 删除当前整个单词,标点符号作为单独单词,并进入插入模式 ciW 删除当前整个单词,以空格作为单词分隔,并进入插入模式 C/c$ 删除当前光标到行尾,并进入插入模式 cc 删除当前整行,并进入插入模式 缩进调整
命令 作用 >> 为当前行/选中区域增加缩进 << 为当前行/选中区域减少缩进 5>> 为当前5行增加缩进 5<< 为当前5行减少缩进 >% 为当前括号区域增加缩进 <% 为当前括号区域减少缩进 > i { 为当前括号内的区域增加缩进 < i { 为当前括号内的区域减少缩进 基本跳转
命令 作用 :5 跳转到第5行 gg 跳转到文档开头 G 跳转到文档末尾,建议用shift+G 快速查找
命令 作用 /xxx 查找xxx ?xxx 查找xxx shift+* 查找当前单词