模式
- 默认是一般命令模式,对于多个字符组成的命令,vim右下角会显示已输入的字符。
- 按i进入编辑模式。
- 按v进入可视化(Visual)模式。
- 按/:?中的一个进入命令行模式。
- 在编辑模式或命令行模式中按ESC可以返回一般命令模式。
光标
- vim中的光标类似于insert模式,输入字符是向光标中的字符前插入。
常用命令
- 光标的上下左右移动:h、j、k、l分别对应上、下、左、右。
- 行内移动:
- n
:光标向后移动n个字符,若本行字符不够则移动到下一行。 - 0或Home:光标移动到本行开头。
- $或End**:光标移动到本行末尾。
- n
- 行间移动:
- G:光标移动到最后一行的开头。
- gg:光标移动到第一行的开头。
- :n或nG或ngg:光标移动到第n行的开头。
- n
:光标向下移动n行,当然光标也是停在行的开头。
- 查找与替换:
- /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,替换前要求用户确认。
其实上面三条命令并不难背,s/word1/word2是查找并替换字符串命令,其前面的n1,n2是行限定,前面也说了\(有末尾的意思**,所以**1,\)能表示全文;其后则是一些权限问题,在此不多赘述。
- Visual模式:
- 按v进入可视化模式,在此模式中可以选中文本,此选中以进入visual模式时光标停留的位置为起点,在该模式中上面提到的光标移动命令基本都可用。
- 一般命令模式对文本的操作:
- d:删除选中的文本。
- dd删除当前行。
- y:复制选中的文本。
- yy:复制当前行。
- p:将复制的内容粘贴到光标目前位置。粘贴后粘贴的字符串的头部会在光标的粘贴前位置,光标则会移动到粘贴的字符串尾部。
- u:撤销。
- Ctrl r:取消撤销。
- Shift >:将选中的文本整体向右移动。
- Shift <:将选中的文本整体向左移动。
- gg=G:将全文格式化。
- :set nu:显示行号。
- :set nonu:隐藏行号。
- 对文件的操作:
- :w:保存文件。
- :w!:强制保存文件。
- :q:退出。
- :q!:强制退出。
- :wq:保存并退出。
- Ctrl q:强制关闭目前正在执行的命令。
这些命令只是一小部分,但是也足够举一反三到其他命令,以后如果有新的经常用的命令会再更新。