目录
一、gvim的基础操作
1. 插入字符
2.移动光标或页面
3.查找内容
4.替换
5.删除文本
6.复制粘贴
7.对文件的操作
8. 多行编辑
9. 选中文本
一、gvim的基础操作
以下操作均在命令模式下进行,操作中需要输入冒号则进入末行模式,一般用来对整个文档的内容或对文档进行编辑。输入某些命令(例:i,a,o)可以进入编辑文档的模式,称为插入模式。
1. 插入字符
命令 | 结果 |
i(I) | 进入插入模式,光标出现在字符前(段首) |
a(A) | 进入插入模式,光标出现在字符后(段尾) |
o(O) | 进入插入模式,在光标所处位置下(上)新起一行 |
i与a的区别:
记忆:OP,paragraph,段落。add是在后面加,insert与add相反,在前面加
补充:如果已经按照格式将代码对齐,那么在修改时需要在行中间插入字符,这时候可以使用R,大写R进行替换,然后输入字符,这样后面的字符不会动,输入完毕后按esc退出,避免后面对齐的文本被移动。
2.移动光标或页面
命令 | 结果 | 记忆 |
移动一个字符位 | ||
h/j/k/l | 朝着光标的左/下/上/右移动一个字符位 | h,l分别处于左右的位置,所以是左移和右移,h和j一起记左下角,j和k一起记右上角,所以j和k分别是下移和上移 |
移动一个单词位 | ||
w(W) | 光标移动到下一个单词首 | word |
e(E) | 光标移动到下一个单词末尾 | 单词的end |
b(B) | 光标移动到上一个单词首 | back回上一个单词 |
移动一个行(段) | ||
shift + ^ | 光标移动到行首 | |
shift + $ | 光标移动到行尾 | |
{( } ) | 光标移动到上一段(下一段) (以空行来划分段落,见块引用) | |
gg( [[ ) | 光标移动到文档首行 | |
G( ]] ) | 光标移动到文档末行 | |
移动页面(翻页) | ||
crtl+F/f | 向下翻页 | 翻(fan)的拼写 |
ctrl+B/b | 向上翻页 | back回上一页 |
gvim中段落的移动:
gvim将空行隔开的部分认为是一个段落
3.查找内容
命令 | 结果 |
:/abc | 在文档中查找abc,用n/N将光标跳转至下一个/上一个查找的对象处 |
shift+* | 直接查找光标所处位置的单词,用n/N将光标跳转至下一个/上一个查找的对象处 |
:noh | 将高亮显示的查找结果取消高亮 |
4.替换
命令 | 结果 |
r(R) | 光标所处字符的替换(进入替换模式连续替换,Esc退出) |
:%s/a/b/g | 将全局的a替换为b |
:%s/a/b/gc | 将全局的a替换为b,每次替换需要确认 |
:1,30s/a/b/g | 将1到30行的a替换为b |
:,30s/a/b/g | 将光标所在位置到30行的a替换为b |
5.删除文本
命令 | 结果 |
x(X) | 删掉光标所处位置字符(删掉光标前字符) |
s(S) | 删掉光标所处位置字符(删除行全部内容且行保留),并且进入插入模式 |
d(D) | d一般组合其他键使用(删除行全部内容且行保留,但不进入插入模式) |
dd | 删除行,行内容和行全部被删除 |
dw | 删除光标所在单词 |
x和X的区别:
补充:在完成代码的对齐后,如果需要对中间部分进行删除,可以通过r替换,然后敲space,则可以在不动后面字符位置的情况下完成删除。
注意:任何删除的文本都会被放在剪贴板,也就是说后续操作接p,即可将删除的内容进行粘贴。
6.复制粘贴
命令 | 结果 |
y | 复制选中的文本 |
yy | 复制光标所在行的文本 |
p(P) | 将复制的文本粘贴在光标后(光标前) |
注意:选中文本进行粘贴时,会以光标所处位置进行粘贴,选中n行进行粘贴时,会在光标所处位置新起n行进行粘贴。
7.对文件的操作
命令 | 结果 |
文件保存与打开 | |
:w | 保存 |
:wq | 保存后退出(q退出和q!强制退出一般不使用) |
:e myfile | 关闭该文件,且打开名称为myfile的文件 |
:e. | 关闭该文件,打开目录,在目录窗口按R即可刷新目录 |
:new | 不关闭该文件,分屏打开一个新文件,未命名 |
分屏操作 | |
:sp | 横开新窗口,split |
:vsp | 竖开新窗口,vertical split |
ctrl+ww | 在分屏窗口切换 |
路径跳转(检查路径) | |
gf | 光标处于路径上时,跳转至对应路径的文件夹(或文件) |
ctrl+o | 返回跳转前的文件中 |
8. 多行编辑
多行编辑用于批量删除或者批量插入字符,ctrl+v进入可视化编辑模式,通过j和k(或方向键)选中多行,按shift+i(或I)进入插入模式编辑单行,随后Esc退出,可以实现在选中的多行重现编辑的内容。
注意:多行编辑的有效性
9. 选中文本
命令 | 结果 |
v | 进入选中模式,常用于选中字符 |
可视化编辑选中 | 在选中文本中常用于选中块 |
V | 进入多行选中模式,可以选中多行 |
可视化块选中粘贴和多行选中粘贴的区别:
V的行选中模式,常用于选中多行,多行复制粘贴,会新起多行实现粘贴;
多行编辑选中的内容块,不会新起行,常用于在空白处进行粘贴。
10. 组合键
表示操作的键可以和表示范围的键任意组合,以实现组合键操作
表示操作的键 | 表示范围的键 |
d 删除 | ^ 行首 |
$ 行尾 | |
y 复制 | gg 首行 |
G 末行 | |
w 单词 | |
组合键操作示例 | |
dw | 删除光标处单词 |
dgg | 删除光标处到首行全部内容 |
yw | 复制光标处单词 |
y$ | 复制光标处到行尾全部内容 |
11. 其他操作
命令 | 结果 |
:ab ti timer | abstract表示缩写,可以实现在插入模式下插入ti后敲打space(或Esc)自动替换成timer |
u | 撤销 |
shift+r | 恢复撤销 |
shift+u | 大小写切换 |
ctrl+p(n) | 插入模式下使用,启动自动补全选项 |
q | 录制宏操作(详细操作见后文) |
tabe | 多开标签页(详细操作见后文) |
多开标签页,方便文件管理
录制宏操作
更新目录:在冒号模式下,按N,然后table敲打出NERDTree就会自动更新目录(实习公司工作环 境下)