我发布这个问题主要是为了提供我得出的答案(因为我在网上找不到任何东西,也没有看到有人问如何做到这一点),希望能节省未来LightTable vim用户一些时间。但我也想听听其他人对这个问题的解决方案或vim LightTable的问题的看法。
我爱上了LightTable,但至少需要最小的vim支持才能考虑使用IDE。 LightTable具备这个功能。但目前来说,你基本上只能使用默认的vim选项,并且很难改变配置。我非常想知道在这个领域的未来计划是什么(你在那里吗Chris?)即使高度受限制,在本地配置目录中公开.vimrc将会简单极了,但我意识到这还处于早期开发阶段,并且在很大程度上取决于CodeMirror能提供什么。
有一件事我无法容忍,那就是必须将我的小拇指向上和向左移动以按ESC键退出插入模式。这太慢了,需要您的左手离开家庭行,这从来不是好事。我通常在vim中处理这个问题的方法是在.vimrc中将ii映射到退出插入模式。另一种默认选择是按CTRL-[。那更好,但对我来说,那是进入emacs和弦领地的行为,因某种原因,我的右小拇指几乎总是会打错任一括号键。
这有点像黑客,但它是一个可以容忍的解决方法,直到LightTable / CodeMirror提供更好的vim支持。我只在最新的LightTable(0.4.9)上进行了测试,因此我不确定它适用于早期版本(您可能不应该使用这些版本),或者以后会出现的版本。
有一个名为“Vim:toggle vim mode”的命令选项。这会在编辑器(或instarepl)中打开和关闭vim。您可以通过“Settings:Change key bindings / shortcuts”命令将此命令绑定到热键组合。这将打开一个新的选项卡,在左侧输入新的键绑定。当前的键绑定显示在右侧。
我在“:editor.keys.normal”的上下文中使用SHIFT-i。(这意味着我不能直接在文本中使用大写“I”,但实际上在程序编辑中 - 特别是Clojure中 - 这几乎不会引起问题,如果确实有问题,您可以只需使用小写 i,然后回退并替换字符即可)。这有效地使“II”(SHIFT-i SHIFT-i)成为退出插入模式的手段。第一个SHIFT-i退出vim并将您放回普通的所见即所得编辑器中。下一个SHIFT-i将您带回vim,但处于命令模式。哇!您已从vim插入模式转换为vim命令模式。
希望这能帮助其他LightTable vim用户。
我爱上了LightTable,但至少需要最小的vim支持才能考虑使用IDE。 LightTable具备这个功能。但目前来说,你基本上只能使用默认的vim选项,并且很难改变配置。我非常想知道在这个领域的未来计划是什么(你在那里吗Chris?)即使高度受限制,在本地配置目录中公开.vimrc将会简单极了,但我意识到这还处于早期开发阶段,并且在很大程度上取决于CodeMirror能提供什么。
有一件事我无法容忍,那就是必须将我的小拇指向上和向左移动以按ESC键退出插入模式。这太慢了,需要您的左手离开家庭行,这从来不是好事。我通常在vim中处理这个问题的方法是在.vimrc中将ii映射到退出插入模式。另一种默认选择是按CTRL-[。那更好,但对我来说,那是进入emacs和弦领地的行为,因某种原因,我的右小拇指几乎总是会打错任一括号键。
这有点像黑客,但它是一个可以容忍的解决方法,直到LightTable / CodeMirror提供更好的vim支持。我只在最新的LightTable(0.4.9)上进行了测试,因此我不确定它适用于早期版本(您可能不应该使用这些版本),或者以后会出现的版本。
有一个名为“Vim:toggle vim mode”的命令选项。这会在编辑器(或instarepl)中打开和关闭vim。您可以通过“Settings:Change key bindings / shortcuts”命令将此命令绑定到热键组合。这将打开一个新的选项卡,在左侧输入新的键绑定。当前的键绑定显示在右侧。
我在“:editor.keys.normal”的上下文中使用SHIFT-i。(这意味着我不能直接在文本中使用大写“I”,但实际上在程序编辑中 - 特别是Clojure中 - 这几乎不会引起问题,如果确实有问题,您可以只需使用小写 i,然后回退并替换字符即可)。这有效地使“II”(SHIFT-i SHIFT-i)成为退出插入模式的手段。第一个SHIFT-i退出vim并将您放回普通的所见即所得编辑器中。下一个SHIFT-i将您带回vim,但处于命令模式。哇!您已从vim插入模式转换为vim命令模式。
希望这能帮助其他LightTable vim用户。
jj
一起使用!非常感谢 :) - Cotten