光标移动、vim中文本的复制、粘贴、删除、显示行号、撤销、撤销恢复等基础操作

在Linux的vim中进行文本的操作时经常会用到复制与粘贴,但是Linux系统中的复制与粘贴方式与Windows系统中有很大的区别,同时,在进行复制与粘贴时也会用到其它一些对光标的基础操作,现总结如下:

一、基础操作

1、显示行号
 :set number 或 :set nu  → 显示行号
 :set nonumber 或 :set nonu → 隐藏行号

2、文本的高亮选中
(1)在开始的地方按 v 进入可视模式,接着移动光标或使用“一、3”中的方法对光标进行操作即可;
(2)在开始行按 V 进入可视模式,接着移动光标或使用“一、3”中的方法对光标进行操作即可,使用大写 V 可以对正行进行操作。
(3)在开始的地方按 v ,或在开始行按 V 进入可视模式,按G标亮从起始位置或起始行到最后一行所有的文本。

 高亮查找

例如“/”,从上往下查找;

例如“?”,从下往上查找;

3、u →撤销;Ctrl + r → 恢复撤销

4、光标的移动

G移至最后一行首
gg 移至第一行首
nG移至第n行首

n+

下移n行
n-

上移n行

Home/0

移至当前行行首
^移至当前行第一个字符前
End移至当前行行末
n$移至当前行后的第n行行末
I将光标定位到当前行行首并插入
A将光标定位到当前行行末并插入
i/a直接插入

二、复制与粘贴最基本的操作

1、纯鼠标操作:和Windows系统一样,选中文本后按鼠标右键复制,鼠标移到要粘贴的地方再按鼠标右键粘贴。

2、键盘指令操作方法:
① 将光标移动到要复制的文本开始的地方,按v进入可视模式;
② 将光标移动到要复制的文本的结束的地方,按y复制。此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式;
③ 移动光标到需要粘贴的地方,按p粘贴。

3、鼠标与键盘快捷键结合的操作方法:
① 利用“一、2”中的方法复制文本,或者用鼠标选中需要复制的文本,按Ctrl+insert复制;
② 利用“一、2”中的方法粘贴文本,或者将光标移动到需要粘贴的地方,按shift+insert粘贴。

三、复制、剪切或删除的多行操作

1、:n1,n2 copy n3 或 :n1,n2 co n3
      将第n1行到第n2行的内容复制到第n3行(从第n3行的下一行开始粘贴)
      :n1,n2 move n3 或 :n1,n2 mo n3
      将第n1行到第n2行的内容剪切到第n3行(从第n3行的下一行开始粘贴)

2、光标移动到结束行(或起始行),ma
      光标移动到起始行(或结束行),输入y’a
      光标移动到需要复制的行,输入p,行前复制则输入大写P

3、光标移动到起始行,输入ma
      光标移动到结束行,输入mb
      光标移动到粘贴行,输入mc
      然后输入:’a,’b, co ‘c   把co换成m就是剪切
      若要删除多行,则输入 :’a,’b de

4、光标移到起始行,输入yG → 复制当前行开始直至最后一行的所有行

四、复制命令总结

y在使用v模式选定了某一块的时候,复制选定块到缓冲区用
yy复制整行(nyy或者yny ,复制n行,n为数字)
y^复制当前到行头的内容
y$复制当前到行尾的内容
yw复制一个word (nyw或者ynw,复制n个word,n为数字)
yG复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G)

五、删除命令总结(此处的删除实际指的是剪切操作)

dd 删除一行
ndd 删除以当前行开始的第n行
dw 删除以当前字符开始的第一个字符
ndw 删除以当前字符开始的第n个字符
d$ 或 D 删除以当前字符开始的一行字符
d) 删除到下一句的开始
d} 删除到下一段的开始
d回车 删除2行
dG 删除从当前行开始到最后一行

注:“四”、“五”的表格中复制和剪切的很多命令是通用的,并没有列全,可以类比使用。

六、粘切板有关知识

1、vim有12个粘贴板,分别是0、1、2、…、9、a、“、+;用:reg命令可以查看各个粘贴板里的内容。在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;

2、要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按”Ny完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按”ay就可以了,有两点需要说明一下:

3、“号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;

4、+号粘贴板是系统粘贴板,用”+y将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按”+p;

5、要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按”Np,其中N为粘贴板号,如上所述,可以按”5p将5号粘贴板里的内容粘贴进来,也可以按”+p将系统全局粘贴板里的内容粘贴进来。

3)多文件的并发操作
该操作便于多文件相互复制粘贴等。

命令:vim 文件名1 文件名2 文件名3……

命令:“:args”在底部显示当前打开的多个文件的名字,【当前文件的名字】;

命令:“:next”切换显示下一个文档;

命令:“:prev”切换显示上一个文档;

命令:“:first”切换显示第一个文档;

命令:“:last”切换显示最后一个文档。

:s/被替换对象/新对象/gc,提示后按y即完成替换。

七、参考资料

1、https://www.cnblogs.com/MMLoveMeMM/articles/3707287.html
2、https://www.cnblogs.com/GlassHour/p/5503973.html

    原文作者:开过光的猫
    原文地址: https://blog.csdn.net/weixin_41858337/article/details/105029429
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞