vim在vscode中使用

vim在vscode中使用

安装插件

快捷键

模式

快捷键 功能
Esc 从当前模式转换到“普通模式”。所有的键对应到命令。
i “插入模式”用于插入文字。回归按键的本职工作。
: “命令行模式” Vim 希望你输入类似于保存该文档命令的地方。
v “视图模式” 进入逐字可视模式,用于选择。
V 进入逐行可视模式

插入

快捷键 作用
a 在光标后插入文本
A 在行末插入文本
i 在光标前插入文本
o (小写字母 o)在光标下方新开一行
O (大写字母 O)在光标上方新开一行

光标移动(普通模式)

快捷键 功能
h 光标向左移动一个字符
jCtrl + J 光标向下移动一行
kCtrl + P 光标向上移动一行
l 光标向右移动一个字符
0 (数字 0)移动光标至本行开头
$ 移动光标至本行末尾
^ 移动光标至本行第一个非空字符处
w 向前移动一个词 (上一个字母和数字组成的词之后)
W 向前移动一个词 (以空格分隔的词)
5w 向前移动五个词
e 跳到本单词或下一个单词结尾
ge 跳到上一个单词结尾
b 向后移动一个词 (下一个字母和数字组成的词之前)
B 向后移动一个词 (以空格分隔的词)
5b 向后移动五个词
G 移动至文件末尾
gg 移动至文件开头
f{char} 跳到下个字母所在位置
F{char} 反向移动到上个字母所在位置
t{char} 跳到下个字母前一个字符所在位置
T{char} 反向移动到上个字母后一个字符所在位置
; 重复上次字符查找操作
, 反向查找上次的查找命令

动作(motion)(普通模式)

i(inner)a(around)
i表示选中内部文字,a表示选中所有

操作符(operator)(普通模式)

快捷键 功能
d(delete) 删除
c(change) 修改(删除并进入插入模式)
y(yank) 复制
v(visual) 选中并进入可视模式

操作符+动作

di( dib:删除括号里面的内容
di{ diB:删除大括号里面的内容
2dd:删除2行
dfs cfs yfs:删除,修改,复制到s
die cie yie:删除,修改,复制整个文件

切换大小写

快捷键 功能
~ 切换大小写
3~ 光标开始的三个字母切换大小写
g~~ 改变当前行字母的大小写
gUU 改变当前行字母的大写
guu 改变当前行字母的小写
gUaw 改变当前光标下的单词为大写

小技巧

跳转到定义

gd:go to def

悬浮显示

gh:go hover

跳转标签页

gt:向后
gT:向前
4gt:向后跳转到第四个标签页
alt+num跳转标签页

跳转到侧边栏

Ctrl+0
空格或者o展开或者打开文件
L:打开文件并将光标定位到文件中

分屏

Ctrl+\
ctrl+数字:光标在不同页面跳转

vim-easymotion

<leader><leader>+操作符

vim.surround

Surround Command 作用
y s <motion> <desired> Add desired surround around text defined by <motion>
d s <existing> Delete existing surround
c s <existing> <desired> Change existing surround to desired
S <desired> Surround when in visual modes (surrounds full selection)