天天看点

vi 删除和复制多行

 VI删除与复制多行

一、删除

dd

删除一行

ndd 

删除以当前行开始往下的n行

dw

删除以当前字符开始的一个单词

ndw

删除以当前字符开始的n个单词

d$

删除以当前字符到行尾

dG 

当前光标到文档结尾

d)

删除当前字符到本句的结束

d}

删除当前字符到本段的结束

d回车

删除2行

二、复制

单行

yy 复制,p粘贴

nyy复制,p粘贴   适合很少行,太多行不行

多行

任务:将第9行至第15行的数据,复制到第16行

方法1:(强烈推荐)

:9,15 copy 16  或 :9,15 co 16

由此可有:

:9,15 move 16  或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面  

方法2:

光标移动到结束行,ma

光标移动到起始行,输入y'a

光标移动到需要复制的行,输入p,行前复制则输入大写P

方法3:

把光标移到第9行 shift + v

再把光标移动到第15行  ctrl + c

再把光标死去到第16行  p mysql 

方法4:

光标移动到起始行,输入ma

光标移动到结束行,输入mb

光标移动到粘贴行,输入mc

然后输入:'a,'b, co 'c   把co换成m就是剪切

若要删除多行,则输入:'a,'b de

vi设置自动缩进:set smartindent

vi设置显示行号:set number 或 set nu