{
/* vim */
"vim.easymotion": true,
"vim.incsearch": true,
"vim.useSystemClipboard": true,
// "vim.hlsearch": true, 搜索到的结果一直高亮显示,对/字符串的搜索方式来说,不设置这一项更好
// "vim.sneak": true, // s 跳转到下面第一次出现指定两个字符的地方
"vim.useCtrlKeys": true, //结合下面的"vim.handleKeys"配置
//vim插入模式
"vim.insertModeKeyBindings": [
{
"before": ["j", "j"],
"after": ["" ]
}
],
//普通模式
"vim.normalModeKeyBindingsNonRecursive": [
// easymotion 快速跳转 ,s +
{
"before": ["" ,"s"],
"after": ["" ,"" ,"s"]
},
{
"before": ["H"],
"after": ["^"]
},
{
"before": ["L"],
"after": ["$"]
},
// leader(或者说空格)+u代替Ctrl+u使页面向上滚动半屏
{
"before":["leader","u"],
"after":["" ]
},
{
"before":["leader","d"],
"after":["" ]
},
// 删到行首,删到行尾 暂时只能用leader + H/L
{
"before": ["leader","H"],
"after": ["d","^"]
},
{
"before": ["leader","L"],
"after": ["d","$"]
}
],
//可视模式
"vim.visualModeKeyBindingsNonRecursive": [
{
"before": ["H"],
"after": ["^"]
},
{
"before": ["L"],
"after": ["$"]
}
],
"vim.leader": "" ,
"vim.handleKeys": {
"" : false,
"" : false,
// 带有vim插件的vscode,它的Ctrl+w是由vscode控制,非vim插件扩展快捷键控制。若改为true,则就是了。
"" : false
},
}
普通模式 NORMAL 插入模式 INSERT 可视模式 VISUAL 命令模式 : 替换模式REPLACE注
:若配置了"vim.sneak": true
则s与S就不起作用
上图有个小错误,是ngg或nG
zt
屏幕滚动使得当前行成为屏幕的最上面一行
zz
中间一行
zb
最下面一行
%
移动到与光标所在括号相对应的另一半括号上(只对小括号,中括号和大括号有用)
操作符opertator:告诉我们要干什么
动作motion:告诉我们干什么
操作符opertator | 动作motion |
---|---|
d 剪切 | i(inner) |
c 删除并进入插入模式 | a(around) |
y 复制 |
e
:entire全部 u
:撤销操作 .
:再次执行刚执行过的命令
di(
:删除( )
中的所有内容
da(
:删除( )
中同时包括( )
的所有内容
yie
:复制全文
x
向后剪切一个字符,前面加上n,连续删除n个
X
向前剪切一个字符,前面加上n,连续删除n个
dd
剪切当前行
dgg
剪切当前位置到第一行的所有内容
dG
剪切当前位置到最后一行的所有内容
d$
剪切当前位置到本行行末
d0
剪切当前位置到本行行首
dngg或dnG
剪切当前行到第n行的所有内容
d3d或3dd
剪切当前行开始的3行
dw
剪切当前单词
diw
剪切当前光标所停留单词,或输入gbw
(Tips其它有用小技巧中详说)
db
剪切光标所停留单词到开头
dfn
剪切到当前行到下一个n字符
cfn
删除到n字符(包括n)并进入写入模式
ct"
删除所有的内容,直到遇到双引号"并进入写入模式
以此类推
或选中文本,进入可视模式,再进行操作,这样更加直观,准确一些
p
粘贴到当前光标的右边
P
粘贴到当前光标的左边
np(nP)
重复粘贴内容n次
若复制或剪切的是行,则:p
粘贴到当前行的下一行 P
上一行
rx
用字符x替换光标位置的字符
nrx
用x字符替换光标位置前的n个字符
R
进入替换模式
v
进入可视模式后选中你想替换的单词,F2
可重命名
~
将光标下的字母改变大小写
3~
将光标位置开始的3个字母改变其大小写
g~
改变当前行字母的大小写,
gUU
将当前行的字母改成大写
guu
将当前行的字母改成小写
gUaw或gUiw
将光标下的单词改成大写
guaw或gUaw
将光标下的单词改成小写
ysaw+字符
’,",(,{,<,[ ):为文本内容添加相应的字符,如ysaw+(,那么test变为 (test)
gd
(go to destination):相当于ctrl+鼠标左键,跳转到定义声明或具体描述的地方
Ctrl + o
:回到原来的地方
gb
:光标置于单词的任意位置,输入一个gb,就选中一相同的单词(想选中4个相同的单词就连续输入gb4次
gh
(go to hover):相当于悬浮查看一些签名
gt
(go to tab):跳到下一个标签页
gT
(go to tab):跳到上一个标签页
ngt
(go to tab):跳到第n个标签页
Ctrl + 0
:跳转到侧边栏,并可以用jk上下移动,空格打开文件或者文件夹
l
:从侧边栏回到未跳转前的文件工作区,或者新打开的文件工作区
Ctrl + 2
:增加一个工作区栏,以此类推,Ctrl + 1跳到第一个工作区栏
Ctrl + ]
:跳到定义处,或在定义处查询它的引用
开始使用vscode中vim的时候特别不习惯,因为之前没有使用过。但是差不多一个星期之后,哇,原来这么好用。慢慢熟练就好啦~
参考链接
新手如何正确入门vim?
指尖飞舞:vscode + vim 高效开发(系列视频)
vim常用命令总结 (转)
vscode和chrome使用vim
非常感谢!!!