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,从第3行开始拷贝至第14行,粘贴到第2行的下一行。(末行模式下)

粘贴(重点,类似于windows上的Ctrl + V)
  • p键:如果拷贝的是整行,粘贴在当前行下。如果拷贝的是字符粘贴在当前光标之后(配套yynyy复制列)(命令模式下)

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

撤销(重点,类似于window上的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(末行模式下)

    测试数据:

     第1行:int main(int args)
     第2行:int func(int params)

    需求:将int替换成void

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

    替换结果:

     第1行:void main(int args)
     第2行:void func(int params)

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

    测试数据:

     第1行:int main(int args)
     第2行:int func(int params)

    需求:将int替换成void

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

    替换结果:

     第1行:void main(void args)
     第2行:void func(void params)

Vim其他指令

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值