Vim 的使用及常用快捷键
常用快捷键
快捷键 | 功能描述 |
---|---|
:w | 保存文件 |
:wq | 保存并退出, 大写ZZ 也可以 |
:q! | 强制退出 |
:set number 或set 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
进入列编辑模式,按方向键上下移动光标,这时选中了多行
按shift
+ i
,进入插入模式,然后输入缩进字符,这时只有当前光标所在行会被缩进
然后按Esc
,所有选中的行都会被缩进
批量取消缩进
按照批量缩进的操作,同样选择多列,可按方向键上下左右移动光标,这时选中了多行以及多列,选择后会高亮
然后按d
,这时所有选中的行都会被取消缩进(选择的块域会被删除)
Vim键盘图
附上一张经典的Vim
键盘图