所有的 Linux 系统都会内建 VI 文本编辑器,VIM 具有程序编辑的能力,可以看作是 VI 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补全、编译及错误跳转等方便编程的功能特别丰富。且VIM与VI编辑器完全兼容。
Vi 和 Vim 的三种常见模式:

  • 正常模式:

    1. vim 打开一个文档就直接进入了正常模式,在这个模式中,可以使用【上下左右】按键来移动光标,可以使用【删除字符】或【删除整行】来处理文档内容,可以使用【复制、粘贴】处理数据
  • 插入/ 编辑模式:

    1. 首先按一下【ioar】等任意一个字母,进入编辑模式,一般都是使用【i
  • 命令行模式:

    1. 这个模式中,可以提供相关指令,完成读取存盘、离开、替换、显示行符号等。

一般模式:

在一般模式中,最主要的功能就是:删除、复制、粘贴

命令 功能描述
u 撤销之前的操作
移动
w 跳至下一个单词
e 跳至下一个单词尾
b 跳至上一个单词头
shift+^ 移动至行头
shift+$ 移动至行尾
GG/ shift+h 移动至页头
G/ L 移动至页尾
n+G n 为数字,代表移动至第几行(例如 5+G,就会移动至第5行)
复制
yy 复制光标当前一行
n+yy n 为数字,代表复制多少行(例如 5+yy,就会连续复制5行)
y+$ 复制当前光标位置处,至当前行结尾处内容
y+^ 复制当前光标位置处,至当前行开头处内容
y+w 复制当前的单词
x 剪切当前光标位置的字符(向后)
shift+x 剪切当前光标位置前一个的字符(向前)
黏贴
p 黏贴复制的内容到光标当前行的位置
n+p n 为数字,代表黏贴多少次次(例如 5+p,就会连续黏贴5次)
删除
dd 删除光标当前一行
n+dd n 为数字,代表删除多少行(例如 5+dd,就会连续删除5行)
d+w 删除一个单词(连同当前单词后面的空格)
d+$ 删除当前光标位置处,至当前行结尾处内容
d+^ 删除当前光标位置处,至当前行开头处内容

编辑模式:

在普通模式下,按一下 i 就会进入到标记模式中;推出编辑模式按 ESC 即可。

按键 功能描述
i 当前光标前
a 当前光标后
o 当前光标行的下一行
I 光标所在行最前
A 光标所在行最后
O 当前光标的上一行

指令模式:

指令模式一般都是一般模式中进入的,按: / ?这三个键任意一个都可以进入指令模式。进入指令模式后,光标会移动至最下面一行,这个模式中可以进行对文件的读取,存盘,大量取代字符,离开等操作。

按键 功能描述
:q 退出
:w 保存
:wq 保存并退出
:q! 强制退出,不做任何修改
/要查询的单词 在文中查找对应的单词;n 查找下一个/ N 查找上一个
:noh 取消高亮显示
:set nu 显示行号
:set nonu 取消行号
:s/old/new old 为准备替换的单词,new为新的单词;替换仅为当前光标所在行的第一个单词
:s/old/new/g old 为准备替换的单词,new为新的单词;替换仅为当前光标所在行的所有单词
:%s/old/new old 为准备替换的单词,new为新的单词;替换仅为每一行的第一个单词
:%s/old/new/g old 为准备替换的单词,new为新的单词;替换为全局替换

image.png