vim常用快捷键
我们进入到vim中,很多操作和我们在Window系统的使用都不一样
vim有三种模式(命令模式、输入模式、末行模式)
命令模式
1.移动光标快捷键
快捷键 | 作用 |
---|
G | 可以直接 将光标移到文件最下面一行的行首 |
nG | n是数字,它可以将光标移动到本文件第n行的行首 |
gg | 它可以将光标移动到本文件第一行的行首,相当于1G |
:n | n是数字,它也可以将光标移动到指定行的行首 |
n空格键 | n是数字,它可以将光标向后移动n个字符 |
n向上或向下键 | n是数字,可以将光标向上或向下n行 |
n向左或向右键 | n是数字,可以将光标向左或向右n个字符 |
0 | 数字0可以将光标移动到所在行的行首 |
$ | 可以将光标移动到所在行的行尾 |
H | 光标移动到当前屏幕的第一行行首 |
M | 光标移动到当前屏幕的中间行行首 |
L | 光标移动到当前屏幕的最后一行的行首 |
2.删除快捷键
快捷键 | 作用 |
---|
dd | 删除光标所在行 |
ndd | n是数字,从当前行开始向下删除n行 |
x | 删除当前光标的后一个字符(和Del功能一样) |
X | 删除当前光标的前一个字符 |
dG | 删除光标所在行到最后一行 |
dnG | n是数字,删除光标所在行到n行 |
d$ | 删除光标所在位置到该行末尾 |
d0 | 删除光标所在位置到该行行首 |
3.复制快捷键
快捷键 | 作用 |
---|
yy | 复制当前光标所在行 |
nyy | n是数字,复制当前行到下面第n行 |
yG | 复制光标所在行到最后一行 |
ynG | n是数字,复制光标所在行到n行 |
y$ | 复制光标所在位置到该行末尾 |
y0 | 复制光标所在位置到该行行首 |
4.粘贴快捷键
快捷键 | 作用 |
---|
p(小写) | 将复制的东西粘贴在光标所在行的下一行 |
P(大写) | 将复制的东西粘贴在光标所在行的上一行 |
5.撤销快捷键
快捷键 | 作用 |
---|
u(小写) | 可以撤销你之前的操作,可以无限制撤销 |
[Ctrl]+r | 如果你撤销了一个你本不想撤销的操作时,复原你的上一步操作 |
U(大写) | 第一次按会撤销该行所有的操作,再按一次及回复刚刚撤销的 |
6.重复快捷键
快捷键 | 作用 |
---|
. | 可以重复你上一步操作 |
n. | n是数字,可以重复你上n步的操作 |
7.替换快捷键
快捷键 | 作用 |
---|
r | 替换光标当前所在位置的字符 |
R | 替换掉从当前光标所在的字符,输入内容会覆盖掉后面等长的字符 |
输入模式
快捷键 | 作用 |
---|
i | 进入输入模式,在光标所在位置开始输入 |
I | 在光标所在行的行首开始输入 |
o | 在光标所在行的下面插入新的一行 |
O | 在光标所在行的上面插入新的一行 |
a | 在光标所在位置的下一个字符位置开始输入 |
A | 在光标所在行的行尾开始输入 |
末行模式
1.基本命令
快捷键 | |
---|
:q | 退出编辑 |
:q! | 强制退出编辑 |
:w | 保存 |
:w! | 强制保存 |
:wq! | 强制保存并退出编辑 |
! | 强制操作 |
2.替换命令
命令 | 作用 |
---|
:n1,n2 s/oldword/newword/g | 将n1行到n2行之间的oldword全部替换成newword |
:n1,$ s/oldword/newword/g | 将n1行到最后一行之间的oldword全部替换成newword |
:% s/oldword/newword/g | 将该文件中的所有oldword换成newword |
3.批量添加注释
(1)块选择模式
使用[Ctrl]+v进入块选择模式,然后选中你要添加的注释区域,按I(大写)后进入行首插入模式,输入注释符#或//,然后按两下Esc键即可
(2)替换命令
命令 | 作用 |
---|
:n1,$ s/^/#/g | 将第n1行到最后一行的开头注释上# |
:n1,n2 s/^/#/g | 将第n1行到n2行的开头注释上# |
:% s/^/#/g | 将该文件每一行的开头注释上# |
在vim中,%表示文件的全部;$表示最后一行;^表示行的开头,正常情况不显示;
4.取消注释
(1)块选择模式
[Ctrl]+v进入块选择模式,选中要删除的行首注释符号,选中后按d
(2)替换命令
命令 | 作用 |
---|
:n1,n2 s/^#//g | 将n1行到n2行的开头注释符#换成空 |
:n1,$ s/^#//g | 将第n1行到最后一行的开头注释符#换成空 |
:% s/^#//g | 将该文件每一行的开头注释符#换成空 |
5.vim环境变更
命令 | 作用 |
---|
:set nu | 行号显示 |
:set nonu | 取消行号显示 |
:set hlsearch | 高亮显示 |
:set nohlsearch | 取消高亮显示 |
:set ic | 忽略大小写 |