任意门:easymotion,让光标移动得随心所欲

您所在的位置:网站首页 光标移动键是 任意门:easymotion,让光标移动得随心所欲

任意门:easymotion,让光标移动得随心所欲

2024-07-15 15:43| 来源: 网络整理| 查看: 265

添加改键映射:

首先配置 normal mode 下的 f F 映射为 vim-sneak 的 s S,这样映射后,为了让 s S 恢复为最原始的功能(删除光标所在字符并进入 insert mode;删除光标所在行从开头非 blank 字符到行尾的内容),需要把 s S 的原始功能用 c C 实现一下,而且由于在这个映射过程中,存在递归映射的情况(如 f → s → c l),所以要配置在 vim.normalModeKeyBindingsNonRecursive 中,遂在 vscode 的 setting.json 中添加:

"vim.normalModeKeyBindingsNonRecursive": [ ... { "after": ["s"] }, { "before": ["F"], "after": ["S"] }, { "before": ["s"], "after": ["c", "l"] }, { "before": ["S"], "after": ["^", "C"] }, ... ],

配置完上面的设置后,我们就可以愉快地使用 f 或 F + 两个字符(或单字符 + 回车)在 normal mode 下进行搜索了,但是想在 visual mode 和 operater-pending 模式(即当输入了如 d c 等操作符后,vim 等待输入范围和文本对象时的状态,简而言之就是可以让 vim 支持如 df + 两个字符的这种操作,因为不配置的话在 operater-pending 模式中 vim-sneak 使用的是 z 操作符),则需要继续配置;并且在 visual mode 中,F 无法使用,遂只配置 f,配置如下:

"vim.visualModeKeyBindingsNonRecursive": [ { "before": ["f"], "after": ["s"] }, ], "vim.operatorPendingModeKeyBindingsNonRecursive": [ { "before": ["f"], "after": ["z"] }, { "before": ["F"], "after": ["Z"] }, ],


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3