1. 首页
  2. 运维教程

Linux系统维护必用的 vi 和 vim 文本编辑器命令详细使用手册,小白也能秒懂

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

400-100-6858

在线咨询:点击这里给我发消息

邮件:drhxxkj@163.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code