vi 复制粘贴详解
多方搜索整理如下:(除特殊说明以下操作均在命令模式下) 1. 将光标移动到将要复制的行处,按 yy 进行复制当前行(按 nyy 复制 n 行),再移动到粘贴 位置,按 p 进行粘贴. 2. 将光标移到复制的首位置,按下 v,用 hjkl 移动,按 y 复制,按 p 粘贴. 3. 光标移到起始行, 输入 ma; 光标移到结束行, 输入 mb; 光标移到粘贴行, 输入 mc; 然后 :'a,'b co 'c,把 co 改成 m 就成剪切了. 4. 光标移动到要复制的行,输入 yny(n 表示要复制该行以下 n 行);光标移动到粘贴行,按 p 粘贴. 5. 直接输入: n1,n2 co n3.(n1 为起始行,n2 为结束行,n3 为粘贴行) 6. 不同文件之间的复制:用: sp [filename] 打开另一文件,(用 ^ww 在文件之间切换),然后按 上述方法复制 有关的命令如下: yy 将当前行复制到缓冲区 yw 将当前单词复制到缓冲区 y1 将光标处的一个字符复制到缓冲区 p 将缓冲区的信息粘贴到光标的后面 :行号 1 ,行号 2 copy 行号 3 将行号 1 到行号 2 的内容复制到行号 3 所在行的后面. : 行号 1 , 行号 2 move 行号 3 将行号 1 到行号 2 的文本内容移动到行号 3 所在行的后面.
7.
寄存器操作 寄存器操作
"?nyy: 将当前行及其下 n 行的内容保存到寄存器?中,其中? 为一个字母,n 为
一个数字
"?nyw: 将当前行及其下 n 个字保存到寄存器?中,其中? 为一个字母,n 为一个
数字
"?nyl: 将当前行及其下 n 个字符保存到寄存器?中,其中? 为一个字母,n 为一
个数字
"?p: 取出寄存器?中的内容并将其放到光标位置处.这里?可以是一个字母
,也可以是一个数字
ndd: 将当前行及其下共 n 行文本删除,并将所删内容放到 1 号删除寄存器中
vi 多个文件之间复制,粘贴 多个文件之间复制,
打开和切换文件 步骤 1,vi 1 , 2,: 2 打开文件 2 ,:e ,: 3,用:e# 在两个文件间切换. , 在两个文件间切换. 在两个文件间切换
复制和粘贴文件 步骤 1,回到 1 文件,先在开始处做标志 mk 然后在末尾用 , 文件, 然后在末尾用 "ay'k (光标自动回到开始处,此时 光标自动回到开始处, 已经把你的内容放到缓冲区了) 已经把你的内容放到缓冲区了)其中 a 表示缓冲区 a 2,用:e# 切换到文件 2,找到你要粘贴的位置,然后用 , 切换到文件 ,找到你要粘贴的位置,然后用 "ap 命令粘贴就行
来源: http://www.taocms.org/202.html