Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1181597
  • 博文数量: 181
  • 博客积分: 4968
  • 博客等级: 上校
  • 技术积分: 1867
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-13 21:52
文章分类

全部博文(181)

文章存档

2015年(2)

2013年(6)

2012年(22)

2011年(41)

2010年(27)

2009年(51)

2008年(32)

我的朋友

分类: LINUX

2010-11-06 13:29:18

使用VI同时编辑多个文件(转)
使用VI同时编辑多个文件 我们可以用ex命令来实现在多个文件之间的切换,而不需要退出vi,这可以为我们节省很多时间,并且因为没有退出vi,我们可以使用buffer来在不同 文件之间实现
使用VI同时编辑多个文件 

我们可以用ex命令来实现在多个文件之间的切换,而不需要退出vi,这可以为我们节省很多时间,并且因为没有退出vi,我们 可以使用buffer来在不同文件之间实现拷贝和粘帖。

1)  在启动vi的时候指定多个文件,这就相当在vi启动时我们就把多个文件加入到了vi的候选列表中,在编辑过程中我们可以用命令 :n来切换到下一个文件,我们可以用命令 :args来查看当前又有多少个文件在编辑的候选列表中;但是我们发现:n命令只能切换到下一个文件,那么怎么切换到前一个文件呢,我们可以 用:rewind命令(可以简写为:rew)
       很快我们发现上面的方式不够灵活,例如我们不能任意指定想要编辑的文件,而且我们可能需要在编辑的任何时候加载新的文件,前面的方法满足不了,怎么办呢, 幸运的是vi足够强大,已经为我们想到了这些。

2)  我们并不是在每次启动vi的时候就知道总共要编辑多少个文件,可能在编辑的过程中我们需要实时加载需要编辑的文件,这时候怎么办呢,我们可以用:e命令在 编辑的任何时候加载并切换到新文件,例如我们启动vi的时候编辑main.cc,在编辑过程中发现要修改一个类定义,这样我们就可以使用命令:e singlton.h来加载类定义所在的头文件(当然在加载新文件之前需要保存原来修改的文件main.cc)。vi提供了一个符号#来记录前一个编辑的 文件,这个符号可以很方便的在两个文件之前切换,我们只需要输入:e #, 哈哈,很方便吧;不过vi还有一个更方便的命令可以在两个文件之间来回切换 -- Ctrl+^(数字键6),这个命令比前面的:e #更加方便哈。

3) 之前一直不知道怎么用vi从一个文件拷贝内容到另外一个文件,都是直接用鼠标右键来搞定的,但是这样不是很方便,而且在终端下好像不行(黑屏幕那个终 端),今天终于找到方法了,呵呵。
这里有两个方法可以实现,一个是用vi的命令,首先把需要复制的文本复制到一个named buffer中 -- "f4yy(表示复制4行文本到名字为f的buffer中,一定前面要有一个"啊,要不然后面的f就不会被解释为buffer的名字了),然后切换到目标 文件,最后用命令"fp(将buffer f中的内容拷贝到目的文件中),哈哈,大功告成,我们需要复制的文本从源文件已经拷贝到目的文件了。还有一种方法是使用ex命令(就是命令前面带:的,例 如:e, :w), 首先也是在源文件中将需要复制的内容拷贝到一个named buffer中 -- :10,12ya a(将10到12行这三行的内容拷贝到一个名字为a的buffer中),然后切换到目标文件,最后在目标文件中将buffer a中的内容拷贝到目的地 -- :pu a(将buffer a中的内容拷贝到当前位置)。

阅读(3873) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-11-07 19:17:47

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com