gvim文本编辑器常用快捷命令
Posted 夏风喃喃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gvim文本编辑器常用快捷命令相关的知识,希望对你有一定的参考价值。
gvim文本编辑器快捷命令
参考:Horizon Qiao 微信公众号: 集成电路设计及EDA教程
黄色高亮为常用快捷键!
文章目录
一. gvim的四种模式与模式之间的切换
1.1 gvim常用模式
- 命令模式(command-mode)
- 插入模式(insert-mode)
- 可视模式(visual-mode)
- 正常模式(normal-mode)
1.2 正常模式
打开gvim都是正常模式,在任何模式下,只要按下Esc
键就可以返回正常模式。
1.3 插入模式
插入模式则用来向文本中添加内容。
i 在光标所在字符前开始输入文字并进入插入模式
o (字母o)在光标所在行的下面单独开一新行来输入文字并进入插入模式
1.4 可视模式
可视模式相当于高亮选取文本后的普通模式,后边可以单独对这些选中的部分进行操作。
1.4.1 以行为单位进行选取的可视行模式
使用V
键进入(也就是Shift+v
)。
1.4.2 以块为单位进行选取的可视块模式
使用Ctrl+v
键进入。
1.5 命令模式
多用于操作文本文件,例如查找、替换、保存文件;或者用来改变编辑器本身的状态,例如设定多窗口、多标签、分屏显示或者退出编辑器。
使用Shift+:
进入。
二. gvim操作
2.1 光标移动
快捷键 | 说明 |
---|---|
gg | 光标跳到全文首 |
Shift+g | 光标跳到全文末尾 |
90↓ | 光标向下移动多行,比如90行 |
13→ | 光标向右移动多列,比如13列 |
^ | 光标移动到行首第一个非空白字符 |
$ | 光标移动到行尾 |
Shift+g | 光标跳到全文末尾 |
b | 光标移动到所在单词词首,向前跳(也就是向左跳) |
w | 光标移动到所在单词词首,向后跳(也就是向右跳) |
:n | 光标跳转到第n行 |
$ | 光标移动到行尾 |
:set nu | 显示行号 |
Ctrl+g | 显示总行数和所在行所占百分比 |
2.2 区块和代码块的跳转
2.2.1 区块跳转
在(
处按%
就会跳转到对应的)
处,非常适合查找括号是否配对。反之,从)
处按%
键可以跳回对应的(
处。
2.2.2 代码块跳转
快捷键 | 说明 |
---|---|
[[ | 向前跳转到当前函数的{处 |
][ | 向后跳转到当前函数的}处 |
[] | 向前跳转到上一个函数的}处 |
]] | 向后跳转到下一个函数的{处 |
[# | 在#if和#else以及#endif之间向前跳转 |
]# | 在#if和#else以及#endif之间向后跳转 |
[( | 表示跳转到当前区块*的( 处 |
]) | 跳转到当前区块的) 处 |
[{ | 跳转到当前区块的{处 |
]} | 跳转到当前区块的}处 |
[/ | 跳转到注释的/*处 |
]/ | 跳转到注释的*/处 |
多用于C语言中,黄色部分可以用于Verilog中。
帮助记忆:
第一个键是方向键
[表示向前跳转,] 表示向后跳转。
第二个是功能键
[表示当前函数,] 表示越过当前函数的上一个或者下一个函数。
{表示当前区块的{ 处, } 表示当前区块的 } 处。
2.3 翻页与滚动
快捷键 | 说明 |
---|---|
Ctrl+f | 向下翻一页 |
Ctrl+b | 向上翻一页 |
Ctrl+d | 向下翻半页 |
Ctrl+u | 向上翻半页 |
Ctrl+e | 向下滚动一行 |
Ctrl+y | 向上滚动一行 |
n% | 滚动到文件n%的位置 |
zz | 将当前行移动到屏幕中央 |
zt | 将当前行移动到屏幕顶端 |
zb | 将当前行移动到屏幕底端 |
2.4 文件跳转
当光标位于某一文件的绝对路径或者相对路径时,如果需要跳转到任何一个文件,有几种方法,首先需要切换到normal模式,之后按下:
快捷键 | 说明 |
---|---|
gf | 在当前窗口中打开该文件 |
ctrl+w f | 以分屏模式打开该文件(水平分屏) |
ctrl+w gf | 在新的tab中打开该文件 |
:tabc | 关闭本tab |
2.5 复制和粘贴
快捷键 | 说明 |
---|---|
yy | 复制光标所在行 |
p | 光标后粘贴 |
6yy | 复制光标所在行及向下6行 |
yw | 复制一个单词 |
:%y+ | 复制全文 |
+y | 复制内容供其他程序使用 |
y0 | 复制光标前一直到行首的内容 |
y$ | 复制光标所在处一直到行尾的内容 |
:5,10y | 复制第5行~第10行的内容 |
:,13y | 复制光标所在行到13行之间的内容 |
:6,y | 复制6行到光标所在行之间的内容 |
左键确定选择的起点,右键确定选择的终点 | 随意选择文本 |
鼠标中键 | 粘贴 |
2.6 替换
快捷键 | 说明 |
---|---|
:%s/被替换字符串/新字符串/g | 在当前整个文件中进行替换 |
: s/被替换字符串/新字符串/ | 替换当前行第一个被替换字符串为新字符串 |
: s/被替换字符串/新字符串/g | 替换当前行所有被替换字符串为新字符串 |
:5,15s/被替换字符串/新字符串/g | 指定只在第5至第15行间进行替换 |
:.,$s/被替换字符串/新字符串/g | 在当前行至文件结尾间进行替换 |
:.,.+8s/被替换字符串/新字符串/g | 指定只在后续9行内进行替换 |
r然后输入新字符 | 替换光标所在字符,也可以列操作 |
选中,u | 大写转小写 |
选中,shift+u | 小写转大写 |
2.7 删除
快捷键 | 说明 |
---|---|
x | 删除光标所在字符 |
dw | 删除光标所在字符直到词尾 |
db | 删除光标所在字符直到词头 |
d0 | 删除光标所在行中光标前的内容 |
d$ | 删除光标所在行中光标后的内容 |
用鼠标选中你要删除的内容,然后按x/d | 删除某几行或者某几个单词 |
dd | 删除光标所在行 |
5dd | 删除多行,如5行 |
:n1,n2d | 从n1到n2行都会被删除 |
dG | 删除全文 |
:g/^\\s*$/d | 删除全文中的空行 |
2.8 查找
快捷键 | 说明 |
---|---|
/目标字符串 回车 | 查找目标字符串,结果将会高亮显示 |
:/目标字符串 回车 | 查找目标字符串,结果将会高亮显示 |
n | 查找下一处 |
N | 查找上一处 |
2.9 分屏操作
快捷键 | 说明 |
---|---|
:vs | 将当前文件分裂成左右两个窗口 |
Ctrl+w w | 在多个窗口切换 |
Ctrl+w c | 关闭其中一个分屏 |
:sp | 将当前文件分裂成上下两个窗口 |
2.10 保存和退出
快捷键 | 说明 |
---|---|
:w | 保存编辑后的文件内容,但不退出gvim编辑器 |
:w! | 强制写文件,即强制覆盖原有文件 |
:wq | 保存文件内容后退出gvim编辑器 |
:wq! | 强制保存文件内容后退出gvim编辑器 |
ZZ | 保存文件内容后退出gvim编辑器 |
:q | 在未做任何编辑处理时退出gvim |
:q! | 强制退出gvim编辑器,放弃编辑处理的结果 |
:w filename | 把编辑处理后的结果写到指定的文件中保存 |
:w! filename | 把编辑后的结果强制保存到指定文件中,若文件已经存在,则覆盖现有的文件 |
:wq! filename | 把编辑后的结果强制保存到指定文件中,若文件已经存在,则覆盖现有文件,并退出gvim编辑器 |
三. gvimdiff比较两个文件差异
gvimdiff file1 file2
:比较file1与file2的区别,并高亮表示。
快捷键 | 说明 |
---|---|
]c | 跳转到下一个差异点,命令前加上数字,可以跳过多个差异点 |
[c | 跳转到上一个差异点,命令前加上数字,可以跳过多个差异点 |
dp | 把一个差异点中当前文件的内容复制到另一个文件里 |
do | 把另一个文件的内容复制到当前行中 |
Ctrl-w w | 在两个文件之间跳转 |
:diffupdate | 刷新对比结果 |
:qa | 同时退出 |
:wa | 保存全部文件 |
:wqa | 保存全部文件,然后退出 |
:qa! | 退出的时候不希望保存任何操作的结果 |
zo | 临时展开被折叠的相同的文本行 |
zc | 重新折叠相同的文本行 |
以上是关于gvim文本编辑器常用快捷命令的主要内容,如果未能解决你的问题,请参考以下文章