vim 编辑器

前面小节介绍如何创建文件、移动文件、删除文件,但之前都没有介绍如何修改文件内容,本小节介绍如何使用 vim 编辑器对文件内容进行修改,另外介绍 vim 编辑器的安装和使用。

1. vim 编辑器简介

vim 编辑器是由 vi 发展而来的文本编辑器。它的功能有代码补全、编译、错误跳转等等,编其功能特别丰富,尤其在程序开发时被广泛使用,emacsvim 两款编辑器在 UNIX 系统中非常受欢迎。

vim 编辑器的命令组合是它的设计理念。同时 vim 编辑器与很多快捷键设置和正则表达式类似,可以辅助记忆,并且优化之后的 vim 编辑器针对程序员很友好。

通过对前面小节的学习我们知道,在 Linux 操作系统中 “一切皆文件”,所以当我们在命令行窗口模式下想要更改文件的内容时,就不可避免地要利用到文本编辑器,学习如何使用文本编辑器,将会对您学习 Linux 文件相关的知识非常有帮助。

2. 检查 Linux 系统中是否安装 vim 编辑器

使用如何命令检查 vim 编辑器是否安装:

vim -v

执行结果如下图:

图片描述

如果出现上图所示的内容的话,则表示没有安装 vim

3. 使用 yum 命令安装 vim 编辑器

使用 yum 命令安装 vim 编辑器命令如下:

yum -y install vim

执行结果如下图:

等待安装完成输入 vim -v 即可查看到 vim 编辑器的相关信息:

图片描述

Tips:在如图所示的窗口下,可以输入 :q 回车就能退出。

4. vim 编辑器用法介绍

4.1 vim 编辑器三种模式

  • 普通模式:当你刚开始进入 vim 编辑器的时候默认会进入普通模式
  • 插入模式:在 vim 普通模式的时候,按下 i 键就可以进入插入模式,若想从 插入模式 回到 普通模式, 可以按下 ESC 键;
  • 命令模式:在普通模式下按下 : 键(Shift + :),若想从 命令模式 回到 普通模式,可以按下 ESC 键。

Tips:这三种模式其实就是文本编辑器当前的状态,普通模式 可以理解为一般的打开查阅文件,可以查看和查找文件内容,不能修改内容;插入模式 可以理解为编辑状态,能对当前的文件内容修改,但是想要保存就需要当前登录用户拥有该文件的写入权限才能保存成功;命令模式 中的命令操作可以理解为编辑器对编辑后的文件的退出、保存等操作,如 :wq 表示保存退出,:q! 表示不保存强制退出。

4.2 vim 光标移动键介绍

命令 作用 命令 作用
:set nu 设置行号 : set nonu 取消行号
gg 跳到第一行 G 跳到最后一行
nG 到第n行 :n 到第n行
$ 移到行尾 ^ 移到行首
ctrl+b 向上翻屏(before) ctrl+f 向下翻屏

4.3 命令行模式下的命令介绍

  • q:表示退出,若有修改内容按 q,则会提示 E37: 已修改但尚未保存 (可用 ! 强制执行)
  • q!:表示强制退出,不会保存修改的内容;
  • w:表示对修改的内容保存;
  • wq:表示保存并退出。

Tips:输入以上命令后,按回车即可执行命令。

4.4 普通模式下的命令介绍

命令参数名称 功能与作用描述
x 删除当前光标所在位置的字符
nx 删除光标所在处后n个字符
dd 删除当前光标所在行
ndd 删除n行
dw 删除当前光标所在位置的单词
d$ 删除当前光标所在位置至行尾的内容
J 删除当前光标所在行行尾的换行符(拼接符)
u 撤销前一编辑命令
a 在当前光标后追加内容,输入完按 ESC 即可退出 插入模式
A 在当前光标所在行行尾追加数据

4.5 复制和剪切命令

命令 作用
yy 复制当前行
nyy 复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p/P 粘贴在当前光标所在行上或行下

4.6 搜索和搜索替换命令

命令 作用
/string 搜索指定字符串,搜索时忽略大小写:set ic
n 搜索字符串的下一个出现位置
N 搜索字符串的上一个出现位置
:s/old/new 替换光标所在行的第一个位置
:s/old/new/g 替换光标所在行的所有位置
:%s/old/new/g 全文替换指定字符串
:n1,n2/old/new/g 在一定范围内替换指定字符串

4.7 取消高亮

: nohl

普通用户编辑vim /home/user/.vimrc,将上述常用命令下载文件中

root用户编辑vim /.vimrc,将上述常用命令下载文件中

syntax on 代码高亮

syntax off 取消代码高亮

5. 使用 vim 新建文件

进入 /home 目录,然后使用 vim 命令新建一个 new.log 文件,命令如下:

cd /home

ls

vim new.log

执行结果如下图:

如上图所示,建一个文件名为 new.log 的文件,面进入临时文件 new.log 界面,如下图所示:

图片描述

Tips:此时的 new.log 文件并没有被保存,vim 编辑器是在内存缓冲区中处理数据的,若在启动 vim 编辑器时没有指定文件名或者文件不存在时,vim 编辑器会开辟一个新的缓冲区。

6. 使用 vim 编辑文件

在进入 vim 普通模式下,可以按下 i 键进入插入模式来编辑文件内容,如下图所示: 图片描述

7. vim 编辑器保存退出

编辑完内容之后按下 ESC 键退出插入模式,然后输入 :wq 按回车之后既可以保存退出:

图片描述

8. 使用 cat 查看 vim 编辑的文件

这里可以使用之前学习的 cat 命令查看新建的 new.log 文件内容:

ls

cat new.logCopy

执行结果如下图:

图片描述

Tips:也可以使用 vim new.log 打开文件查看内容。

9. 小结

本小节介绍了 vim 编辑器的基本功能和用法,需要注意的是 vim 编辑器还有很多其他丰富的用法,比如使用 vim 编辑器查看文件内容时,可以按下 ./ 然后输入关键字回车可以查找关键字,本小节的目的主要是学习 vim 编辑器基本的用法,并且能对文件进行修改和保存,熟悉本小节之后,您将掌握到如何在 Linux 命令行中对文件进行修改。