在插入模式下运行命令
在插入模式下,按下ctrl+o两个键,可以暂时离开插入模式,执行命令,命令执行完自动返回插入模式。比如按下ctrl+o,然后,输入2w,输入的位置会移动到当前之后的第二个单词的开头字符。有一些常用的mapping可以加入vim的配置文件
inoremap <C-f> <Right>
inoremap <C-b> <Left>
inoremap <C-a> <C-o>^
inoremap <C-e> <C-o>$
然后打开vim,在插入模式下,按住ctrl+f,右移光标,ctrl+b,左移光标,ctrl+a移动到开头,ctrl+e移动到结尾。
各个进入插入模式的命令
命令 | 描述 |
---|---|
a | 在当前光标的后面开始插入文本 |
A | 在当前行的末尾开始插入文本 |
i | 在光标的位置开始插入文本 |
I | 在当前行的第一个非空字符前开始插入文本 |
gI | 在当前行首开始插入文本 |
gi | 在上一次插入的位置开始插入文本 |
O | 在当前行的上面新起一行开始插入文本 |
o | 在当前行的下面新起一行开始插入文本 |
s或者cl | 删除光标当前位置的字符,然后进入插入模式 |
S或者cc | 删除当前一行,然后进入插入模式 |
C | 删除当前光标到行末尾的所有字符,然后进入插入模式 |
c数字c | 删除指定行数的文本,然后进入插入模式 |
插入模式下的一些快捷键
快捷键 | 描述 |
---|---|
ctrl+w | 删除光标前的一个单词 |
ctrl+t | 相当于在行首按了一下TAB键 |
ctrl+d | 与ctrl+t |
ctrl+a | 插入按esc前插入的那个数据] |
ctrl+h | 删除光标前一个字符 |
ctrl+y | 输入上一行该位置的字符 |
ctrl+o | 临时执行普通命令 |
ctrl+n | 向后补全 |
ctrl+p | 向前补全 |
ctrl+v | 以十进制的ASCII值插入一个字符 |
ctrl+vx | 以十刘进制的ASCII值插入一个字符 |
ctrl+vu | 以十刘进制的Unicode值插入一个字符 |
ctrl+k | 输入有向图 |
一次在多行插入数据
- 按下ctrl+v,进入块选择模式
- 通过上下左右,选择你要插入的行
- 按下shift+i,进入编辑模式
- 输入你要插入的字符
- 按下Esc
- 这种情况下,按Ctrl+c是没有用的
粘贴数据的方法
需要在命令模式下,输入:set paste,然后,你按下i进入到编辑模式后,左下角就会显示:-- INSERT (paste) --,这样,粘贴进来的数据格式就不会乱,退出编辑模式,就是:set nopaste
一些高级的进入编辑模式的方法
命令 | 描述 |
---|---|
g + ? + m | Perform rot13 encoding, on movement m |
n + ctrl + a | 当前光标下的数字加n,如果不是数字没影响 |
n + ctrl + x | 当前光标下的数字减n,如果不是数字没影响 |
g + q+ m | Format lines of movement m to fixed width |
!mc | Filter lines of movement m through command c |
n!!c | Filter n lines through command c |
:r!c | Filter range r lines through command c |