Linux vi 与 vim 编辑器的使用

文本编辑器是每个操作系统都带有的基本功能,就像 Windows 有自带的记事本一样,Linux 里也有自己的文本编辑器,不同发行版之间的文本编辑器里可能又会有所不同,但是 vi 编辑器是每款 Linux 发行版都会带有的编辑器,所以学习 Linux 里的 vi 编辑器的使用是很重要的,它可以在黑压压的控制台页面进行操作文本,作为运维人员熟练掌握它是必须的,而 vim 可以看作是 vi 编辑器的增强版,能够以字体的颜色辨别语法的正确性,方便程序设计。

一、vi 和 vim 的三种模式

  • 1. 正常模式
    正常模式下,我们可以使用快捷键来进行快速操作文本。
    默认一打开就是在这个模式下,可以使用【上下左右】按键来移动光标,可以用各种快捷键来删除一整行,或者复制一整行,再去粘贴,等等使用快捷键的方式去操作文本,此文后续会有常用快捷键的使用方法。

  • 2. 插入模式/编辑模式
    编辑模式下就是可以进行像 Windows 下记事本那样操作文本了,
    按下 i、I、o、O、a、A、r、R 等任何一个字母后才会进入编辑模式。

按键说明
i在当前光标前插入
I在当前行首插入
a在当前光标后插入
A在当前行尾插入
o在当前行下方新建一行
O在当前行上方新建一行
r替换当前字符
R连续替换多个字符
  • 3. 命令模式
    这个模式可以提供相关指令,完成读取、存盘、替换、离开 vim、显示行号等动作。

  • 4. 三种模式之间的转化
    正常模式 > 插入模式:按 i、I、o、O、a、A、r、R 即可进入
    插入模式 > 正常模式:按 ESC 键
    正常模式 > 命令模式:按 : 或者 / 即可
    命令模式 > 正常模式:按 ESC 键
    插入模式 > 命令模式:必须先进入正常模式后再进入命令模式
    三种模式转化图如下:

vim 三种模式转换

二、常用快捷键

  • 正常模式
    1.复制当前行:yy,复制 5 行是 5yy
    2.粘贴:p
    3.删除当前行:dd,删除 5 行是 5dd
    4.到达最首行:gg
    5.到达最末行:G
    6.撤销插入模式下编辑的内容:u
    7.撤销刚才的撤销:Ctrl+r
    8.光标移到第 10 行:先输入 10,然后再 shift+g

  • 命令模式
    1.设置显示 / 隐藏行号:set nu / set nonu
    2.查找某段文本: /要查找的内容
    按 n 下一个,N 查找上一个
    \c 可以忽略大小写,\C 区分大小写
    3.退出查找(取消高亮):nohl
    4.保存:w
    5.退出:q
    6.强制退出(修改了未保存):q! 会忽略之前的修改,相当于没修改退出。
    7.保存并退出:wq

三、实战小技巧

批量替换:在命令模式下使用 :%s/old/new/g 可以将全文中的 old 替换为 new。

多文件编辑:使用 vim file1 file2 可以同时打开多个文件,:n 切换到下一个文件,:N 切换到上一个文件。

可视模式:在正常模式下按 v 进入可视模式,可以选中文本后进行复制、删除等批量操作。

以上为常用快捷键,其他可自行 Google 查询相关使用。

四、vi/vim 键盘使用图

vim 键盘使用图