gvim文本编辑器快捷命令

参考:Horizon Qiao	微信公众号: 集成电路设计及EDA教程

黄色高亮为常用快捷键!

一. gvim的四种模式与模式之间的切换

1.1 gvim常用模式

  1. 命令模式(command-mode)
  2. 插入模式(insert-mode)
  3. 可视模式(visual-mode)
  4. 正常模式(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重新折叠相同的文本行
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐