gvim操作小结

概述

大家都知道gvim被称作编辑器之神,其在写代码、看脚本、操作文本方面的强大之处不用多说。作为一名数字芯片工程师,在工作后基本将gvim作为了默认的编辑器。笔者在此对于gvim的一些常用操作做个小结,希望能够方便到接触到gvim的伙伴们。

 

vim重点是光标的移动,模式切换,删除,查找,复制,粘贴,替换,撤销。

命令模式

命令模式下不能直接进行文本的编辑,可以输入快捷键进行操作(删除行,复制行,移动光标,粘贴,等等),这也是进入gvim之后的默认模式。

光标移动

hjkl:分别是向左下上右移动一格;

w:移动到下个单词的词首;e:下个单词的词尾;b:上一个单词的词首;ge:上一个单词的词尾;数字+hjkl/web(如2w, 3j)

^:移动到本行首个非空格的字符;$:移动到本行最后一个非空格的字符;0/home:移动到行首;end:移动到行尾

gg:移动到第一行

G:移动到最后一行

%:当光标在一个小括号,中括号,大括号(也可以设置匹配的关键字)上的时候,按下%后光标会快速移动到与之匹配的括号上。

光标快速移动到指定行:10gg,或者10G:移动光标到第10行;(末行模式下  :10回车;)

 

翻屏幕:向下翻ctrl+f(after),向上翻ctrl+b(befor);向下翻一半ctrl+d(down),向上翻一半ctrl+u(up)

H,M,L:分别是移动到当前屏幕的最上面一行行首,正中间一行的行首和最底行的行首;

zz:滚动屏幕,使得当前光标所在的行移动到屏幕中间。

 

删除、剪切

x(类似于delete),X(类似于backspace);

de:等效于d+e,删除至下一个单词的词尾,d2e;类似的用法还有dw,dl,d2l

daw:delete a word,

d0:从光标处删除到行首,类似的还有d^,

D:从光标处删除到行尾;

dd:删除(严格意义上是剪切,不粘贴就是删除)一行,然后使用p,可以粘贴刚刚删除的行;

复制粘贴

复制行:yy,复制当前一行;2yy,复制从当前行往下数两行;

粘贴行:p,粘贴在当前行的下面;P,粘贴在当前行的上面;

ggVG:全选中,gg+V+G;

 

替换

r:替换一个字符,ra,将当前光标处的字符替换成a,这里a可以是任意其他字符,如r1,rb;

R(shift+r):连续多个字符替换,先按下R进入替换编辑模式,根据光标位置做连续替换,完成编辑后,按下esc退出连续替换模式。

undo/redo

u:undo,撤销一次;

ctrl+r:redo,恢复一次;

 

查找搜索

搜索变量的定义:将光标移动到想要搜索的变量上面,同时highlight显示,按下gd,跳转到代码中对于变量的定义(第一次出现该变量的地方);接着使用n,跳转到该变量的下一个;N,跳转到该变量的上一个。数字+n/N

*:向后(下)寻找光标所在处的单词,类似于gd

#:向前(上)寻找光标所在处的单词

以上两种查找,n,N 的继续查找命令依然可以适用

搜索变量:/random       查找random,按n健查找下一个,按N健查找前一个。

/\<b\> 查找b,左右都是非连续的字符。如下/b和/b\>的区别:

取消高亮显示:末行命令模式下:noh回车  (no highlitht)

行内搜索:fe,向后寻找字符e(这里e可以是其他任意字符),如果找到了则光标移动到e处;Fe,向前寻找字符e;

 

大小写切换

首先按下v进入块操作模式,选中需要切换的代码块,然后按下:

u:全部转换为小写字母;

U:全部转换为大写字母;

~:对选中的代码块进行大小写互换;

按照路径打开

gf:在当前文本中有其他文件的路径时,按下gf(girl friend),会打开该路径下的文件;

 

​​​​​​​折叠,展开

zf,zo,

zf5j:从当前行往下数5行,被折叠起来

zo:光标在被折叠的行上的时候,按下zo,撤销折叠,显示被折叠的内容

zr:重新展开所有折叠起来的代码;

zm:恢复所有的折叠;

 

 

末行命令模式

末行输入命令,进行操作(搜索、替换、保存、退出、撤销、高亮)

​​​​​​​替换

:substitute/a/b [flags]             把当前行的第一个a换成b;其中flags为附加选项;

:100,200substitute/a/b/g         把100,200行的所有a换成均换成b;

:100,$substitute/a/b/g             把100到最后一行的所有a换成均换成b;

:%substitute/a/b/g            把所有行的所有a换成均换成b;

:.,+4substitute/a/b/g         把下面4行所有a换成均换成b;

flags选项:

g是全局(global)的意思,对每一行的所有a进行操作;

p是将所做的替换打印出来;

c是提醒用户确认(confirm)每一个替换操作;

​​​​​​​分屏

:sp        水平分屏幕;

:vs        垂直分屏幕;

​​​​​​​新tab

:tabnew       类似于浏览器,新开一个tab,然后可以在新tab打开文件;

​​​​​​​历史命令

在命令模式下按q和:,则显示出历史命令,上下移动光标,可选择执行历史命令。

​​​​​​​文件保存退出

:w  保存

:w text.c             另存为text.c

:q   退出

:wq       保存并退出

:q!  强制退出,不保存

:x   如果没有修改,则直接退出;如果有修改没保存,则先保存再退出。(少用)

其他操作

​​​​​​​行拼接

J     将下一行拼接在当前行后面。

 

​​​​​​​多文件操作

同一个gvim中可以打开多个文本;通过命令:ls来显示缓冲区中的文件,eg:分别显示文件编号,文件路径,上一次离开的时候光标所在处

:bn,离开当前文件,进入到下一个next文件;

:bp,离开当前文件,进入到前一个previous文件;

:b1,离开当前文件,进入到缓冲区编号为1的文件,这里1可以是其他任意有效的文件编号;

:bdelete 3,   删除缓冲区中编号为3的文件,

:E          关闭当前文件,打开当前路径所在的目录,可上下移动光标,按回车打开同一目录下的其他文件;

可视模式

按v进入可视模式,从光标处进行多行的选择;

按V进入行可视模式,以行为单位进行多行的选择;

按ctrl+v进入块操作模式;以矩形为单位进行代码块的选择;

在可视模式下移动光标选种代码后,可以进行复制粘贴,删除,替换等等操作;

如果取消选中代码块之后想重新选中,按gv恢复选中上次的代码块。

列操作:ctrl加v,选中代码块之后,按I,进入编辑模式,编辑完成后,按下esc,则对代码块每一行的左边新增编辑内容;同样也可以进行复制,替换,删除等操作;

快捷操作:全选:ggVG,

模式切换

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值