Linux中,很多系统的管理和功能的配置都需要修改系统配置文件,而几乎所有的配置文件都是文本文件,当需要对Linux系统进行管理和设置时,管理员就要使用文本编辑器对相应的配置文件进行修改,熟练使用文本编辑器是很有必要的
文本编辑器分类:
行编辑器和全屏幕编辑器:
行编辑器比较古老,现在已经消失,以行为单位进行文本编辑,即使发现上一行有错误也不能返回修改
全屏幕编辑器:可以在屏幕上编辑文件中所有行的文本内容,本书主讲的Vi就是
字符界面编辑器和图形界面编辑器
字符界面产生时间较长,早期的Unix就是工作在字符界面下,占用资源小,运行效率高,使用于各种场合,现在仍然是最主要的编辑器。
图形界面编辑器是在图形界面下运行的文本编辑程序,工作在X-Window环境中。使用鼠标进行操作,简单易学,减少了编辑难度
文本编辑器介绍:
V i:发明者是bill joy,是最常用的字符界面文本编辑器,RHEL4默认支持Vim,是vi的加强版本,也成为vi。一直以来Unixvi作为默认的编辑器,通过长时间的发展,现在的vi不仅是一个编辑器,还是一个功能强大的编辑平台,可以完成包括程序编写在内的各种文本编辑任务
EmacsGNU软件,专为编辑程序源代码编写的,支持常用编程语言的编写
N ano:较现代的字符界面的文本编辑器,界面较vi友好,在底部有帮助菜单
G editLinux中图形环境的文本编辑器
2vi文本编辑器
    V i的模式:vi编辑器独有
A  命令模式:vi编辑器启动后默认进入的模式,此模式下所有的操作(组合键和输入字符)被当作命令来处理,可以从命令模式进入到其他两种模式
B  输入模式:处于文本的编辑状态,可以对文件进行各种编辑操作,标志是在左下角有“ INSERT--”标志。按“ESC”进入到命令模式
C  末行模式:vi编辑器中的一些复杂操作,需要在末行模式下完成。在命令模式下输入“:”后进入末行模式,出现在当前编辑屏幕的最底端,输入各种末行操作命令,按“ESC”进入到命令模式
V i编辑器的基本使用
V i编辑器启动与退出,这里vi=vim(命令别名)
#vi filename   直接启动vi编辑器并进入文件发filename的编辑状态。 F ilename存在则进行编辑,filename不存在则创建此文件并进入编辑状态
退出vi编辑环境
末行模式命令  :q!     不保存当前的编辑内容而退出
文件操作:
打开新文件:
vi编辑环境中打开新文件
使用末行命令  :e  filename
读取文件内容到当前文件
末行模式下使用命令   :r   filename
保存文件:
vi编辑器中保存文件:
使用末行命令  :w  filename
如果vi编辑器中所编辑的文件已经命名,可以直接使用w命令保存
另存为:
末行模式下使用命令   :w  filename1
退出vi编辑器
q   使用此命令文件必须已经保存
wq  保存文件同时退出编辑器(使用的最多)
q!  不保存退出
光标移动:命令模式下
除了上下左右方向键之外,还有hjkl四个键分别代表左下上右
^shift+6)快速移动到本行行首字符,$(shift+4)快读移动到本行行尾字符
显示行号是末行命令  :set  nu  
取消行号是末行命令  :set  nonu
行间快速跳转是在命令模式下
1G  到文件的首行
G   到文件末行
#G   跳转到第#
编辑操作:
进入输入模式:在命令模式下
在当前光标处进入插入状态
在当前光标后进入插入状态
在当前行的下一样插入一行,处于插入状态
光标移动到当前行首,处于插入状态
光标移动到当前行尾,处于插入状态
在当前行上一行插入一行,处于插入状态
输入模式的操作:
上下左右方向键移动光标
使用homeend快速定位光标到行首和行尾
使用page uppage down进行文本翻页
使用backspace键删除光标左侧字符
使用delete键删除光标位置的字符
删除操作:
命令模式下
删除光标处字符
dd 删除光标所在行
nx 删除当前光标处向右3个字符
ndd 删除当前行
撤销操作:
取消最近一次操作,可多次使用u命令恢复已进行的多步操作
取消当前行进行的所有操作
C trl+r u命令撤销的操作进行恢复
复制操作:
yy:复制当前行的内容到缓存区
nyy:复制当前行及以下n-1行到缓存区
末行模式下  :mny    对文件中第m行到第n行之间的文本进行复制
粘贴操作:
在命令模式下输入字母p
查找和替换:
自上而下:在末行模式下输入   :/word
输入n,代表查找下一个匹配的字符
输入N,代表查找上一个匹配的字符
自下而上:在末行模式下输入  :?word
N n用法相同
符合条件的字符会高亮显示,取消高亮显示,在末行模式下输入:nohl
替换操作:
行内替换:
末行命令:s/old/newold是被替换的字符串,new是替换成的字符串。值替换第一个符合条件的字符串
末行命令:s/old/new/g,替换一行里面所有符合条件的字符串
末行命令:n,ms/old/new/g,区域替换
末行命令:%s/old/new/g,整篇文档替换
末行命令:%s/old/new/gc,整篇文档替换,替换时给于确认
多文件操作:
命令行下:  vi filename1 filename2 filename3  同时打开多个文件
使用末行模式下命令:args
末行命令:nextprev  分别是编辑下一个文件和上一个文件
末行命令:firstlast   是编辑第一个和最后一个文件
打开文件的使用使用选项-o 是上下分屏编辑;使用-O 是左右分屏编辑
使用组合键:    CTRL+W+W在屏幕之间进行鼠标切换