# vim - 编辑器 安装: $ yum install -y vim-enhanced 用法: $ vim 文件名 ## Normal模式 常用操作: `i`:插入模式,插入模式下按`ESC`回到Normal模式 `x`:删除光标所在字符 `u`:撤销 `:/`:搜索 `:wq`:存盘并退出;`:q!`:不存盘强制退出;`:wq!`:强制存盘并退出 `dd`:剪切当前行 `dw`:剪切一个单词 `yy`:复制当前行 `y`:从当前开始复制,需要配合移动光标来使用。 `p`:粘贴 光标移动: `:0`:数字零,移动到行首 `^`:到本行第一个不是blank字符的位置(blank:空格、tab、换行、回车等) `$`:移动到行尾 `g_`:移动到本行最后一个非blank字符处 `n`:配合`:/`筛选,向下查找 `N`:配合`:/`筛选,向上查找 `gg`:移动到行首 `G`:移动到行尾 `nG`:移动到第n行 `e`:移动到下个单词的词尾 `E`:移动到下个单词的词头 `w`:按单词移动,光标停在下一个单词开头处 `W`:按单词移动,光标停在下一个单词末尾处 `H`:移动到屏幕最顶端 `M`:移动到屏幕中间 `L`:移动到屏幕最底端 `*`和`#`:匹配光标当前所在的单词,移动光标(`*`下一个,`#`上一个) `%`:匹配括号移动,包括`(`、`{`、`[`。 `:e 文件路径`:打开一个文件 `:w`:存盘 `:w 文件路径`:将当前文件存盘到指定路径 `:x`:存盘并退出 `:bn`:切换到下一个文件 `:bp`:切换到上一个文件 `:set nu`:显示行号 `:nohl`:清除搜索结果高亮 `.`:重复上次命令 `N`:重复命令N次,例如`3dd`:删除3行 ### 分屏 `:sp filename`:水平分屏,filename为文件路径 `:vsp filename`:垂直分屏,filename为文件路径 `:sp filename1 filename2`:水平分屏,filename1为文件1路径,filename2为文件2路径 `ctrl+w`+`方向键`:切换分屏;例如`ctrl+w`+`h`:切换到左边的分屏 ### 宏录制 自动输入1到100: 1. 先在文本中输入`1` 2. `qa`:开始录制宏`a`,相当于把接下来的操作记录在`a`中。 3. `Yp`:复制`1`,并在下一行粘贴 4. `ctrl`+`a`:将`1`加1 5. `q`:停止录制宏 * `@a`:执行宏`a`,相当于执行`1`,`2`,`3`,`4` * `@@`:执行宏`a`的副本,相当于执行`@a` 6. `100@@`:执行宏`a`的100次副本 ## 插入模式 进入插入模式的各种方式: `a`:在光标后插入 `A`:在行末尾处插入 `i`:在光标前插入 `I`:在行首插入 `o`:在当前行下插入一空行 `O`:在当前行上插入一空行 `cw`:替换从光标所在位置后到一个单词结尾的字符 ### 自动补全命令 `ctrl`+`n`:自动补全,选择下一个 `ctrl`+`p`:自动补全,选择上一个 ## 块操作 进入Visual模式: `v`:选中字符 `V`:选中行 `ctrl`+`v`:选中块 Visual模式下的操作: `y`:复制选中 `d`:删除选中 `gU`:把选中的字符变成大写 `gu`:把选中的字符变成小写 组合使用: `vi"`:选中从光标处到当前单词结尾处 ## 组合连招 #### 多行复制 1. `set nu`:显示行号 2. `420G`:移动到第420行 3. `y`:复制模式 4. `430G`:移动到第430行 5. `p`:粘贴 配合可视化: 1. `V`:可视行模式 2. `y`:复制 3. `p`:粘贴 #### 代码块注释 1. ctrl+v:进入可视块模式 2. ctrl+d:向下翻半屏; ctrl+u:向上翻半屏 3. I:光标所在行首插入 4. 输入`#` 5. ESC:退出插入模式即可