- 普通模式是一进入的模式,插入模式或命令行模式时只需要按
Esc
或者Ctrl+[
即可进入普通模式 - 普通模式中按
:
进入命令行模式 - 普通模式中按i(在前插入)或a(在后附加)键都可以进入插入模式
两篇比较好的实验楼教程
https://www.shiyanlou.com/courses/2/labs/16/document
https://www.shiyanlou.com/courses/2/labs/17/document
功能 | 快捷键 |
---|---|
全选 | vvVG |
删除一个字母 | x删除右侧 X删除左侧 |
删除本行 | dd |
删除一个单词 | dw |
撤销 | u |
恢复 | ctrl+r |
移动到下一个单词 | w |
到当前单词的结尾 | e |
到前一个单词的开头 | b |
到前一个单词的结尾 | ge |
在当前行前插入一个新行 | O |
在行末插入 | A |
移动至行尾 | $ |
移动至有字符行首 | ^ |
移动至行首 | 0 |
向后搜索<字母>并跳转到第一个匹配的位置(非常实用) | f |
向前搜索<字母>并跳转到第一个匹配的位置 | F |
删除至行尾 | d$或D |
删除至行首 | d^ |
删除到文档结尾处 | dG |
删至文档首部 | d1G |
游标移动到第 n 行 | nG(n Shift+g) |
游标移动到到第一行 | gg |
到最后一行 | G(Shift+g) |
复制游标所在的整行 | yy |
复制至行首 | y^ |
复制至行尾 | y$ |
复制一个单词 | yw |
复制两个单词 | y2w |
复制至文本末 | yG |
复制至文本开头 | y1G |
- 使用 vim 时,在普通模式下按 ctrl + z 就能返回终端,这时候你可以继续做任何事情,甚至可以再打开一个 vim。
终端输入jobs
可以看到当前环境下的所有任务编号,然后通过fg num
进入任务
或者fg
来进入上一个后台任务
命令行模式下
输入:
进入
功能 | 快捷键 |
---|---|
不保存退出 | q! |
另存为 | w + 文件路径 |
保存退出 | x |
保存退出 | wq |
注意 | |
使用 :x 不会更改文件的修改时间,而使用 :wq 会改变文件的修改时间。 |
游标快速移动与复制粘贴
vim ~/.vimrc
添加 set nu 来显示行号
另附终端快捷键
https://www.baidu.com/link?url=lyXwmR_M0rTJ-vozGsvD33XVEoOr-iSW6O66wOrci2eypKQmPlm6Be8I1K7e4q_8Z8NTJf1wN-w8tbv98Zyy7_&wd=&eqid=ac1e638900079e89000000035ca08dcd
翻页快捷键
整页翻页 ctrl-f ctrl-b
f就是forword b就是backward
翻半页
ctrl-d ctlr-u
d=down u=up
滚一行
ctrl-e ctrl-y
zz 让光标所杂的行居屏幕中央
zt 让光标所杂的行居屏幕最上一行 t=top
zb 让光标所杂的行居屏幕最下一行 b=bottom