跳到主要内容

Vim 的使用及常用快捷键

常用快捷键

快捷键功能描述
:w保存文件
:wq保存并退出, 大写ZZ也可以
:q!强制退出
:set numberset nu显示行号
:set relativenumber显示相对行号
:set hlsearch搜索时高亮显示
:set incsearch搜索时显示匹配项
:set ignorecase搜索时忽略大小写
:set smartcase搜索时智能忽略大小写
:set cursorline显示光标所在行
:set cursorcolumn显示光标所在列

常用的编辑方式

使用vim可以高效的在命令行下编辑文件,以下是一些常用的编辑方式,不常用的就不记录了,以下是个人最常使用到的一些操作

打开文件

直接打开文件

vim filename

打开文件并显示行号

vim filename +20 # 打开文件并跳转到第20行
vim -c 'set number' filename # 通过-c 参数指定命令

编辑文件

进入编辑模式,vim 默认进入 normal 模式,可以通过 i 进入 insert 模式,然后开始编辑,编辑文件时的一些常用快捷操作:

删除操作

快捷键功能描述
dd删除当前行
d,然后按shift,然后按$删除当前行光标至末尾的内容
d,然后按0删除当前行光标至开头的内容
d,然后按w删除当前行光标所在单词,默认按照空格进行单词的划分
d,然后按G删除从当前行到文件末尾的所有内容
移动光标,然后按D删除从光标位置到行末的内容

复制操作

快捷键功能描述
y复制当前行
y,然后按shift,然后按$复制当前行光标至末尾的内容
y,然后按0复制当前行光标至开头的内容
y,然后按w复制当前行光标所在单词,默认按照空格进行单词的划分
3yy复制当前行及其下方的两行,共三行

剪切操作

快捷键功能描述
x剪切当前行
x,然后按shift,然后按$剪切当前行光标至末尾的内容
3dd剪切当前行及其下方的两行,共三行

光标跳转

快捷键功能描述
gg跳转到文件开头
20gg跳转到第20行
G跳转到文件末尾
0跳转到行首
shift,然后按$跳转到行末

搜索和替换

进入normal模式下,可以使用以下快捷键进行搜索和替换

快捷键功能描述
/pattern在文件内搜索指定模式
n跳转到下一个匹配项
N跳转到上一个匹配项
:%s/pattern/replacement/g替换文件中所有匹配项,g表示全局替换,///之间依次表示替换前的内容,替换后的内容

粘贴、撤销、重做

快捷键功能描述
p粘贴操作
u撤销操作
Ctrl+r重做操作

列编辑模式

normal模式下,按Ctrl+v进入列编辑模式,可以选择多行多列进行编辑,选择后可以进行删除、复制、粘贴等操作

批量缩进

normal模式下,按Ctrl+v进入列编辑模式,按方向键上下移动光标,这时选中了多行

ctrl-v1

shift + i,进入插入模式,然后输入缩进字符,这时只有当前光标所在行会被缩进

ctrl-v2

然后按Esc,所有选中的行都会被缩进

ctrl-v3

批量取消缩进

按照批量缩进的操作,同样选择多列,可按方向键上下左右移动光标,这时选中了多行以及多列,选择后会高亮

ctrl-v4

然后按d,这时所有选中的行都会被取消缩进(选择的块域会被删除)

ctrl-v5

Vim键盘图

附上一张经典的Vim键盘图

vim-commands_CN