标题Vi中的“剪贴板”
栏目软件世界
作者李驰新
发布2001年34期
众所周知,在Windows中有“剪贴板”工具,对经常进行“复制”、“粘贴”操作的用户来说非常方便,在Linux的vi中,也有与“剪贴板”相似的功能,不过这种功能不叫“剪贴板”,叫做“寄存器”(register)。
vi的寄存器种类较多,功能强大,在这里不能一一介绍,下面,就向大家介绍最常用的寄存器。
1.未命名的寄存器:“”
vi在这个寄存器中保存最近使用的删除命令删除的内容和复制命令复制的内容。
举例:在vi的命令模式下,用dd命令删除光标所在行的内容,此后可以用p或P命令恢复这个寄存器中的内容。在vim中可以用命令 “”(两个双引号)来访问这个寄存器,但在vi中不行。
2.编号寄存器:“1-”9
在不指定其他寄存器或改变的文本多于一行的情况下,vi在1号寄存器中保存上一次删除或改变的内容。从2号到9号寄存器依次保存最近删除或改变的内容,9号寄存器以后的内容不再保存。在vim 中还存在0号寄存器(“0),0号寄存器在不指定其他寄存器时,只保存最近复制的内容。
举例:当使用dd命令删除光标所在行后,在文本的其他地方,使用命令 ”1p 把1号寄存器的内容粘贴在目前光标所在行之后。
3.命名寄存器:“a-”z或“A-”Z
这一类寄存器是最常用的,用户可以在命令中指定26个寄存器中的任何一个。使用小写字母时,用当前内容取代寄存器中以前的内容,使用大写字母时,将当前内容追加到寄存器以前的内容之后。
举例:使用命令 “ayy将当前光标所在行复制到寄存器a中,在文本的另一处,用命令ap 将寄存器a中的内容粘贴到目前光标所在这一行之后。
4. 只读寄存器:”:,“ .,”%,“#
只读寄存器中的内容是不能通过命令改变的。
”:寄存器中存放最近插入的文本;
“%:寄存器中存放当前文件的文件名;
”#:寄存器中存放可供切换的文件的文件名;
“.:寄存器中存放最近使用过的命令行。
另外说明一点,上述各类寄存器的内容,均可以在vi的命令模式下,通过命令dis来查看,用户在使用时可以先查看一下寄存器中的内容,再进行“复制”、“粘贴”等工作。