Vi 操作多文件的N 中解决方法

本文主要总结了Vi操作多个文件的方法。学习Linux常需掌握Vi编辑器,因修改配置文件等情况常需操作多文件。以往用X系统或远程操作打开多控制台有局限,文中介绍了多文件打开、多窗口、插入三种方法,掌握这些可让Linux管理更方便。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vi 操作多文件的N 中解决方法

 

 

By guipei 2005-3-21

 

 

学习linux,总是少不了学习vi编辑器的使用。vi 的作用如果同视窗系统作对比的话,我觉得实现的功能应该和记事本一样。但是作为linux的特殊性,vi 的复杂程度却远远高于记事本的操作。

最近,学习了一些vi操作多个文件的操作方法,再这里总结一下,因为以前看过很多书,或者资料,大都是泛泛的介绍一下vi的基本功能,没有深入将下去,本文基本参考了两本书:Linux in a Nutshell以及O'Reilly - Learning The Vi Editor ,也算是对vi操作多文件的一个总结。

先提一个问题,为什么要进行多文件操作?很多linux的配置文件都是以属性文件保存在/etc目录或者软件的目录里面,这样,我们修改配置前,大多都会copy一个备份出来,如果发现问题,我们可以还原老的配置,或者依据老的配置,修改新的配置。这样,很多情况下面我们是需要操作多个文件。当然还有等等其他情况。

以前老的办法:

1、  使用X系统,打开多个控制台。

2、  使用远程操作,例如 ssh、或者telnet 多个登陆,打开多个控制台。

 

 

这些情况虽然可以容易的解决这个问题,但是在一些特殊情况下面,例如单用户模式下面,这些方式就显得无能为力了,即使在多用户模式下,打开多个控制台,也不可以在多个vi中进行复制、拷贝等操作。我只好打开旧文件,拿一只笔,记录下来文件内容,然后,关闭文件,打开需要修改的文件,编辑上去。

这真是一个痛苦的经历,如果你不想重蹈我的覆辙,看看有什么方法可以使用单个vi来操作多个文件,在他们之间互相操作,复制、粘贴等。

 

 

好了,我们先准备两个文件:

File fstab:

------------------------------------------------------------------------------------------------------------------

LABEL=/                 /                       ext3    defaults        1 1

none                    /dev/pts                devpts  gid=5,mode=620  0 0

none                    /dev/shm                tmpfs   defaults        0 0

none                    /proc                   proc    defaults        0 0

none                    /sys                    sysfs   defaults        0 0

LABEL=SWAP-hda4         swap                    swap    defaults        0 0

/dev/fd0                /media/floppy           auto    pamconsole,exec,noauto,managed 0 0

 

 

 

 

File fstab.bak:

------------------------------------------------------------------------------------------------------------------

/dev/hdd                /media/cdrom            auto    pamconsole,ro,exec,noauto,managed 0 0

文件fstablinux系统的标准分区加载配置文件,这里我们要操作的是把 fstab.bak 文件加入到文件 fstab中,让我们采用几种方法来加以处理:

 

 

方法一: 多文件打开方法:

我们可以使用命令:vi fstab fstab.bak vi本身支持打开多个文件。

使用vi 命令 :buffers 列出当前打开的文件,以及编号,

使用:buffer I 来切换当前文件,可以使用 yy pp 来复制文件了。

操作顺序:

1、  输入命令,我们可以看到输出一下结果:

:buffers

  1 %a + "fstab"                        line 12

  2 # =  "fstab.bak"                    line 1

2、  切换到第二个附近,复制其中的内容:

:buffer 2

"fstab.bak" [readonly] 2L, 95C

3、  复制文件中的第一行内容:

yy

4、  切换回第一个文件:

:buffer 2

"fstab" 12L, 808C

5、  粘贴复制内容,在插入点录入 y复制命令:

p

 

 

我们可以看到已经完成了操作。

 

 

方法二: 多窗口方法:

Vi本身也是支持多窗口操作,你知道么,看我们如何操作:

操作顺序:

1、  打开第一个文件 fstab

vi fstab

2、  vi里面打开第二个文件:

:new fstab.bak

是否看到vi把窗口切分为上下两个编辑窗?

3、  复制 fstab.bak中的内容,目前活动窗口为fstab.bak,我们输入命令 yy 复制当前行。

yy

4、  切换到fstab窗口,这个需要使用符合命令:

Ctrl + w j

命令的操作方法是同时按下 ctrl 控制键 w 键,松手后再按下 j键,是否已经看到光标移动到了下面的窗口。

5、  粘贴所选内容:

p

Ok,如何,文件复制完成了吧?

 

 

方法三:插入方法:

使用word,我们大多都使用过插入一个文件的方法,vi 也很cool,同样存在这个方法。

操作顺序:

1、  打开第一个文件 fstab

vi fstab

2、  把光标放置到插入点,录入命令:

:r fstab.bak

3、  已经可以看到fstab.bak中的内容已经插入到了fstab

 

 

 

 

Vi 的功能是否没有你想的那么简单,关于多文件的操作,更详细的操作可以参考上面提到的两本书。多掌握一些vi的操作,会让你在linux的管理上面更加方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值