VSCode VIM Part I - EasyMotionlqip

VSCode VIM Part I - EasyMotion

Preview

VSCode 作为宇宙第一 IDE☝🏻,在文本跳转上体验比 LazyVim 稍逊一筹。发现 VSCode Vim 插件支持 easymotion 插件,在此基础上改改键位映射可以实现对 LazyVim 的拙劣模仿, 效果如下

当然也可以下载 neovim 插件,可以直接在 VSCode 中使用 LazyVim 的插件。据说 neovim 插件的性能更佳、但稳定性无法保证。

Setup

将如下配置粘贴到 VSCode 的 settings.json 文件中, use catppucin mocha theme btw

JSON
{  // leaderkey,这里设置为等号键  "vim.leader": "=",  // 启用 EasyMotion  "vim.easymotion": true,  // Catppuccin Mocha Color Scheme  "vim.easymotionDimBackground": true,  "vim.easymotionMarkerBackgroundColor": "#1e1e2e",  "vim.easymotionMarkerForegroundColorOneChar": "#f38ba8",  "vim.easymotionMarkerForegroundColorTwoCharFirst": "#fab387",  "vim.easymotionMarkerForegroundColorTwoCharSecond": "#f9e2af",  "vim.easymotionIncSearchForegroundColor": "#a6e3a1",  "vim.easymotionDimColor": "#6c7086",  "vim.easymotionMarkerFontWeight": "bold",  // LazyVim-Like Key Bindings  "vim.normalModeKeyBindings": [    {      "before": ["s"],      "after": ["<leader>", "<leader>", "/"]    },    {      "before": ["f"],      "after": ["<leader>", "<leader>", "f"]    },    {      "before": ["F"],      "after": ["<leader>", "<leader>", "F"]    }  ]}
Tip

如果不习惯 Vim 的操作方式,可以使用以下扩展来实现类似的功能:

VSCode Vim 插件应该是不支持直接修改 EasyMotion 的 keybinding 的,上面的设置算是一种变通方法。
<ldr><ldr> / <char> ... <CR> 为例,在normalModeKeyBindings中添加一个映射,这样在按下 s 键时就会被替换为 <ldr><ldr> /,然后再输入任意字符进行搜索即可

Keybinding Reference

Motion CommandDescription
<ldr><ldr> s <char>Search character
<ldr><ldr> f <char>Find character forwards
<ldr><ldr> F <char>Find character backwards
<ldr><ldr> t <char>Til character forwards
<ldr><ldr> T <char>Til character backwards
<ldr><ldr> wStart of word forwards
<ldr><ldr> bStart of word backwards
<ldr><ldr> lMatches beginning & ending of word, camelCase, after _, and after # forwards
<ldr><ldr> hMatches beginning & ending of word, camelCase, after _, and after # backwards
<ldr><ldr> eEnd of word forwards
<ldr><ldr> geEnd of word backwards
<ldr><ldr> jStart of line forwards
<ldr><ldr> kStart of line backwards
<ldr><ldr> / <char>... <CR>Search n-character
<ldr><ldr><ldr> bdtTil character
<ldr><ldr><ldr> bdwStart of word
<ldr><ldr><ldr> bdeEnd of word
<ldr><ldr><ldr> bdjkStart of line
<ldr><ldr><ldr> jJumpToAnywhere motion; default behavior matches beginning & ending of word, camelCase, after _ and after #

Ref

VSCodeVim/Vim: ⭐ Vim for Visual Studio Code
ggandor/leap.nvim: Neovim’s answer to the mouse 🦘

VSCode VIM Part I - EasyMotion

https://vluv.space/vscode_easymotion/

Author

GnixAij

Posted on

2025-06-26

Updated on

2025-12-20

License under