vim/vi的文件内、跨文件复制粘贴操作、替换操作

烂漫一生 提交于 2020-02-22 04:55:20

vi/vim 中可以使用 :s 命令来替换字符串

1、s/vivian/sky/ 替换当前行第一个 vivian 为 sky

2、:s/vivian/sky/g 替换当前行所有 vivian 为 sky

3、:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

4、:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky,n 为数字,若 n 为 .,表示从当前行开始到最后一行

5、:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

6、:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

7、可以使用 # 或者 + 作为分隔符,此时中间出现的 / 不会作为分隔符;:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

  :%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

 

 

1、用vim打开一个文件1.txt

2、在普通模式下,输入:":sp"(不含引号)横向切分一个窗口,或者":vsp"纵向切分一个窗口,敲入命令后,你将看到两个窗口打开的是同一个文件

3、在普通模式下,输入:":e 2.txt",在其中一个窗口里打开另一个文件

4、切换到文件(1.txt)的窗口,在普通模式下,把光标移到你需要复制内容的起始行,然后输入你想复制的行的数量(从光标所在行往下计算),在行数后面接着输入yy,这样就将内容复制到临时寄存器里 了(在普通模式下ctrl+w,再按一下w,可以在两个窗口之间切换)

5、切换到目标文件(2.txt)窗口,把光标移到你接收复制内容的起始行,按一下p,就完成复制了。 

 

vi编辑器中的整行(多行)复制与粘贴就非常必要了。

    1、复制

    1)单行复制

    在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;

    2)多行复制

    在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……

    2、粘贴

    在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

 3、删除

   非编辑模式下,连按两下d,删除当前行, 要删除多行的话,可以用 :5, 9 de

vi复制多行文本的方法
方法1:
光标放到第6行,
输入:2yy
光标放到第9行,
输入:p
此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。
方法2:
命令行模式下输入
:6,9 co 12
复制第6行到第9行之间的内容到第12行后面。
方法3:
有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,'b co 'c   把 co 改成 m 就成剪切了

 

参考:https://blog.csdn.net/v1v1wang/article/details/5418098 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!