vscode+vim开启你的极致编码体验:深入篇

1,043 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第22天,点击查看活动详情

前言

身为一个前端小菜鸟,总是有一个飞高飞远的梦想,因此,每点小成长,我都想要让它变得更有意义,为了自己,也为了更多值得的人

开开心心学技术大法~~

开心

来了来了,他真的来了~

正文

vim插件前置

很多vim插件都需要借助<leader>来触发插件特别的功能,这个<leader>是什么呢?

我们可以在之前配置在setting.jsonvim配置中可以看到

 "vim.leader": "<space>",

意思是,vim.leader指定为<space>,这里的<space>就是空格,我们通过空格来触发一些vim插件的功能

更多插件在这里

vim-easymotin

该插件帮助快捷定位指定内容

例如,筛选之前源文件

image-20220620190220913

筛选c字母之后为

image-20220620190251781

可以看到,插件将之前所有为c的位置都配置了一个其他字母,我们可以键入指定的字母来将光标定位到指定位置,那如果c字母太多了,一下子显示不完整怎么办?可以通过键入;向下显示,键入,向上显示。

具体功能

  • <leader><leader> s <char>

    • <leader>为space
    • <char>为手动键入的字母
    • 这里为space space s c表示搜索字符c
  • <leader><leader> f <char> 向后查找<char>

  • <leader><leader> F <char> 向前查找<char>

  • <leader><leader> t <char> 向后查找<char>的前一个字符

  • <leader><leader> T <char> 向前查找<char>的前一个字符

  • <leader><leader> w 向后查找单词首部

  • <leader><leader> b 向前查找单词首部

  • <leader><leader> l 向后查找单词的首部与尾部

  • <leader><leader> h 向前查找单词的首部与尾部

  • <leader><leader> e 向后查找单词的尾部

  • <leader><leader> ge 向前查找单词的尾部

  • <leader><leader> j 向后查找行首

  • <leader><leader> k 向前查找行首,包括本行

  • <leader><leader> / <char>... <CR> 全局查找多个<char>组成的字母串,通过<CR>,也就是回车键进入搜索模式,这个比较拗口,举个例子

    iShot_2022-06-20_19.22.00

  • <leader><leader><leader> bdt <char> 全局查找<char>的前一个字符

  • <leader><leader><leader> bdw 全局查找单词首部

  • <leader><leader><leader> bde 全局查找单词的尾部

  • <leader><leader><leader> bdjk 全局查找行的首部

  • <leader><leader><leader> j 全局查找单词的首部和尾部

vim-surround

该插件专门用于处理'',"",[],{},<>等标记内容

  • d s <existing>删除标记

  • c s <existing> <desired> 修改标记为新标记

    • 例如:c s ' "意思为将标记符号'改为",更实际的例子为:'name'改为"name"
  • y s <motion> <desired>在标记符号中添加新标记

    • 例如:y s i' [意思是在标记内容外添加一层新标记[],更实际的例子为:'name'改为'[name]'

vim-sneak

该插件也是快捷搜索

  • s<char><char>

    • 向后搜索符合<char><char>的内容并光标跳转到此处
    • 如果想要继续向后所有相同内容,键入;,向前搜索键入,
  • S<char><char>

    • 向前搜索符合<char><char>的内容并光标跳转到此处
    • 如果想要继续向后所有相同内容,键入;,向前搜索键入,
  • <operator>z<char><char>

    • <operator>是操作符,意思是操作一个从起始光标到向后匹配最近的一个目标<char><char>内容
    • 比如:y z ch,意思是复制从当前光标到下一个最近ch之间的内容
  • <operator>Z<char><char>

    • 操作一个从起始光标到向前匹配最近的一个目标<char><char>内容
    • 比如:y z ch,意思是复制从当前光标到前一个最近ch之间的内容

结语

往期好文推荐「我不推荐下,大家可能就错过了史上最牛逼vscode插件集合啦!!!(嘎嘎~)😄」