Linux系统下的编辑器

 在Linux系统环境下系统管理员的重要工作就是修改与设置某些重要软件的配置文件,因此至少得要学会一种以上的

命令行界面的文本编辑器。在所有的Linux distribution上都会有一套文本编辑器vi,很多程序的默认编辑器也是

vi。还有一种编辑器是vim,它是vi的增强版,vim不但可以用不用颜色显示文本内容,还能够进行脚本等程序编辑功

能。另外一种比较常用地就是sed(stream edit)流编辑器,它主要用于对文本实现非交互式操作,所以经常用于脚

本程序中。下面我们来详细的认识一下它们。

 

vi (vim) 分为三个模式:命令模式    插入模式  末行模式

命令模式

1. 移动光标                  h  向左移动    j 向下移动    k向上移动    l向下移动

                               H  移动到屏幕的最顶行行首              

                L移动到屏幕的最尾行行首   

                               M   移动到屏幕的中间行行首

                                nG    移动到第n行     1G  2G      

                                G      移动到最后一行

行内移动                           ^    移动到行内相对的行首

               0   移动到行内绝对的行首

                 $    移动到行内的行尾

2. 复制  粘贴           yy复制一行    nyy复制多行        p

3. 取消         u

4.删除         dd删除一行    ndd删除多行

5.保存         ZZ

插入模式      

 i       插入在当前光标位置

I       插入在当前光标所在行的行首

a       插入在当前光标位置右边

A       插入在当前行所在行的行末

o       插入在光标所在行的下一行

O       插入在光标所在行的下一行      

底行模式

1.显示行号         set nu            set  nonu

2.保存退出         w  保存           q  退出          wq!          q!

3.查找替换          s/old/new/g          整行替换

行号1,行号2  s/old/new/g          从行号1到行号2整行替换

.,+5  s/old/new/g 从当前行开始向下5行,凡是匹配的都整行替换

.,-5  s/old/new/g 从当前行开始向上5行,凡是匹配的都整行替换

.,$  s/old/new/g 从当前行开始直到末行,凡是匹配的都整行替换

sed (stream  edit)  流编辑器      用于对脚本实现非交互操作

sed    ‘模式’  对象

sed   's/old/new/g'  对象     /为分割符,分割符可以任意标注   g代表全局    把old字符替换为new字符

sed   '1,20  s/old/new/g'  对象      从行号1到行号2整行替换

sed   '/root/,/abc/  s/old/new/g'   对象    第一次出现root到第一次出现abc都执行替换操作