Chinaunix首页 | 论坛 | 博客
  • 博客访问: 316735
  • 博文数量: 79
  • 博客积分: 1480
  • 博客等级: 上尉
  • 技术积分: 848
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-11 15:29
文章分类

全部博文(79)

文章存档

2012年(1)

2011年(5)

2010年(19)

2009年(54)

我的朋友

分类: LINUX

2010-09-02 09:40:52

跨文件间的多行拷贝

我通常是用PUTTY登入到服务器然后用VIM来编辑代码,在不同文件间拷贝代码是常有的事。当要拷贝的部分是在屏幕可见范围内,只要用鼠标左键把代码选中,然后转到另一文件里,右键点击代码就被复制了。但是如果要复制的部分超过一个屏幕的高度,就没那么简单了。在VIM的常规模式下,用鼠标是无法跨页选择的。比较土的办法是,先复制一页内容,然后转到下一页再拷贝。但是如此多次复制容易出错,一不小心就可能多复制或者少复制了几行。这里介绍一种相对简单的办法:

  1. 用VIM打开一个文件, 例如:vim original.php
  2. 在普通模式下,输入:":sp"; (不含引号)横向切分一个窗口,或者":vsp"纵向切分一个窗口,敲入命令后,你将看到两个窗口打开的是同一个文件。
  3. 在普通模式下, 输入:":e new.php", 在其中一个窗口里打开另一个文件。
  4. 切换到含有源文件(original.php)的窗口,在普通模式下,把光标移到你要复制的第一行的开头,按一下v进入可视模式,然后使用向下键选择你要复制的部分,选好后按一下y, 选择的内容就被复制到临时寄存器里。(用crt+w再按一下w,可以在两个窗口间切换。)
  5. 切换到目标文件窗口,在普通模式下,按一下p,就完成复制了。

列编辑模式

用过UltraEdit的人可能都知道,UlrtaEdit支持列编辑模式(column mode), 按alt+c可以进入列模式,然后以列为单位选择文本,很方便的!VIM也有这个功能:ctrl+v, 比如要在每一行的开头加入字符串:61dh.com,步骤如下:

  1. 用VIM打开一个文件, 例如:vim abc.php
  2. 在普通模式下,按ctrl+v,进入列可视编辑模式
  3. 把关标移到第一行的开头,按向下键,选择所有行的开头
  4. 按大写的I,切换到插入模式,输入61dh.com。(这时你只能看到第一行被修改了,请不要着急。)
  5. 按Esc两次,就会自动完成所有行的编辑。
阅读(959) | 评论(1) | 转发(0) |
0

上一篇:Network IPC: Sockets(3)

下一篇:新升级的电脑

给主人留下些什么吧!~~

chinaunix网友2010-09-04 14:47:11

Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com