Linux基础-Vim指令

Vim常用指令

光标移动(了解)

行间移动

gg:移动光标到第一行(命令模式下)

G:移动光标到最后一行(命令模式下)

:n:移动到第n行,写法举例::6:移动到第6行(末行模式下)

列间移动

$键:移动光标到当前行的行尾(最后一列),有些电脑需要使用shift+$(命令模式)

0:移动光标到当前行的行首(第一列)(命令模式下)

方向键:上下实现行间移动,左右实现列间移动)

删除(重点)

列删除:

x:删除当前光标所在处一个字符(命令模式下)

nx:删除当前光标所在处以及后面共n个字符,如:6x:删除当前光标处共6个字符(命令模式)

X:删除当前光标左边一个字符(命令模式下)

nX:删除当前光标处左边共n个字符,如6X:删除当前光标处左边共6个字符(命令模式下)

D:删除当前光标至行尾(最后一列)(命令模式下)

行删除:

dd:删除当前光标所在行。(命令模式下)

ndd:删除当前光标所在处至后面共n行,如:6dd:从光标处开始连续删除6行(命令模式下)

dG:删除当前光标所在处至文件末尾(命令模式下)

:n1,n2d:删除n1~n2行,如1,12d:表示删除1~12行(末行模式下)

拷贝(重点,类似于Windows的Ctrl+c)

复制列(字符

多按几次esc,然后按V,进入可视方式,移动方向键选中文本,然后按y,就完成了拷贝。需要结合p进行粘贴。(命令模式下)

复制行

yy:复制当前行(单行复制)(命令模式下),需要结合p进行粘贴

nyy:复制当前行至后续连续n行(多行复制),如:5yy,从当前行开始连续复制5行,需要结合p键进行粘贴(命令模式下)

:n1,n2,copy dn:复制n1~n2行数据后粘贴到dn行,如:3,14 copy 2,从第三行开始拷贝至第14行,粘贴到第2行的下一行。(末行模式下)

粘贴(重点,类似于Windows的Ctrl+V)

p:如果拷贝是整行,粘贴在当前行下。如果拷贝是字符粘贴光标之后(配套yy,nyy,复制列)(命令模式下)

P:如果拷贝是整行,粘贴在当前行下。如果拷贝是字符粘贴光标之前(配套yy,nyy,复制列)(命令模式下)

撤销(重点,类似于Windows的Ctrl+Z)

u:撤销上一步操作,相当于Ctrl+Z。(命令模式下)

U:撤销当前行中的所有操作。(命令模式下)

Ctrl+R:重做撤销的操作,可以理解为对撤销进行还原。类似与Windows中的Ctrl+Y(命令模式下)

字符查找(重点,类似于Windows上的Ctrl+F)

/string:从光标所在处向后查找“string”字符串,输入完毕,需要按下回车键;按n可往下继续查找,按N可往上查找,举例/int:要查询的字符串是int。(末行模式+命令模式)

?string:从光标所在处向后查找“string”字符串,输入完毕,需要按下回车键;按n可往上继续查找,按N可往下查找,举例/int:要查询的字符串是int。(末行模式+命令模式)

:set ic:查找时忽略大小写,查询之前设置,(默认忽略大小写),举例:f/F,匹配到f+F(末行模式)

:set noic:查找时区分大小写,查询之前设置,(默认忽略大小写),举例:f/F,匹配到f/F(末行模式)

字符的替换(重点,类似于Windows上的Ctrl+F)

:%s /old_string/new_string:将全文每一行第一个匹配项old_string替换成new_string(末行模式)

测试数据:

第一行:int main(intargs)
第二行:int func(int params)

需求:将int替换成void

指令::%s int void回车

替换结果

第一行:int main(intargs)
第二行:int func(int params)

:%s /old_string/new_string/g:将全文所有匹配项old_string替换成new_string(末行模式)

测试数据:

第一行:int main(intargs)
第二行:int func(int params)

指令::%s int void/g回车

替换结果

第一行:int main(intargs)
第二行:int func(int params)

Vim其他指令

:set nu:设置行号(末行模式下)

:set nonu:取消设置行号(末行模式下)

Ctrl+G:显示文件名,当前的行号,文件的总行数和文件位置的百分比(末行模式下)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值