(1)多行删除 
                 方 法1:
                  单行删除,:1(待删除行)d
                  多行删除 ,:1,10d
                  方法2:
                  光标所在行,dd
                  光标所在行以下的N行,Ndd
          (2)多行的复制      
                  方法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 就成剪切了
                  要删除多行的话,可以用 :5, 9 de              要移动多行的话,可以用 :5, 9 m12

也可以把大量的代码保存到一个文件,然后在另一个文件里打开需要拷贝的代码。

在文件一:
光标移到起始行,输入ma
光标移到结束行,输入mb
然后:’a, ‘b w filename

在文件二:
光标移到需要赋值的行,输入:
:r filename

行拷贝还有一个比较简单的方法:
操作如下:
找到要复制的行,键盘按下shift+v, 然后用方向键上下或j h 移动想要copy的行,然后按下y

在移动到目的行,按下p即完成拷贝多行。这种方法适合没有行号的多行copy。

Vi 提供了文本移动和复制命令,用户利用这些指令可以方便的复制字符、文字、行还有文本块。
有关的命令如下:
yy 将当前行复制到缓冲区
yw 将当前单词复制到缓冲区
y1 将光标处的一个字符复制到缓冲区
p 将缓冲区的信息粘贴到光标的后面
:行号1 ,行号2 copy 行号3                                  将行号1到行号2的内容复制到行号3所在行的后面。
:行号1 ,行号2 move 行号3                                     将行号1到行号2的文本内容移动到行号3所在行的后面。