Unix及Linux系统常用的文本编辑器有两种,一种是 vi ,另一种是 vim 。vim (vi iMprove的缩写)编辑器是 vi 是(Visual Interface的缩写)编辑器的增强版,其实作为标准文本编辑器的 vi 非常优秀,使用 Unix 和 Linux 系统不可或缺的工具,而 vim 在他的基础上增加了字体颜色和语法判断,可以用多种颜色的方式来显示一些特殊的信息,方便设计,具有程序编辑能力。vim 的最大亮点有三个:
vim 以不同字体颜色识别语法正确性的程序编辑能力。
vim 会依据文件扩展名或者是文件内的开头信息, 自动判断并用颜色来显示程序代码与一般信息。
vim 支持正则表达式的搜索、多文件编辑、块复制等,方便运维人员快速修改配置文件。
学习 vi / vim 编辑器使用过程中,童鞋们要注意以下几点:
命令大小写的含义是不一样的。
必须在编辑模式下才能输入内容。
vi / vim 的认识
vi / vim 都具有三种编辑模式:
命令模式(默认):刚进入vim的时候,默认就是 命令模式,可以复制行,删除行等。
编辑模式:编辑模式可以输入内容、编辑文件、修改打开的文件。
末行模式:在最下边,除编辑模式,可以输入诸多管理员命令。
vi / vim 的模式转换方法
命令模式转换为编辑模式
按 i 键
在当前光标所在字符的前面,转为输入模式
按 I 键
在当前光标所在行的行首转换为输入模式
按 a 键
在当前光标所在字符的后面,转为输入模式
按 A 键
在光标所在行的行尾,转换为输入模式
按 o 键
在当前光标所在行的下方,新建一行,并转为输入模式
按 O 键
在当前光标所在行的上方,新建一行,并转为输入模式
按 s 键
删除光标所在字符
按 r 键
替换光标处字符
编辑模式转换命令模式
按 ESC 键
进入命令模式,复制行,删除行等
命令模式转换末行模式
输入 : 号
进入末行模式,进行保存、退出等
末行模式转换命令模式
按 ESC 键
进入命令模式
vi / vim 基本操作示例
vi 文本编辑器和 vim 文本编辑器的使用方法基本相同,本文以 vim 文本编辑器为例。如果想使用 vi 编辑器,只需要在输入命令时把 vim 换成 vi 即可。
打开和新建文件
1、vim /path/filename :vim后跟文件路径及文件名 ,如果文件存在,则打开编辑文件窗口,如果文件不存在,则创建文件
[root@libaoliang ~]# vim /etc/inittab
2、 vim + # :打开文件,并定位到第#行,#代表数字
[root@libaoliang ~]# vim +3 /etc/inittab
3、 vim + :打开文件,定位到最后一行
[root@libaoliang ~]# vim + /etc/inittab
4、 vim +/PATTERN:打开文件,定位到第一次被PATTERN匹配到的行的行首
[root@libaoliang ~]# vim +/start /etc/inittab
关闭文件
如果在命令模式下进行保存退出,按 ZZ (注意,这里是大写字母)保存并退出。
如果要在末行模式关闭文件,按照下表的说明完成,(注意,如果您现在不在末行模式,根据您现在所处的模式,用上面的方式切换到末行模式,即可进行文件关闭操作)。
1
输入 w 回车
保存
2
输入 q 回车
退出
3
输入 wq 回车
保存退出,wq 和 x 都是保存退出
4
输入 x 回车
保存退出,wq 和 x 都是保存退出
5
输入 q! 回车
强制退出
6
输入 w! 回车
强制保存,管理员才有权限
移动光标(命令模式下)
序号
类别
命令
说明
1
逐字符移动
k
向上移动光标(移动一行)
2
j
向下移动光标(移动一行)
3
h
向左移动光标(移动一个字符)
4
l
向右移动光标(移动一个字符)
5
#h
移动#个字符
6
按单词移动
w
移到下一个单词的词首
7
e
跳至当前或下一个单词的词尾
8
b
跳至当前或上一个单词的词首
9
#w
表示移动#个单词
10
行内行间跳转
0
绝对行首
11
^
行首第一个非空白字符
12
$
绝对行尾
13
#G
跳转到第#行
14
G
最后一行
翻屏(命令模式下)
序号
命令
说明
1
Ctrl+f
向下翻一屏
2
Ctrl+b
向上翻一屏
3
Ctrl+d
向下翻半屏
4
Ctrl+u
向上翻半屏
删除(命令模式下)
序号
命令
说明
1
x
删除光标所在处单个字符
2
#x:
除光标所在处及向后共#个字符
3
dd
删除当前光标所在行
4
#dd:
除包含当前光标所在行内的#行
复制粘贴(命令模式下)
序号
命令
说明
1
yy
复制当前行
2
nyy
复制n行
3
yw
复制一个字(单词)
4
nyw
复制n行
5
p
将复制的文本粘贴到光标后面
6
P
将复制的文本粘贴到光标前面
文本查找
如果希望进行全文件搜索,可以在普通模式(按两次 Esc 键)下输入 / 命令,这时状态栏(最后一行)出现”/”并提示输入要查找的字符串,回车即可。
/ 命令是向下查找,如果希望向上查找,可以使用 ? 命令。查找完成后,输入 n 命令可以按相同的方向继续查找,输入 N 命令可以按相反的方向继续查找。
搜索的字符串中可以包含一些有特殊含义的字符,如果希望搜索这些字符本身,需要在前面加反斜杠(\),特殊字符如下表所示。
序号
特殊字符
说明
1
^
匹配一行的开头
2
.
匹配一个字符
3
*
匹配0个或多个字符
4
$
匹配一行的结尾
5
[ ]
匹配一组字符
vi / vim编辑器设置(命令行模式)
序号
命令
说明
1
:set ic
搜索时忽略大小写。
2
:set ai
设置自动缩进(自动对齐)。
3
:set noai
取消自动缩进(自动对齐)。
4
:set nu
显示行号。
5
:set sw
设置缩进的空格数,例如,将缩进空格数设置为4::set sw=4。
6
:set ws
循环搜索:如果直到文件末尾也没有查找到指定字符,那么会回到开头继续查找。
7
:set wm
设置自动换行,例如,设置距离边际2个字符时换行::set wm=2 。
8
:set ro
将文件类型改为只读。
9
:set term
输出终端类型。
10
:set bf
忽略输入的控制字符,如 BEL(响铃)、BS(退格)、CR(回车)等。
vi / vim高级命令(命令行模式)
序号
命令
说明
1
J
将当前行和下一行连接为一行
2
<<
将当前行左移一个单位(一个缩进宽度)
3
>>
将当前行右移一个单位(一个缩进宽度)
4
~
改变当前字符的大小写
5
^G
Ctrl+G组合键可以显示当前文件名和状态
6
U
撤销对当前行所做的修改
7
u
撤销上次操作,再次按 ‘u’ 恢复该次操作
8
:f
以百分号(%)的形式显示当前光标在文件中的位置、文件名和文件的总行数
9
:f filename
将文件重命名为 filename
10
:w filename
保存修改到 filename
11
:e filename
打开另一个文件名为 filename 的文件
12
:cd dirname
改变当前工作目录到 dirname
13
:e #
在两个打开的文件之间进行切换
14
:n
如果用 vi 打开了多个文件,可以使用 :n 切换到下一个文件
15
:p
如果用 vi 打开了多个文件,可以使用 :n 切换到上一个文件
16
:N
如果用 vi 打开了多个文件,可以使用 :n 切换到上一个文件
17
:r file
读取文件并在当前行的后边插入
18
:nr file
读取文件并在第 n 行后边插入
服务器,享受优质的产品服务。运维教程,竭全力为用户提供优质服务。
如果您有任何疑问,请在页面右侧点击联系
本站所有内容,如有版权、侵权等问题,请及时联系本站做删除。发布者:云期刊,转载请注明出处:https://www.yunqikan.cn