加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 21:09:21 所属栏目:安全 来源:网络整理
导读:我发布这个问题主要是为了提供我已经到达的答案(因为我在网上其他地方没有发现任何问题,并且没有问到如何做到这一点),希望能为未来的LightTable vim用户节省一些时间.但我也想听听人们发现这个问题的任何其他解决方案,或者一般来说是vim LightTable问题. 我
我发布这个问题主要是为了提供我已经到达的答案(因为我在网上其他地方没有发现任何问题,并且没有问到如何做到这一点),希望能为未来的LightTable vim用户节省一些时间.但我也想听听人们发现这个问题的任何其他解决方案,或者一般来说是vim LightTable问题.

我已经爱上了LightTable,但在我考虑使用IDE之前,至少需要最小的vim支持. LightTable就是这样.但是,目前,您仍然坚持使用默认的vim选项,并且几乎没有能力更改配置.我很想知道这个领域的未来计划是什么(你在那里克里斯?).将.vimrc暴露在本地配置目录中,即使功能非常有限,也会非常棒,但我意识到它很早就在开发中,很大程度上取决于CodeMirror可以提供的内容.

我不能容忍的一件事是我必须向上发送我的小指向左并按ESC键以退出插入模式.这太慢了,需要你的左手离开主排,这永远不会好.我通常在vim中处理这个的方法是将ii映射到.vimrc中的退出插入模式.默认情况下,另一种替代方法是按CTRL- [.这样更好,但对我来说,进入emacs chording领域,由于某种原因,我的右手小拇指几乎总是会碰到任何一个支架键.

这有点破解,但是在LightTable / CodeMirror中出现更好的vim支持之前,这是一种可以容忍的解决方法.我只在最新的LightTable(0.4.9)上进行了测试,所以我不确定它对早期版本(你可能不应该是这样的版本)的适用性,或者,就此而言,以后的版本是会来的.

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

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

希望这有助于其他LightTable vim用户.

解决方法

更新:我认为最新的LightTable版本支持这一点.有人请评论是否将以下内容添加到他们的user.behaviors文件中(用户行为可通过命令窗格(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插件)>在user.behaviors文件的:editor部分中添加以下选项:(:lt.plugins.vim / set-options {“enableInsertModeEscKeys”true,??????????????????????????????????“insertModeEscKeys”“jk”??????????????????????????????????“insertModeEscKeysTimeout”200})>重新启动LT,你应该能够使用jk(或你在insertModeEscKeys中设置的任何键)退出插入模式

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读