linux 下vim的使用教程
vim中的六种基本模式
- 普通模式(normal mode)
启动vim后默认处于正常模式。 - 插入模式 (insert mode)
在这个模式中,大多数按键都会向文本缓冲中插入文本。 - 可视模式 (visual mode)
这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上 - 选择模式 (select mode)
这个模式中,可以用光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。 - 命令行模式 (command line mode)
在命令行模式中可以输入会被解释成并执行的文本。 - Ex模式 (Ex mode)
vim底层是行编辑器ex,这个模式就是ex编辑器的操作了。
模式间切换
1. 普通模式——插入模式
按键 | 动作 |
---|---|
i | 在光标所在处进入插入模式 |
I | 在光标所在处前面进入插入模式 |
o | 在光标所在行的下一行添加一新行进入插入模式 |
O | 在光标所在行的上一行添加一新行进入插入模式 |
a | 在光标所在处后面进入插入模式 |
A | 在光标所在行的行尾进入插入模式 |
c | 删除要修改的内容并进入插入模式 |
C | 删除整行并进入插入模式 |
2. 普通模式——可视模式
按键 | 动作 |
---|---|
v | 可视模式 |
Ctrl + v | 可视模式 (列) |
Shift + v | 可视模式 (行) |
3. 普通模式——选择模式
按键 | 动作 |
---|---|
gh | 进入选择模式(字符) |
gH | 可视模式 (行) |
g Ctrl+h | 可视模式 (列) |
4. 普通模式——命令行模式
按键 | 动作 |
---|---|
: | 进入命令行模式 |
5. 普通模式——Ex模式
按键 | 动作 |
---|---|
: enter Q | 进入Ex模式 |
6. 插入模式——普通模式
7. 可视模式——普通模式
8. 选择模式——普通模式
9. 命令行模式——普通模式
按键 | 动作 |
---|---|
Esc(两次Esc) | 进入普通模式 |
10. Ex模式——普通模式
按键 | 动作 |
---|---|
‘visual’ | 进入普通模式 |
各模式下功能和使用方法
- 普通模式
-
移动光标
按键 动作 e或E 下一个单词词尾 w或W 下一个单词词首 b或B 当前或上一个单词词首 ^ 行首 0 行首 $ 行尾 ( 上个句首 ) 下个句首 { 下个段首或段尾 } 下个段首或段尾 gg 文件首行 G 文件尾行 h 向左移动光标 j 向下移动光标 k 向上移动光标 l 向右移动光标 ← 向左移动光标 ↓ 向下移动光标 ↑ 向上移动光标 → 向右移动光标 -
删除
许多改变文本的命令都由一个操作符和一个动作构成。
使用删除操作符 d 的删除命令的格式如下:d motion
x删除单个字符,#x删除光标后#个字符。
X退格删除单个字符,#X删除光标前#个字符。按键 动作 x 删除光标所在位置的一个字符 X 删除光标所在位置前的一个字符 dw 从光标处删除至一个单词的起始 de 从光标处删除至直到单词末尾 d$ 当前光标删除到行末 dd 删除光标所在行 dd 删除光标后#行 -
粘贴
输入p将缓存区中的内容粘贴到光标后,如果是整行内容将粘贴到行后。
输入P将缓存区中的内容粘贴到光标前,如果是整行内容将粘贴到行前。 -
复制
使用复制操作符 y 的复制命令的格式如下:y motion按键 动作 y$ 复制到行尾 y^ 复制到行首 yy 复制光标所在行 -
修改
使用修改操作符 c 的修改命令的格式如下:c motion,删除并进入插入模式。按键 动作 c$ 删除到行尾并进入插入模式 c^ 删除到行首并进入插入模式 cc 删除光标所在行并进入插入模式 -
撤销
使用撤销操作符u,撤销上次的修改内容。 -
撤销的撤销
使用Ctrl+R撤销上次的撤销操作。 -
翻屏
Ctrl+f:向后翻一屏
Ctrl+b:向前翻一屏
Ctrl+d:向后翻半屏
Ctrl+u:向前翻半屏
5. 命令行模式
命令 | 动作 |
---|---|
:q | 退出 |
:w | 保存 |
:q! | 强制退出不保存修改 |
:wq | 保存并退出 |
:x | 保存并退出 |
:w /PATH/TO/SOMEWHERE | 另存为指定的文件 |