王朝网络
分享
 
 
 

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

王朝other·作者佚名  2006-01-31
宽屏版  字体: |||超大  

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

文件fstab是linux系统的标准分区加载配置文件,这里我们要操作的是把 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的管理上面更加方便。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有