【Linux】编辑器 - vim 的使用与配置

目录

1、vim的基本概念

2、vim的基本操作

2.1、vim 编辑器的进入与退出

2.2、插入模式

2.3、命令模式

2.4、底行模式

3、vim的配置

3.1、自定义配置

3.2、自动化配置


vim 的前身是 vi,vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

1、vim的基本概念

vim 不是一款集成开发程序,单纯只是一个多模式的 编辑器 。在 Linux 上一般使用 vim 来写代码,使用 gcc 来编译,使用 gdb 调试,工具与工具之间互相独立。

vim 的模式有很多种,其中最常用的三种模式,分别为命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode):

  1. 命令模式(Normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段以及进入 插入模式 或者 末行模式 下。
  2. 插入模式(Insert mode):只有在 插入模式 下,才可以做文字输入,按「ESC」键可回到命令模式。该模式是我们后面用的最频繁的编辑模式。
  3. 底行模式(last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,按下 shift+: 即可进入该模式。要查看你的所有模式:打开 vim,底行模式直接输入 :help vim-modes

三种模式转换关系如下图所示: 

【Linux】编辑器 - vim 的使用与配置_第1张图片

2、vim的基本操作

2.1、vim 编辑器的进入与退出

我们使用 vim 时,可以先使用 touch 指令创建一个文本文件,再使用 vim [文件名] 对其编辑,也可以直接使用 vim[文件名] ,系统会自动创建一个文本文件并命名为指定名字。

[root@iZuf69tfiox41j76yf0416Z lesson6]# ll
total 0
[root@iZuf69tfiox41j76yf0416Z lesson6]# touch test.c
[root@iZuf69tfiox41j76yf0416Z lesson6]# vim test.c

按下 enter 后,会进入 vim 编辑界面,默认模式为 命令模式 。我们按下 shift+: 进入底行模式,输入 q 可直接退出 vim 编辑器,此时我们编辑过的内容不会被保存,输入 wq 退出 vim 编辑器时,内容才会被保存。

2.2、插入模式

我们进入到 vim 编辑器,默认为 命令模式,可以发现我们在键盘上敲击字符,编辑器不会产生任何变化,这是因为只有在 插入模式 下,才可以做文字输入。在 命令模式 下键入字符 i ,可以切换到 插入模式。此时我们就可以进行文本编辑。

【Linux】编辑器 - vim 的使用与配置_第2张图片

 注意:编辑完成之后,我们要先按下 ESC 键回到 命令模式,才能退出 vim 编辑器。在 命令模式 下按下shift+: 进入 底行模式 ,输入 wq 保存并退出 vim 编辑器。

这时我们打印文件 test.c 可以看到文本已经被编辑了。

【Linux】编辑器 - vim 的使用与配置_第3张图片

补充内容:

  1. 如果你不知道自己在什么模式下,直接按下 ESC 键,就能保证此时自己一定处于 命令模式下。
  2. 退出的时候,我们一般都是先保存再退出,即在 底行模式 下输入 wq 
  3. 按下 a 或者 o 也可以进入插入模式。

2.3、命令模式

我们进入到 vim 编辑器,默认为 命令模式。为了方便观察,我们先按下 shift+进入 底行模式 ,输入 set nu 显示行号(set nonu 去掉行号)。再按下 ESC 键回到命令模式。

【Linux】编辑器 - vim 的使用与配置_第4张图片

接下来介绍几个在 命令模式 下的指令:

  • yy/nyy:复制当前行或者包括当前在内的往下 n 行内容
  • dd/ndd:剪切(也可以当作删除使用)当前行或者包括当前在内的往下 n 行内容
  • p/np:粘贴一行或者 n 行相同的内容到当前光标所在行之下
  • u:撤销刚刚的操作
  • Ctrl+r:对撤销操作进行撤销
  • shift+g / G:将光标定位到文档结尾
  • n shift+g / n G:将光标定位到第 n 行
  • gg:将光标定位到文档开头
  • $:将光标定位到该行的结尾
  • ^:将光标定位到该行的开头
  • w/nw:将光标按照单词为单位相右移动一个单位或者 n 个单位
  • b/nb:将光标按照单词为单位相左移动一个单位或者 n 个单位
  • shift + ~:快速对光标所在位置的字符进行大小写切换
  • r /nr :将光标所在位置的一个字符或者向后的 n 个字符替换成指定字符
  • x/nx:将光标所在位置的一个字符或者向后的 n 个字符删除
  • X/nX:将光标所在位置的前一个字符或者向前的 n 个字符删除
  • h/j/k/l:分别将光标向 左/下/上/右 移动一个字符

同学们一定要自己动手操作一遍。

2.4、底行模式

我们进入到 vim 编辑器,默认为 命令模式。按下 shift+: 可以进入到底行模式,我们来介绍 底行模式下 的几个指令。

  • set nu:显示行号
  • set nonu:去掉行号
  • /字符串:搜索指定字符串,并把它们高亮标出
  • wq:保存退出 vim 编辑器
  • wq!:保存强制退出 vim 编辑器
  • q:直接退出 vim 编辑器
  • q!:直接强制退出 vim 编辑器
  • ![指令] :切换到 vim 编辑器外并执行指定指令,并不退出 vim 编辑器
  • %s/字符串A/字符串B/g:将 指定字符串A 全部替换成 指定字符串B
  • vs [文件名]:在 vim 编辑器中创建一个新的文件为之命名,并分屏显示
  • Ctrl+ww:在分屏的 vim 编辑器中来回切换,光标在哪一个分屏,操作的就是哪一个分屏中的文件

 注意:在 vim 中,除了用鼠标复制粘贴外,不要用鼠标操作。

3、vim的配置

3.1、自定义配置

vim 在启动的时候,会自动在当前用户的家目录下寻找配置文件,如果没有,就是默认配置。

我们自己在家目录下创建一个文件,命名为 .vimrc ,这个文件就是 vim 启动时会寻找的配置文件。一个用户,一个 vim 配置,我们作为当前用户所做的配置,不会影响到其他用户。

我们使用 vim 对文件 .vimrc 进行编辑:

[ljb@iZuf69tfiox41j76yf0416Z ~]$ vim .vimrc

在文本中输入 set nu :

【Linux】编辑器 - vim 的使用与配置_第5张图片

 保存退出之后,我们使用 vim 编辑器打开之前编辑过的文件 test.c :

【Linux】编辑器 - vim 的使用与配置_第6张图片

可以看到文本内容已经默认带上行号了

我们再使用 vim 打开文件 .vimrc ,把我们刚刚添加的一行代码 set su 删除掉,保存退出。

再使用 vim 编辑器打开文件 test.c:

【Linux】编辑器 - vim 的使用与配置_第7张图片

 此时文本内容已经不再自带行号了。

由此我们可知,对于 vim 编辑器的配置,是即时生效的!

这里仅仅是方便大家理解 vim 配置所进行的一个小小的操作,如果大家以后需要进行一些复杂的配置,可以直接去网上搜索,复制粘贴到我们自己的配置文件里就可以了。

3.2、自动化配置

如果不想自己费时费力去配置 vim 的话,也很简单,这里有一份自动配置方案,只不过只适用于  centos 7 版本,大家点击该链接就可以进行跳转。

往下翻,找到安装方法:

【Linux】编辑器 - vim 的使用与配置_第8张图片

 把这段链接直接复制到我们的 Linux 终端,按下 enter 。

【Linux】编辑器 - vim 的使用与配置_第9张图片

 输入 root 的密码,接下来就不用我们操作了,系统会自动进行 vim 配置,配置完成之后,按照提示的操作进行清理缓存,就可以直接使用了。

 以下是配置好之后的 vim 编辑器:

【Linux】编辑器 - vim 的使用与配置_第10张图片


 以上就是 Linux 编辑器 vim 的基本知识,希望同学们多多支持,如果有不对的地方希望大佬指正,谢谢!

你可能感兴趣的:(Linux,linux,vim,运维)