Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1659359
  • 博文数量: 1493
  • 博客积分: 38
  • 博客等级: 民兵
  • 技术积分: 5834
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-19 17:28
文章分类

全部博文(1493)

文章存档

2016年(11)

2015年(38)

2014年(137)

2013年(253)

2012年(1054)

2011年(1)

分类: LINUX

2014-01-19 17:45:08

系统管理员的重要工作就是修改与设置某些重要软件的配置文件,因此至少要学会一种以上的命令行界面的文本编辑器。在所有的linux distribution上头都会有一套文本编辑器就是vi,而且很多软件默认也是使用vi作为它们编辑的界面,因此笔者建议你务必学会使用vi这个强大的文本编辑器。此外,vim是高级版的vi,vim不仅可以使用不同的颜色显示文字内容,还能够使用诸如shell脚本,C等编辑功能,我们可以将vim视为一种程序编辑器
1. 基本上vi共分3种模式,分别是一般模式、编辑模式与命令行模式。
(1)一般模式
以vi打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以上下左右按键来移动光标,你可以删除字符或删除整行,也可以复制、粘贴你的文件数据。
(2)编辑模式
在一般模式中,你可以进行删除、复制、粘贴等的操作,但是却无法编辑文件内容的。要按下“i,I,o,O,a,A,r,R”等任何一个字母后才会进入编辑模式。通常在linux中,按下这些按键时,在界面的左下方就会出现INSERT或REPLACE的字样,此时才可以进行编辑。而如果要回到一般模式时,则必须要按下[ESC]这个按键即可退出编辑模式;
(3)命令行模式
在一般模式中输入“:,/,?”3个中任何一个按键,就可以将光标移动到最下面那一行。在这个模式中,可以提供你查找数据的操作,而读取、保存、大量替换字符、离开vi、显示行号等操作都是在此模式下完成的。
2. 简单的执行范例:
[root@localhost~]# vi text.txt               //打开text.txt文件;
进入一般界面,按下i进入编辑模式,开始编辑文字;
按下[ESC]键回到一般模式;
在一般模式中输入“:wq”保存后离开vi;
3. vi下面常见按键说明:
n    //按下数字和空格,光标会向右移动这一行的n个字符;
0                   //移动到这一行的最前面字符处(常用);
H                  //光标移动到这个屏幕最上方那一行的第一个字符;
M                  //光标移动到这个屏幕的中央那一行的第一个字符;
L                   //光标移动到这个屏幕的最下方那一行的第一个字符;
G                  //移动到这个文件的最后一行(常用);
nG               // n为数字,移动到这个文件的第n行;
gg               //移动到这个文件的第一行,相当于1G(常用);
N[Enter]     //n为数字,光标向下移动n行(常用);

4. 查找和替换
/word         //向下寻找一个名称为word的字符串;
?word         //向上寻找一个名称为word的字符串;
:n1,n2s/word1/word2/g    //从n1到n2行之间把word1替换为word2(常用);
:1,$s/word1/word2/g         //从第一行到最后一行把word1替换为word2(常用);
:1,$s/word1/word2/gc       //从第一行到最后一行把word1替换为word2,在替换前需要用户确认(常用);
5. 删除、复制和粘贴(常用)
x                 //在一行中,x为向后删除一个字符;(相当于[Del]按键)
X                 //在一行中,X为向前删除一个字符;(相当于[Backspace]按键)
nx               //n为数字,连续向后删除n个字符;
dd               //删除光标所在的那一整行;
ndd             //n为数字,删除光标所在的向下n行;
yy                //复制光标所在的那一行(常用);
nyy              //n为数字,复制光标所在的向下n行;
p,P             //p将已经复制的的数据在光标的下一行粘贴,P则为粘贴在上一行(常用);
6. 替换模式:
r                  //进入替换模式,r只会替换光标所在的那一个字符一次;
R                 //R会一直替换光标所在的文字,知道按下[Esc]键为止(常用);
7. 命令行的保存、离开命令:
:wq            //保存后离开;(常用)
:w[filename]      //将编辑的数据保存到另一个文件(类似与另存文件);(常用)
:wq yangbao      //即将原编辑文件另存为yangbao;
8. 设置与取消行号:
set nu          //显示行号,设置之后,会在每一行显示该行的行号;
set nonu     //与set nu相反,取消行号;










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