当前位置:文档之家› linux vi文本编辑器使用

linux vi文本编辑器使用

linux vi文本编辑器使用
vi 简易说明
由前面一路走来,我们一直建议使用文字模式来处理Linux 的系统设定问题,因为不但可以让您比较容易了解到Linux 的运作状况,也比较容易了解整个设定的基本精神,更能『保证』您的修改可以顺利的被运作( 这里要再次的强调,不同的Linux distribution 各有其不同的附加软体,例如Red Hat 的userconf, Linuxconf, ntsysv 与setup 等等,而Caldera 则有COAS 等等,因此,如果您只会使用此种类型的软体来控制您的Linux 系统时,当接管不同的Linux distribution 时,呵呵!那可就苦恼了!) 所以,在Linux 的系统中使用文字编辑器来编辑您的Linux 参数设定档,嗯!可是一件很重要的事情呦!所以说嘛!系统管理员至少应该要熟悉一种文书处理器的!

Linux是什么介绍中,我们知道Linux 与Unix 系统中的参数档几乎都是ASCII 码的『纯文字』档!因此,利用简单的文字编辑软体就可以马上修改Linux 的参数档啰!然而,与Windows 不同的是,如果您用惯了Microsoft Word 或Corel Wordperfect 的话,那么除了Xwindows 里面的编辑程式(如xemacs )用起来尚可应付外,于Linux 的文字模式下,会觉得档案编辑程式都没有Windows 程式那么方便。

( 注:什么是ASCII 的纯文字档案呢?说穿了,就是您开启的档案可以将内容给您看到的档案,而不是呈现乱码的档案,那就是纯文字档了!当您以Windows 的word 存一个档案时,在DOS 的情况下使用type ,嗯!完全不知到内容是什么?因为会出现很多的乱码,那并非是纯文字档,而如果以word 在存档时,选择『纯文字类型』,嗯!那就可以使用type 看到该档案的内容了!总之,纯文字档相当的容易修改就是了!)
无论如何,要管理好Linux 系统,纯文字的手工设定仍然是需要的!所以请您千万不要嫌麻烦,努力的将下文参详一下吧!以下我们以最常见到的vi 这套文书软体来介绍Linux 底下的文书编辑动作。

( 注:vi 是Unix 预设的文书处理软体,当然,也是Linux 预设的文书处理软体!)
基本上vi 共分为三种模式,分别是『一般模式』、『编辑模式』与『指令列命令模式』三种!
·一般模式:以vi 处理一个档案的时后,一进入该档案就是一般模式了。

在这个模式中,你可以使用『上下左右』按键来移动游标,您可以使用『删除字元』或『删除整行』来处理档案内容,也可以使用『复制、贴上』来处理您的文件资料。

·编辑模式:在一般模式中可以处理删除、复制、贴上等等的动作,但是却无法编辑的!要等到您按下『i, I, o, O, a, A, r, R』等字母之后才会进入编辑模式。

注意了!通常在Linux 中,按下上述的字母时,在画面的左下方会出现『INSERT 或REPLACE 』的字样,才可以输入任何字来输入到您的档案中!而如果要回到一般模式时,则必须要按下『Esc』这个按键即可退出编辑模式。

·指令列命令模式:在一般模式当中,输入『: 或/ 』就可以将游标移动到最底下那一行,在这个模式当中,可以提供您『搜寻资料』的动作,而读取、存档、大量取代字元、离开vi 、显示行号等等的动作则是在此模式中达成的!
简单的说,我们可以将这三个模式想成底下的图示来表示之:
闲话不多说,我们底下以一个简单的例子来进行说明吧!
简易执行范例
我们怎幺使用vi 建立一个档名为test.txt 的资料呢?也是很简单的啦,
1.使用vi 进入一般模式;
[root @test root]# vi test.txt
直接输入『vi 档名』即可进入vi 了!如下图所示,左下角还会显示这个档案目前的状态!如果是新建档案会显示[New File],如果是以存在的档案,则会显示目前的档名、行数与字元数,例如:『"/etc/man.config" 145L, 4614C』
2.按下i 进入编辑模式,开始编辑文字;
在一般模式之中,只要按下I, o, a 等字元,就可以进入编辑模式了!在编辑模式当中,您可以发现在左下角会出现–INSERT- 的画面,那就是可以输入任意字元的提示啰!这个时候,键盘上除了[Esc] 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以您可以进行任何的编辑啰!(注:在vi 里面,[tab] 这个按钮所得到的结果与空白字元所得到的结果是不一样的,特别强调一下!)
3.按下[ESC] 按钮回到一般模式;
好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下[Esc] 这个按钮即可!马上你就会发现画面左下角的– INSERT –不见了!
4.在一般模式中按下:wq 储存后离开vi !
OK,我们要存档了,存档并离开的指令很简单,输入『:wq』即可存档离开!(注意了,按下: 该游标就会移动到最底下一行去!)这时你在提示字元后面输入『ls -l 』即可看到我们刚刚建立的test.dat 档案啦!整个图示有点像底下这样:
如此一来,您的档案test.txt 就已经建立起来啰!很简单吧!需要注意的是,如果您的档案权限不对,例如为-r--r--r-- 时,那么可能会无法写入,那么可以使用『强制写入』的方式吗?可以!使用『:wq!』多加一个惊叹号即可!不过,需要特别注意呦!那个是在『您的权限可以改变』的情况下才能成立的!关于权限的概念,请参考一下Linux 的档案权限概念啰!
命令列内容说明
如前所述,所谓的命令列或命令模式,就是在最下面一行没有显示『--INSERT--』或者『--REPLACE--』字样的时候。

通常在命令列中的指令有下面几种:(注意,当按下『:』时,游标会自动移动到萤幕的最下面一行!)
OK!会这些指令就已经很厉害了,因为常用到的指令也只有不到一半!通常vi 的指令除了上面VBird 注明的常用的几个外,其他是不用背的,你可以做一张简单的指令表在你的萤幕墙上,一有疑问可以马上的查询呦!
一个案例练习
来来来!测试一下您是否已经熟悉vi 这个指令呢?请依照底下的需求进行您的指令动作( 请注意,该档案为Mandrake 9.0 所附上的档案内容,如果是其他的distribution ,可能结果会不太一样!),然后看一下结果在萤幕前面显示什么?
1. 请在/root 这个目录下建立一个名为vitest 的目录;
2. 进入vitest 这个目录当中;
3. 将/etc/man.config 拷贝到本目录底下;
4. 使用vi 开启本目录下的man.config 这个档案;
5. 在vi 中设定一下行号;
6. 移动到第62 行,向右移动40 个字元,请问您看到的双引号内是什么目录?
7. 移动到第一行,并且向下搜寻一下『teTeX 』这个字串,请问他在第几行?
8. 接着下来,我要将50 到100 行之间的man 改为MAN ,并且一个一个挑选是否需要修改,如何下达指令?
9. 修改完之后,突然反悔了,要全部复原,有哪些方法?
10. 我要复制51 到60 行这十行的内容,并且贴到最后一行之后;
11. 删除11 到30 行之间的20 行;
12. 将这个档案另存成一个man.test.config 的档名;
13. 去到第29 行,并且删除15 个字元;
14. 请问目前的档案有多少行与多少字元?
15. 储存后离开吧!
整个的步骤可以如下所示:
1. mkdir /root/vitest
2. cd /root/vitest
3. cp /etc/man.config .
4. vi man.config
5. : set nu
6. 先按下62G ,再按下40 + 向右键,会看到『/dir/bin/foo』
7. 先按下1G ,然后按下/teTeX 搜寻,会看到他在第51 行!
8. :50,100s/man/MAN/gc
9. (1)简单的方法可以一直按u 回复到原始状态,(2)使用不储存离开:q! 之后,再重新读取一次该档案
10. 51G 然后在10yy 之后按下G 到最后一行,再给他p 贴上十行!
11. 11G 之后,再给他20dd 即可删除20 行了;
12. :w man.test.config
13. 29G 之后,再给他15x 即可删除15 个字元;
14. 135行,共3903 个字元
15. :wq!
如果您的结果都可以查的到,那么vi 的使用上面应该没有太大的问题啦!剩下的问题会是在…..打字练习….。

相关主题