在Linux中,Vim是一个非常强大的文本编辑器,广泛应用于代码编写、文档编辑等多种场景。Vim提供了丰富的指令集,以下是一些常用的Vim指令笔记,涵盖了Vim的三种主要模式:命令模式(Normal模式)、编辑模式(Insert模式)和末行模式(Ex模式)。
一、Vim的三种模式
- 命令模式(Normal模式)
- 默认进入Vim后的模式。
- 在此模式下,不能对文件直接编辑,但可以通过快捷键进行光标移动、复制、粘贴、删除等操作。
- 编辑模式(Insert模式)
- 按下
i
、a
、o
、O
等键进入此模式。 - 在此模式下,可以对文本进行插入、修改等操作。
- 按下
- 末行模式(Ex模式)
- 按下
:
(冒号)键进入此模式。 - 在此模式下,可以输入命令对文件进行操作,如保存、退出、搜索、替换等。
- 按下
二、常用指令
1. 命令模式指令
- 光标移动
h
、j
、k
、l
:分别代表左、下、上、右移动光标。^
、$
:分别移动到行首和行尾。gg
、G
:分别移动到文件的第一行和最后一行。nG
:移动到文件的第n行。w
、e
:分别移动到下一个单词的开头和结尾。b
:移动到上一个单词的开头。
- 复制、粘贴和删除
yy
:复制当前行。nyy
:复制当前行及下面的n-1行。p
、P
:粘贴到光标后和光标前。dd
:删除当前行。ndd
:删除当前行及下面的n-1行。x
:删除光标所在字符。
- 撤销和重做
u
:撤销上一次操作。Ctrl+r
:重做上一次撤销的操作。
- 搜索和替换
/pattern
:向光标下搜索pattern字符串。?pattern
:向光标上搜索pattern字符串。n
、N
:分别查找下一个和上一个匹配项。:s/old/new
:将当前行的第一个old替换为new。:s/old/new/g
:将当前行的所有old替换为new。:%s/old/new/g
:将文件中的所有old替换为new。
2. 编辑模式指令
- 进入编辑模式:按下
i
、a
、o
、O
等键。 - 退出编辑模式:按下
Esc
键。
3. 末行模式指令
- 保存和退出
:w
:保存文件。:q
:退出Vim(如果文件已修改,则无法直接退出)。:wq
或:x
:保存并退出Vim。:q!
:强制退出Vim,不保存修改。
- 其他常用命令
:set nu
:显示行号。:set nonu
:取消显示行号。:sp filename
:水平分割窗口,并在新窗口中打开filename文件。:vsp filename
:垂直分割窗口,并在新窗口中打开filename文件。:!ls
:在Vim中执行外部命令,如列出当前目录下的文件。
三、Vim的高级用法
- 可视化模式
- 按下
v
进入字符可视化模式,可以选择文本块进行操作。 - 按下
Ctrl+v
进入块可视化模式,可以对矩形区域进行操作。
- 按下
- 重复命令
.
(点命令):重复上一次编辑操作。N<command>
:重复某个命令N次,如2dd
删除两行。
- 配置Vim
- Vim的配置文件通常是
~/.vimrc
(用户级别的配置文件)或/etc/vim/vimrc
(系统级别的配置文件)。 - 可以通过修改配置文件来自定义Vim的行为,如设置语法高亮、自动缩进等。
- Vim的配置文件通常是