vim教程
模式
- 一般命令模式(默认)
不同的字符对应不同的操作,可复制、粘贴、删除文本等。 - 编辑模式
在一般命令模式中按i即可进入编辑模式。
按ESC返回一般命令模式。 - 命令行模式
在一般命令模式下,:/?中的一个即可进入命令行模式。
命令行在最下面,可以查找、替换、保存、退出、配置编辑器等。
功能
- 命令行模式下的文本编辑器。
- 根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能。
- 使用方式:输入
vim 文件名
如果文件存在,则打开它;如果不存在,则创建并命名。
常用操作
- 转换模式
- i:进入编辑模式
- esc:进入一般命令模式
- 移动光标
- ↑↓←→ 或 KJHL:上、下、左、右移动光标。
- n+Space:表示光标往后移动n个字符,n为想要的移动的字符数。
- 0 或 home:光标移动到本行开头。
- $ 或 End:光标移动到本行末尾。注意:在一般命令模式下只能移动到倒数第二个字符处。
- G:光标移动到最后一行。
- :+n 或 nG+:+n:光标移动到第n行。
- gg 或 1G:光标移动到第一行。
- n+Enter:光标向下移动n行。
- 查找
- /+string:从当前光标往下寻找第一个值为string的字符串。
- ?+string:从当前光标往上寻找第一个值为string的字符串。
- n:重复前一个查找操作,(例如上一条是向下寻找string,则一直向下寻找)。
- N:反向重复前一个查找操作,(例如上一条是向下寻找string,则N为向上寻找)。
- 替换
- :n1,n2s/string1/string2/g:将n1行和n2行之间的string1替换为string2。
- 将上个操作中的n1=1,n2=$:将全文的string1替换为string2。
- 在上个操作的末尾g后面加上c:将全文的string1替换为string2,且在替换前要求用户确认。
- 选择、删除、复制、粘贴
- v:选中文本。
- d:删除选中的文本。
- dd:删除当前行。本质是剪切,dd删除的内容可以粘贴。
- y:复制选中的文本
- yy:复制当前行
- p:将复制的数据在光标的下一行/下一个位置粘贴
- 缩进
- >:将选中的文本整体向右缩进一次
- <:将选中的文本整体向左缩进一次
- 保存、退出
- :+w:保存
- :+w!:强制保存
- :+q:退出
- :+q!:强制退出
- :+wq:保存并退出
- 其他操作
- u:撤销
- Control+r:取消撤销
- Control+q:取消当前正在执行的命令,常用于vim卡死时。
- :+
set paste
:设置成粘贴模式,取消代码自动缩进 - :+
set nopaste
:取消粘贴模式,开启代码自动缩进 - :+
set nu
:显示行号 - :+
set nonu
:隐藏行号 - gg=G:将全文代码格式化
- :+
noh
:关闭查找关键词高亮(查找的关键词会高亮显示,退出后依然高亮,影响阅读),重新查找关键词时,高亮会自动启用。