vi同时编辑多个文件

来源:互联网 发布:cnc编程学习 编辑:程序博客网 时间:2024/05/29 07:04

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://gentoolinux.blogbus.com/logs/39681413.html

如果我们有3个文件要同时编辑:文件是a.c,b.c和c.c,vi命令如何实现呢?vi中如何在这3个文件中进行切换?
vi可以在多分割窗口(multi-split-screen)环境下编辑多个文件.
要分割屏幕显示多个不同文件,在vi命令提示符后输入:
":split another-file"
1.Use vi to open the three file directly,for example
"#vi  a.c  b.c  c.c"
2.Then vi will open the file by the order you enter in the command line.And the current is a.c.
3.If you want to change to b.c:first,you must save a.c,then press "2",then press "Ctl+Shift+^";And if you want to change to c.c:first,you must save b.c,then press "3",then press "Ctrl+Shift+^".
4.在"#vi  a.c   b.c  c.c"这种模式下
":n"跳至下一个文件
":e#"回到刚才编辑的文件
比如当前编辑文件为a.c,":n"跳至b.c;再":n"跳至c.c,":e#"回到b.c,想回到a.c的话用":e a.c"

个人觉得用":split  filename"开窗口的好处是可以直接用yy在两个窗口之间复制,两个窗口可以同时是一个文件.其实可以在一个窗口下,打开3个文件的:
比如先打开一个,"#vi  文件名"
然后在vi的命令模式下输入
":sp 另外一个文件的路径及文件名"或":split 另外一个文件的路径及文件名"
如此就可以在一个窗口打开3个文件了
可以使用ctrl+按两次w
在3个文件中切换

PS: 1,还可以用:sb开两个窗口编辑同一文件
    2,选中字段可以在命令模式下,按v(对字符)或V(对行).

    3,系统和vi剪切板:
vi 具有多个剪切板,目的是为了用户在做较复杂的字符处理的时候,可以更方便的复制粘贴.使用一下":reg"命令,屏幕上的输出结果就是之前复制过的所有内容!vi的剪切板有很多个,按照数字还有符号一个一个的区分开的,这里举一个编号的例子---"5,是以"开头的.有个编号为"+的剪切板,里面的内容就是在vi外复制的那段文字了,系统剪切板的编号就是"+.
将某一个特定剪切板的内容复制进正在编辑的文件中:vi的粘贴指令是"p",但是如果要粘贴一个特定的剪贴板,只是用p是不行的,得把剪贴板的编号带上.先按ESC,退出编辑模式,然后按"+p这三个字符,则之前在vi外复制的文本被粘贴进文档了.
将系统剪切板里的内容复制进vi中:把vi中复制的字符粘贴到其他地方只需要把要复制的文字复制进"+剪切板就可以了.在vi中,复制的指令是y,那要将文本复制进指定的剪切板,和粘贴指定剪切板内容的方法一样,只需要加上剪切板的编号就可以了.举个例子,把vi中的一段文本复制下来,然后粘贴到浏览器的地址栏中:第一步,先把需要复制的文字选中(非编辑模式下),然后在键盘上依次按"+y这三个字符,则内容已经复制下来,用:reg命令看到在"+剪切板中了.