gpt4 book ai didi

vim - 如何更改默认 ESC 以退出 LightTable 的 Vim 中的插入模式?

转载 作者:行者123 更新时间:2023-12-05 01:08:51 25 4
gpt4 key购买 nike

我发布这个问题主要是为了提供我已经得到的答案(因为我在网上其他地方没有找到任何东西,也没有看到任何问题询问如何做到这一点),希望为 future 的 LightTable vim 用户节省一点时间。但我也想听听人们针对这个问题找到的任何其他解决方案,或者一般来说是 vim LightTable 问题。

我已经爱上了 LightTable,但在我考虑使用 IDE 之前,至少需要最少的 vim 支持。 LightTable 有。不过,目前,您主要受制于默认的 vim 选项,并且几乎无法更改配置。我很想知道这个领域的 future 计划是什么(你在外面吗,克里斯?)。在本地配置目录中公开 .vimrc ,即使功能非常有限,也非常棒,但我意识到它还处于开发初期,很大程度上取决于 CodeMirror 可以提供什么。

我不能容忍的一件事是必须将我的小指向上和向左发送以按下 ESC 键以退出插入模式。这太慢了,需要你的左手指离开主行,这从来都不好。我通常在 vim 中处理这个问题的方式是映射 ii 以退出 .vimrc 中的插入模式。默认情况下的另一种选择是按 CTRL-[。这更好,但对我来说,这正在进入 emacs 和弦领域,并且由于某种原因,我的右手小指几乎总是在击中任何一个括号键时出现颤抖。

这有点小技巧,但在 LightTable/CodeMirror 提供更好的 vim 支持之前,这是一个可以容忍的解决方法。我只在最新的 LightTable (0.4.9) 上测试过它,所以我不确定它对早期版本的适用程度(你可能不应该在任何情况下使用),或者就此而言,更高版本会来的。

有一个名为“Vim:切换 vim 模式”的命令选项。这会在编辑器(或 instarepl)中打开和关闭 vim。您可以通过“设置:更改键绑定(bind)/快捷方式”命令将此命令绑定(bind)到热键组合。这将打开一个新选项卡,您可以在其中在左侧输入新的键绑定(bind)。当前的键绑定(bind)显示在右侧。

我在 :editor.keys.normal 的上下文中使用 SHIFT-i。 (这意味着我不能在文本中直接使用大写的“I”,但在程序编辑的实际实践中——尤其是 clojure——这几乎不会导致问题,如果出现问题,你可以只使用小写的 i 然后返回up 并执行替换字符。)这有效地使“II”(SHIFT-i SHIFT-i)成为退出插入模式的手段。第一个 SHIFT-i 退出 vim 并让您进入正常的 WYSIWYG 编辑器。下一个 SHIFT-i 让您回到 vim,但处于命令模式。瞧!您已经从 vim 插入模式转到 vim 命令模式。

希望这可以帮助其他 LightTable vim 用户。

最佳答案

更新:我认为最新的 LightTable 版本支持这一点。如果将以下内容添加到他们的user.behaviors,请有人发表评论文件有效(用户行为可通过命令 Pane (ctrl-space)访问):

[:editor :lt.plugins.vim/set-options {"enableInsertModeEscKeys" true, 
"insertModeEscKeys" "jk",
"insertModeEscKeysTimeout" 200}]

老答案:

最新的 LT 插件源支持这一点,但尚未发布。

要轻松安装它,请执行以下操作:
  • 打开您的 LT 插件文件夹,例如在 OSX ~/Library/Application Support/LightTable/plugins/Vim/
  • (可选)在别处保存 Vim(插件)文件夹的备份
  • 删除 Vim 文件夹
  • 下载 https://github.com/LightTable/Vim/archive/master.zip
  • 解压缩,将解压后的文件夹重命名为 Vim,然后将其移动/复制到您的 LT Plugins 文件夹(即它正在替换您刚刚删除的官方 Vim 插件)
  • :editor 中添加以下选项user.behaviors 文件的部分:(:lt.plugins.vim/set-options {"enableInsertModeEscKeys" true,
    "insertModeEscKeys" "jk"
    "insertModeEscKeysTimeout" 200})
  • 重新启动 LT,您应该能够使用 jk(或您在 insertModeEscKeys 中设置的任何键)退出插入模式
  • 关于vim - 如何更改默认 ESC 以退出 LightTable 的 Vim 中的插入模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16592848/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com