vscode关于vim插件使用
注意:以下快捷键均在normal模式下运行,对于gg和zH这种涉及到多个键的快捷键,可以先按下前面一个(z),然后再按下后面一个(H),二者时间间隔没要求,可以慢慢按的,如果想保留一些 VS Code 自身的一些常用快捷键, 可通过在 settings.json 里面添加配置 “vim.useCtrlKey”: false完成
快捷键冲突问题:
网上说改默认设置可以做到消除冲突,但是我的改了设置不起作用,所以我用了以下办法:
快捷键ctrl+c无法使用,其实是因为vim设置ctrl+c对应其他功能,所以我们只要在快捷键里,把这个对应改掉(我改成了ctrl+alt+q),改掉之后再按ctrl++c就不会起冲突了。
改快捷键方法为文件—首选项—键盘快捷方式,搜索对应的快捷键然后更改
模式切换 | 效果 |
---|---|
esc | 进入vim的normal模式,这时候可使用快捷键操作 |
i | 在光标的前边进入插入模式 |
I | 在光标所在行的行首进入插入模式 |
a | 在光标的后边进入插入模式 |
A | 在光标所在行的行尾进入插入模式 |
o | 在光标所在行的下方插入空行并进入插入模式 |
O | 在光标所在行的上方插入空行并进入插入模式 |
s | 删除光标指定的字符并进入插入模式 |
S | 将光标所在行清除并进入插入模式 |
光标行间移动快捷键 | 效果 |
---|---|
h | 向左移动 |
j | 向下移动 |
k | 向上移动 |
l | 向右移动 |
上下左右键 | 上下左右移动 |
gg | 跳到文件第一行 |
n+上移或下移 | 上/下跳动n行 |
nG或者ngg | 移到第n行 |
G | 跳到文件最后一行 |
0(数字0)或者Home | 到当前行开头 |
$ | 到当前行末尾 |
屏幕翻动快捷键 | 效果 |
---|---|
ctrl+d | 向下翻半页 |
ctrl+u | 向上翻半页 |
zz | 屏幕滚动使得当前行成为屏幕的中间一行 |
zt | 屏幕滚动使得当前行成为屏幕的最上面一行 |
zb | 屏幕滚动使得当前行成为屏幕的最下面一行 |
光标单词间移动快捷键 | 效果 |
---|---|
^ | 到当前行第一个非空格字符处 |
end | 到当前行最后一个非空格字符处 |
w | 到下一个单词的开头 |
e | 到下一个单词的结尾 |
ge | 到上一个单词的结尾 |
* | 移动到与当前光标匹配的下个单词处(比如现在光标处于单词name处,按下“*”就可以移动到下个name处) |
# | 移动到与当前光标匹配的上个单词处 |
% | 移动到与光标所在括号相对应的另一半括号上(使用前要将光标定位在某个括号上) |
查询操作快捷键 | 效果 |
---|---|
/ | 查询,输入完关键词之后按下enter即结束输入 |
n | 下翻查询结果 |
N | 上翻查询结果 |
单词操作快捷键 | 效果 |
---|---|
v+i+w | 放在一个单词的任意位置时均可选中本单词 |
v+i+w+y | 放在一个单词的任意位置时均可选中本单词+复制 |
v+i+w+d | 放在一个单词的任意位置时均可选中本单词+剪切 |
v+i+w+c | 放在一个单词的任意位置时均可选中本单词+剪切+进入编辑模式 |
gd | 跳转到定义 |
gb | 光标置于单词的任意位置,输入一个gb,就选中一相同的单词(想选中4个相同的单词就连续输入gb4次 |
连续输入n个gb+v+i | 同时修改n个相同的单词 |
连续输入n个gb+v+s | 同时删除n个相同的单词,并进入编辑模式 |
文本操作快捷键 | 效果 |
---|---|
ysaw+字符(’,",(,{,<,[ ) | 为文本内容添加相应的字符,如ysaw+(,那么test变为 (test) |
cs+字符a+字符b | 修改两边的指定字符,从字符a变为字符b,如cs+"+’,那么"test"变为 ‘test’ |
ds+字符(’,",(,{,<,[ ) | 删除两边的字符,如ds+(, 那么 (test)会变为test |
ci’、ci"、ci(、ci[、ci{、ci< | 分别更改这些配对标点符号中的文本内容 |
di’、di"、di(或dib、di[、di{或diB、di< | 分别删除这些配对标点符号中的文本内容 |
yi’、yi"、yi(、yi[、yi{、yi< | 分别复制这些配对标点符号中的文本内容 |
vi’、vi"、vi(、vi[、vi{、vi< | 分别选中这些配对标点符号中的文本内容 |
gq+方向键上或者下 | 文本所在行上移一行或者下移一行 |
复制快捷键 | 效果 |
---|---|
yy | 复制当前行 |
y | 复制当前行及其后面一行 |
nyy | 从当前行开始共复制n 行 |
y$ | 从光标位置开始复制,到当前行行末, 包括空格 |
y0 | 从光标位置开始复制,到当前行行首, 包括空格 |
ynl | 从光标位置开始, 向右复制 n 个字符 |
ynB | 从光标位置开始,向左复制 n 个单词 |
精确的选择复制区域:
在 Normal 模式下, 将光标定位至目标复制区域的开始或结束位置,输入命令 v(小写) 进入Vision 模式,移动光标,光标所经过的位置都被选中,跟鼠标选中形式一样,区域选定结束后, 输入 y 命令,复制成功,然后输入v切换回normal模式
如果输入 大写 V 命令, 此时只能以行为单位选中区域,这时候只能与上下移动配合
粘贴快捷键 | 效果 |
---|---|
p | 在光标之后插入复制内容 |
P | 在光标之前插入复制内容 |
np(nP) | 重复粘贴内容n 次 |
剪切和删除快捷键 | 效果 |
---|---|
dd | 剪切当前行 |
ndd | 从当前行开始共剪切n 行 |
d$ | 从光标开始位置剪切, 至当前行行末, 包括空格 |
d0 | 从光标开始位置剪切, 至当前行行首, 包括空格 |
dl或者x | 剪切光标所在字符 |
dh或者X | 剪切光标所在位置的前一个字符 |
dH | 剪切当前光标之前所有内容 |
dL | 剪切当前光标之后所有内容(包括光标所在字符) |
c0 | 剪切光标从当前位置(不包含)到该行行首的所有字符,并进入插入模式 |
c^ | 同上 |
c$ | 剪切从光标当前位置(包含)到该行行尾的所有字符,并进入插入模式 |
cb | 剪切从光标当前位置(不包含)到单词起始处的所有字符,并进入插入模式 |
ce | 剪切从光标当前位置(包含)到单词结尾处的所有字符,并进入插入模式 |
cw | 剪切从光标当前位置(包含)到下个单词起始处的所有字符,并进入插入模式 |
ch | 剪切光标前边一个字符,并进入插入模式 |
cl | 剪切光标指定的字符,并进入插入模式 |
cj | 剪切光标所在行以及下一行的所有字符,并在光标下一行进入插入模式 |
ck | 剪切光标所在行以及上一行的所有字符,并在光标下一行进入插入模式 |
cc | 剪切光标所在行的字符,并进入插入模式 |
如何精确地删除区域
同上文的拷贝一样, 只需把 拷贝命令 y 换成 删除命令 d 即可
全选(复制/删除)
Normal模式下, 首先输入gg 让光标移动到首行,然后输入 v/V 进入Vision 模式,然后 G 移动到最后一行,这时候输入 d 删除选中内容, 输入 y 复制选中内容
代码文件切换快捷键 | 效果 |
---|---|
gt | 跳转到右边一页 |
gT | 跳转到左边一页 |
内容来源:
VIM 入门手册, (VS Code)
vim体验
VIM下的跳转练习
鱼和熊掌:VSCode+Vim
VSCode Vim进阶操作
Vim快速选中、删除、复制引号或括号中的内容
chrom关于viminum插件使用
注意:快捷键在编辑页面(比如博客编写的页面)不一定起作用
屏幕滚动快捷键 | 效果 |
---|---|
j | 向下滚动一点 |
k | 向上滚动一点 |
gg | 滚动到页面最底部 |
G | 滚动到页面最底部 |
h | 向左移动 |
l | 向右移动 |
zH | 一直移动到左部 |
zL | 一直移动到右部 |
d | 向下翻一屏幕的距离 |
u | 向上翻一屏幕的距离 |
标签页操作快捷键 | 效果 |
---|---|
t | 创建一个新的标签页 |
K或者gt | 跳转到右边的一个标签页 |
J或者gT | 跳转到左边的一个标签页 |
g0(数字0) | 切换到第一个标签页 |
g$ | 切换到最后一个标签页 |
x | 关闭当前的标签页 |
X | 恢复刚刚关闭的标签页 |
r或者f5 | 刷新页面 |
f6 | 当前的标签页直接输入一个新的网址 |
H | 后退 历史标签页 |
L | 前进 历史标签页 |
yy | 拷贝当前页面的地址栏URL到剪贴板 |
yf | 拷贝某一个URL到剪贴板,相当于输入了f,按下标识后,就拷贝标识对应的链接,但是页面不跳转(看不懂解释的话请看下面的说明) |
p | 在当前标签页打开剪切板中的URL,如不是URL则默认引擎搜索 |
P | 在新标签页打开剪切板中的URL,如不是URL则默认引擎搜索 |
f | 在当前页面打开一个新的链接,如果误点了f按“esc”取消 |
F | 在新的标签页打开一个新的链接,如果误点了F按“esc”取消 |
F快捷键说明:(f与之差不多,不解释了)
注意:在一些浏览器的搜索页面(比如下图),f的效果会和F一样(新窗口打开)
按下快捷键“F”,按照指引按下“fj”(不分大小写,不用同时按下两个键),跳转到该页面
新窗口里页面打开:
yf快捷键说明
按下“yf”,出现下图的结果,按下“k”,对应的链接就被拷贝了,并且页面不跳转
查询操作快捷键 | 效果 |
---|---|
/ | 查询,输入完关键词之后按下enter即结束输入 |
n | 下翻查询结果,按/+enter结束下翻 |
N | 上翻查询结,按/+enter结束上翻 |
其他操作快捷键 | 效果 |
---|---|
gi | 将焦点集中到第一个输入框(输入gNi则焦点集中到第N个输入框) |
shift+/ | 打开vinum提示和设置 |
i | 切换到输入模式 |
esc | 切换到命令模式,当你命令不起作用的时候,可能就是进入输入模式了,此时按esc回到命令模式 |
ctrl+d | 页面添加到书签 |
gs | 查看页面源代码 |
gu | 跳转到父页面(比如http://www.douban.com/group/vim,输入gu后跳转到父页面即http://www.douban.com/group/ ) |
gu快捷键说明
跳转到父页面(比如http://www.douban.com/group/vim/),输入后跳转到父页面即http://www.douban.com/group/ )
按下“gu”之后
搜索功能快捷键 | 效果 |
---|---|
o | 在当前页面搜索收藏和浏览历史记录,并在当前页面打开 |
O | 在当前页面搜索收藏和浏览历史记录,并在新的标签页打开 |
b | 在当前页面搜索并打开一个书签(其实和o差不多,但是它的搜索结果是书签的) |
B | 在新的标签页搜索并打开一个书签 |
T | 在打开太多页面的时候,搜索所有的打开页面,并移到该页面 |
上述操作如果误点想要终止的话,请按“esc”,比如误按了“o”,想关闭搜索栏,按“esc”即可
o快捷键解释:(O与之差不多,不解释了)
按下快捷键“o”,输入框输入"无",立刻出现搜索结果,可选择相应的链接在当前页面打开
T快捷键解释
在浏览器打开太多页面,无法看全标题的时候,按“T”可搜索所有打开的页面,并移到该页面
参考链接: