文章目录
vim常见模式主要有三种,分别为命令模式
、末行模式
、编辑模式
,vim大部分命令操作都需要在指定模式下才能生效,熟悉命令作用的模式可以提升工作效率。
- 命令模式: 光标移动、复制、粘贴、撤销、恢复等;
- 末行模式: 保存、另存为、退出、调用外部命令、开启行号、开启高亮等;
- 编辑模式: 修改文本内容、向上/向下翻屏;
一、命令模式
1.1. 光标移动
以下所有命令需要在命令模式下生效,Page Up/Page Down编辑模式下也可生效。
- 首行【gg】: 将鼠标光标移动到首行;
- 末行【GG】: 将鼠标光标移动到末行;
- 向上翻屏【Page Up】: 向上翻屏;
- 向下翻屏【Page Down】: 向下翻屏;
- 移动到第10行【10G】: 将鼠标光标移动到第10行;
- 向上移动10行【10↑】: 将鼠标光标向上移动10行;
- 行首【shift+^】: 将鼠标光标移动到行首;
- 行尾【shift+$】: 将鼠标光标移动到行尾;
1.2. 复制/粘贴
- 复制当前行【yy】: 复制光标所在行的内容;
- 复制指定行【数字yy】: 复制指定数字的行,如"10yy"则会选择当前行和后面的9行;
- 选择性复制【Ctrl+v,选择内容后,y】: 相当于鼠标选择内容,然后再复制;
- 粘贴【p】: 在光标所在处粘贴剪切板内容;
1.3. 剪切/删除
- 删除当前行【dd】: 删除当前行,下面内容自动上移;
- 删除多行【数字dd】: 删除数字行,下面内容自动上移;
- 删除当前行内容,保留行为空白【
:D
】: 删除当前行,删除后保留当前行为空白;
1.4. 撤销/恢复
- 撤销【u】: 撤销修改;
- 恢复【Ctrl+r】: 恢复修改;
二、末行模式
2.1. 保存/退出
- 保存退出-方式1【:wq】: 保存内容并退出,由w保存和q退出组合;
- 保存退出-方式2【:x】: 保存并退出-推荐使用;
- 另存为【:w 路径】: 将文件内容另存为新文件;
- 退出【:q】: 退出文件,如果文件内容有编辑则无法退出;
- 强制退出【:q!】: 强制退出,修改的内容不会被保存;
- 文档加密【:X】: 文档加密;
2.2. 查找/搜索/替换
- 内容查找/搜索【/关键字】: 根据关键字回车搜索定位,通过n查找下一个,通过N查找上一个;
- 内容替换-方式1【
:s/替换前内容/替换后内容
】: 当前行搜索指定内容,只替换第一个; - 内容替换-方式2【
:s/替换前内容/替换后内容/g
】: 当前行搜索指定内容,替换当前行全部匹配结果; - 内容替换-方式3【:%s/替换前内容/替换后内容】: 整个文档搜索指定内容,但只替换第一个;
- 内容替换-方式4【:%s/替换前内容/替换后内容/g】: 整个文档搜索指定内容,替换所有匹配内容;
2.3. 显示行号/内容高亮
- 显示行号【:set nu】: 显示行号;
- 取消高亮【:nohl】: 取消关键字高亮;
2.4. 执行外部命令
- 调用外部命令【:! 外部命令】: 执行外部命令;
三、编辑模式
- 进入编辑模式【a,i】: a-光标在当前字符后,i-光标在字符前
- 向上翻屏【Page Up】: 向上翻页
- 向下翻屏【Page Down】: 向下翻页
- 粘贴【鼠标右键】: 粘贴剪切板内容,命令模式下快捷键p也可以粘贴
四、全局配置
- 当前用户配置【~/.vimrc】: 全局配置中可以设置一些默认配置,例如默认每次打开都显示行号,则只需要在该配置文件中添加
set nu
; - 全部用户配置【/etc/vimrc】: 全局配置中可以设置一些默认配置,例如默认每次打开都显示行号,则只需要在该配置文件中添加`set nu;
五、异常处理
*.swp异常提示
异常退出vim,再次进入的时候可能会出现*.swp异常提示,只需要将对应名称的隐藏文件删除,然后再次进入编辑即可。
删除文件:rm -f *.swp