Linux-vim使用教程
模式
- 一般命令模式(默认模式)
命令输入方式:类似于打游戏放技能,按不同字符,即可进行不同操作。可以复制、粘贴、删除文本等。 - 编辑模式
在一般命令模式里按下i
,会进入编辑模式。按下ESC
会退出编辑模式,返回到一般命令模式。 - 命令行模式
在一般命令模式里按下:
/
?
三个字母中的任意一个,会进入命令行模式。命令行在最下面。可以查找、替换、保存、退出、配置编辑器等。操作
| 按键 | 功能 |
| —- | —- |
|h
或←
| 光标向左移动一个字符 |
|j
或↓
| 光标向下移动一个字符 |
|k
或↑
| 光标向上移动一个字符 |
|l
或→
| 光标向右移动一个字符 |
|n``<Space>
| n代表数字,按下数字再按空格,光标会向右移动n个字符 |
|0
或[Home]
| 光标移动到本行开头 |
|$
或[End]
| 光标移动到本行末尾 |
|G
| 光标移动到最后一行 |
|:n
或nG
| 光标移动到第n行 |
|gg
| 光标移动到第一行,相当于1G |
|n``<Enter>
| 光标向下移动n行 |
|/word
| 往光标以下寻找第一个值为word的字符串 |
|?word
| 往光标以上寻找第一个值为word的字符串 |
|n
| 重复前一个查找操作 |
|N
| 反向重复前一个查找操作 |
|:n1,n2s/word1/word2/g
| 在n1行与n2行之间寻找word1这个字符串,并将其替换为word2 |
|:1,$s/word1/word2/g
| 将全文的word1替换为word2 |
|:1,$s/word1/word2/gc
| 将全文的word1替换为word2,并且在替换前要求用户确认 |
|v
| 选中文本 |
|d
| 删除选中的文本 |
|dd
| 删除当前行 |
|y
| 复制选中的文本 |
|yy
| 复制当前行 |
|p
| 将复制的数据在光标的下一行 / 下一个位置粘贴 |
|u
| 撤销 |
|Ctrl
+r
| 取消撤销 |
|>
| 大于号,将选中的文本整体向右缩进一次 |
|<
| 小于号,将选中的文本整体向左缩进一次 |
|:w
| 保存 |
|:w!
| 强制保存 |
|:q
| 退出 |
|:q!
| 强制退出 |
|:wq
| 保存并退出 |
|:set paste
| 设置为粘贴模式,取消代码自动缩进 |
|:set nopaste
| 取消粘贴模式,开启代码自动缩进 |
|:set nu
| 显示行号 |
|:set nonu
| 隐藏行号 |
|gg=G
| 将全文代码格式化 |
|:noh
| 关闭查找关键词高亮 |
|Ctrl
+q
| 当vim卡死时,可以取消当前正在执行的命令 |
注意:每次用vim编辑文件时,会自动创建一个 .filename.swp
的临时文件。如果打开某个文件,该文件的swp文件已存在就会报错。此时有两个解决方法:1.找到正在打开该文件的程序并退出它。2.直接删掉该swp文件。