Vimium: 允许任何键映射到“退出模式”而不仅仅是<esc/>

创建于 2011-02-18  ·  21评论  ·  资料来源: philc/vimium

我已将 jj 重新映射到在 vim 中,因为它更容易输入。 是否可以进行像这样的重新映射以离开插入模式?

谢谢

help-wanted verified

最有用的评论

重新打开并移除 _wont-fix_ 标签。

这确实是_很多_要求的功能。 它是作为长期存在的未决问题剔除的一部分而关闭的。

所有21条评论

是的,我们应该有一个相当于转义的命令——那会很有用。

同意。

你也可以在vim中使用<C-[> ; 它是开箱即用的,实际上被认为是与<ESC>相同的键。 也许我们可以添加它而不是引入另一个命令映射。

我也觉得这个功能很有用。 我读过第一次写 vi 时键盘上的 ESC 键更接近 q 现在的位置,而不是在角落里。 这是有道理的,因为如此频繁地一直到达角落并不是那么方便。

有关于这个问题的消息吗? 实施起来是不是太难了? 对我来说,这是 vim 和 vimium 之间的不一致,因为 vim 对我来说也映射到 jj。

这不是太难。 如果有人想尝试此增强功能,这是一个很好的入门错误。

我们是只想为普通模式还是所有模式(如输入和查找)实现这一点? 如果是后者,事情就不会那么简单了。

为了保持一致的任何重新映射应该适用于所有模式。 除了确保每个模式的代码路径引用相同的“exitKey”变量之外,为什么会特别困难?

现在,允许将按键与命令进行可配置匹配的代码位于后台页面中,并且仅处理正常模式的按键操作。 重新映射键基本上是通过更改我们的键到命令“路由表”来完成的。 另一方面,在查找或插入模式中退出依赖于内容脚本( KeyboardUtils.isEscape )中的特殊情况代码路径,该路径明确检查按键事件是否是我们认为的“转义”事件,并且按键永远不会到达背景页面。 为了实现这个错误,我们可以 a) 让后台页面提前通知内容脚本“escape”事件应该是什么样子,或者 b) 即使在查找和插入模式下也让后台页面记录按键,但什么都不做除非它是一个“escape”事件,在这种情况下,它会告诉内容脚本退出当前处于活动状态的任何模式。

我赞成后者,因为我认为对所有模式使用相同的可配置键映射逻辑更优雅。 此外,这为模拟 Vim 的nmapimap命令提供了可能性,用户可以借此定义仅在正常或插入模式下才有效的映射。

好东西。 感谢您的撰写。 对于初学者来说,这可能不是唾手可得的成果 =)

我没有强烈的偏好,但第一个建议听起来更容易实施。

除了 Vim 的nmapimap命令之外,我还希望看到这一点,

我试图在 PR #1140 中实现这一点。 由于输入模式的性质,它只接受绑定到exitInsertMode单个键。

+1

+1

👎

嗨@smblott-github,只是好奇为什么这被标记为won't-fix ? 我开始更频繁地使用 Vimium 的插入模式(而不是禁用某些页面的插件),但是如果人们可以使用他们喜欢的绑定退出,那就太好了,在我的例子中是<C-c>

重新打开并移除 _wont-fix_ 标签。

这确实是_很多_要求的功能。 它是作为长期存在的未决问题剔除的一部分而关闭的。

伙计们,见#2253。

非常感谢,感谢您的努力!

亲们,看这里。 PR #2253 遇到了一点颠簸。 输入将不胜感激。

结束,见此评论

此页面是否有帮助?
0 / 5 - 0 等级