Linux运维实战:CentOS7.6操作系统从入门到精通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第5章 vim编辑器和Xmanager工具

5.1 vim主要模式介绍

vim是文本编辑器,只编辑纯ASCII码的文档,没有任何多余的修饰符。

首先需要确保系统已经安装了vim工具。

5.1.1 安装vim及编辑模式

以上输入的查询结果表示已安装好。

知识扩展:vim是vi的增强版,最明显的区别就是vim可以加亮语法,它完全兼容vi。

vim编辑器模式之间的切换如图5-1所示。

图5-1 vim模式之间切换

5.1.2 模式介绍

首次进入文件,处于“命令模式”。

出现“Insert”,处于“编辑模式”。

输入冒号“:”,处于“命令行模式”。

vim模式之间的切换方式如下。

“命令模式”切换为“编辑模式”,可按键盘上的字母键a、i、o、A、I、O。

“编辑模式”切换为“命令模式”,按Esc键。

“命令模式”切换为“命令行模式”,输入冒号“:”。

1.命令模式切换为编辑模式

(1)i:在当前字符之前插入(光标前)。

(2)I:在行首插入。

(3)a:在当前字符之后插入(光标后)。

(4)A:在行尾插入。

(5)o:在下一行插入(另起一行)。

(6)O:在上一行插入(上一行)。

2.在命令模式下做的操作

(1)h:光标向左移动。

(2)j:光标向下移动。

(3)k:光标向上移动。

(4)l:光标向右移动。

(5)0和home键:切换到行首;$和end键:切换到行尾。

(6)gg:快速定位到文档的首行,G定位到末行。

(7)3gg(或者3G):快速定位到第3行。

(8)u:撤销一步,每按一次就撤销一次。

(9)r:替换。

(10)/string(字符串):找到或定位要找的单词或内容,如果内容比较多,可以通过按字母键N、n来进行向上向下查找,并且vim会对查找到的内容进行高亮显示,取消用 :noh。

(11)/^d:查找以字母d开头的内容,^符号表示以什么开头。

(12)/t$:查找以字母t结尾的内容,$符号表示以什么结尾。

(13)vim + a.txt:打开文件后,光标会自动位于文件的最后一行。

3.对文本进行编辑

对文本内容的编辑主要有复制、删除、粘贴、撤销等常见操作。

(1)y:对单个字符进行复制,如果要复制整行,用yy。

(2)Nyy:复制N行,如2yy,表示光标所在行往下复制2行。

(3)dd:删除当前光标所在行。

(4)Ndd:删除N行,如2dd,表示光标所在行往下删除2行。

(5)p:在光标所在下一行插入粘贴的内容。

(6)dd:剪切。

(7)x:向后删除一个字符,等同于Delete。

(8)X:向前删除一个字符。

(9)D:从光标处删除到行尾。

(10)u:撤销操作。

(11)Ctrl+r:还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样。

(12)r:替换,或者说用来修改一个字符。

4.总结:vim如何进入其他模式

(1)按字母键a、A、o、O、i、I都可以进行插入,并进入编辑模式。

(2)输入冒号“:”,进入命令行模式。

(3)按字母v键,进入可视模式。

(4)按Ctrl+v组合键,进入可视块模式。

(5)按r键,擦除、改写,进入替换模式。

(6)进入以上模式后,要想退出,可按Esc键。

知识扩展:在插入模式中,Ctrl+p组合键可以进行补全操作,所修改的内容必须是在当前打开的文件内存在的,它只针对当前文件。

5.1.3 可视块模式

按字母v键,进入可视块模式后,移动光标可选择区域,如编程的时候需要进行多行注释,Ctrl+v组合键可以进入可视块模式。

(1)向下或向上移动光标,把需要注释、编辑的行的开头选中。

(2)按大写字母I键。

(3)插入注释符或者需要插入的符号,如“#”。

(4)按Esc键,实现全部注释或添加。

(5)删除:按Ctrl+v组合键进入可视块模式,通过键盘上下键移动光标选中注释部分,然后按字母d键,删除选中的注释符号。

5.1.4 命令行模式操作

在命令行模式下,使用的操作如下(冒号后为命令行模式下输入的内容)。

(1):w:保存。

(2):w!:强制保存。

(3):q:没有进行任何修改,退出。

(4):q!:修改了,不保存,强制退出。

(5):wq:保存并退出。

(6):wq!:强制保存并退出。

(7):x:保存退出。

例5.1:强制保存并退出操作示例。

5.1.5 调用外部文件或命令

假设在vim中编辑文档时,想要写入本机的网卡MAC地址,需要先查看一下网卡MAC地址,此时不需要退出当前的文档编辑,因为Vim在命令行模式下提供了直接可以调用系统命令的功能。

在命令行模式下做如下操作。

(1)当需要在文本中调用系统命令以方便复制和粘贴时,在命令行模式下输入!+命令并按Enter键。

如输入!ifconfig会在文本中调用ifconfig命令并输出命令结果,如图5-2所示。

图5-2 调用ifconfig命令

(2)当需要在当前文本下读取其他文件以方便完成批量添加或导入操作时,在命令行输入r +文件名,如输入:r /etc/hosts,会读取/etc/hosts文件内容,如图5-3所示。

图5-3 读取/etc/hosts文件内容

5.1.6 文本替换

范围中的%表示文件中的所有内容,分隔符可以自定义。

格式:范围 s分隔符 旧的内容 分隔符 新的内容。

默认替换每一行的第一个符合要求的词,加上/g表示替换全部。

注意:以下操作都是在命令行模式下完成的。

(1):1,3 s/bin/xuegod:将第1~3行中出现的第一个bin替换成xuegod。

(2):1,3 s/bin/xuegod/g:将第1~3行中查找到的所有的bin替换成xuegod。

(3):3 s/xue/aaaaa:只替换第3行中的内容。

(4):% s/do/xuegod/g:将文本中所有的do替换成xuegod。

(5):% s/do/xuegod/gi:将文本中所有的do替换成xuegod,并且忽略do的大小写。

(6):% s@a@b@g:将文本中所有的a替换成b。

5.1.7 自定义vim使用环境

1.临时设置环境

在命令行模式下输入以下内容,临时设置环境。

(1):set nu:设置行号。

(2):set nonu:取消设置行号。

(3):noh:取消高亮显示命令,默认高亮。

2.永久设置环境

在文件中编辑后便会永久生效,如在~/.vimrc中加入set nu,则当前用户打开所有文件默认带行号。

例5.2:root用户下所有文件打开后默认带行号。

图5-4 vim设置永久显示行号

5.1.8 使用vim打开多个文件

(1)以上下形式打开并显示两个文件。

(2)以左右形式打开并显示两个文件。

注意:按Ctrl+ww组合键:在两个文件之间进行切换编辑。用vim查看文件时,参数用大写字母O,文件以左右分屏显示,参数用小写字母o,文件以上下分屏显示。

图5-5 vim以上下形式同时打开两个文件

5.1.9 比较两个文件内容

图5-6 vimdiff命令对比两个文件

5.1.10 其他编辑器

其他编辑器如下。

(1)nano编辑器。

(2)Emacs编辑器。

(3)Gnome下,gedit编辑器。

例5.3:gedit文本编辑器。

图5-7 图形化下的gedit文本编辑工具