VIM vim/vi的文件内、跨文件复制粘贴操作、替换操作
https://www.cnblogs.com/shengulong/p/6702868.html
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 就成剪切了