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文件。




