Skip to content

1. vim命令大全

1.1 快捷键

快捷键功能描述
p将剪贴板中的内容粘贴到光标后
P(大写)将剪贴板中的内容粘贴到光标前
y复制已选中的文本到剪贴板
yy将光标所在行复制到剪贴板,此命令前可以加数字 n,可复制多行
yw将光标位置的单词复制到剪贴板
x删除光标所在位置的字符
dd删除光标所在行
ndd删除当前行(包括此行)后 n 行文本
dG删除光标所在行一直到文件末尾的所有内容
D删除光标位置到行尾的内容
vim filename打开或新建一个文件,并将光标置于第一行的首部
vim -r filename恢复
vim -R filename把指定的文件以只读方式放入 Vim 编辑器中
vim + filename打开文件,并将光标置于最后一行的首部
vi +n filename打开文件,并将光标置于第 n 行的首部
vi +/pattern filename打幵文件,并将光标置于第一个与 pattern 匹配的位置
vi -c command在对文件进行编辑前,先执行指定的命令
i在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令
o在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O(大写)在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a在当前光标所在位置之后插入随后输入的文本
A在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行 a 命令
/abc从光标所在位置向前查找字符串 abc
/^abc查找以 abc 为行首的行
/abc$查找以 abc 为行尾的行
?abc从光标所在为主向后查找字符串 abc
n向同一方向重复上次的查找指令
N向相反方向重复上次的查找指定
r替换光标所在位置的字符
R从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束
/a1/a2/g将当前光标所在行中的所有 a1 用 a2 替换
:n1,n2s/a1/a2/g将文件中 n1 到 n2 行中所有 a1 都用 a2 替换
:g/a1/a2/g将文件中所有的 a1 都用 a2 替换
:wq保存并退出 Vim 编辑器
:wq!保存并强制退出 Vim 编辑器
:q不保存就退出 Vim 编辑器
:q!不保存,且强制退出 Vim 编辑器
:w保存但是不退出 Vim 编辑器
:w!强制保存文本
:wfilename 另存到 filename 文件
x!保存文本,并退出 Vim 编辑器,更通用的一个 vim 命令

1.2 vim常用模式

1.Vim的命令模式

用 Vim 编辑文件时,默认处于命令模式。此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

2.Vim的输入模式

  • 在输入模式下,Vim 可以对文件执行写操作,类似于在 Windows 系统的文档中输入内容。
  • 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。

3.Vim 的编辑模式

  • 编辑模式用于对文件中的指定内容执行保存、查找或替换等操作。
  • 使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。

1.2 删除

  • 删除以#开头的注释
g/^#/d
g/^#/d
  • 删除空行
g/^\s*$/d
g/^\s*$/d
  • 删除#后面的行
g/#.*/d
g/#.*/d
  • vim删除所有内容
  1. 切换到命令模式输入:之后的命令 :%d
  2. 不管光标在哪里,删除所有 gg dG

gg的意思是光标切换到第一行

1.3 替换

  • vim批量替换
:%s/source_pattern/target_pattern/g
:%s/source_pattern/target_pattern/g