4

私はこの質問を主に私が到達した答えを提供するために投稿しています (オンラインの他の場所では何も見つからず、これを行う方法を尋ねる質問も見当たらないため)。しかし、この問題に対して人々が見つけた他の解決策、またはvim LightTableの問題全般についても聞きたいです。

私は LightTable に恋をしましたが、IDE を検討する前に、少なくとも最小限の vim サポートが必要です。LightTableにはそれがあります。ただし、現在のところ、デフォルトの vim オプションにほとんどとらわれており、構成を変更する機能はほとんどありません。この分野での将来の計画について非常に興味があります (Chris さんはいらっしゃいますか?)。ローカルの config ディレクトリに .vimrc を公開することは、たとえ機能が非常に制限されていたとしても、単純にすばらしいことですが、開発の非常に初期段階にあり、CodeMirror が提供できるものに大きく依存していることに気付きました。

私が耐えられないことの 1 つは、挿入モードを終了するために ESC キーを押すために小指を左に動かさなければならないことです。それは遅すぎて、左手の指がホームの列を離れる必要があります。これは決して良いことではありません。vim でこれを通常処理する方法は、.vimrc で ii をマップして挿入モードを終了することです。デフォルトで存在する別の代替手段は、CTRL-[ を押すことです。それは良いことですが、私にとってはそれが emacs のコーディング領域に入りつつあり、何らかの理由で右の小指がほとんどの場合、いずれかのブラケット キーを押してフラブします。

これはちょっとしたハックですが、LightTable/CodeMirror で vim のサポートが改善されるまでは、許容できる回避策です。私は最新の LightTable (0.4.9) でのみテストしたので、以前のバージョン (おそらく使用すべきではない) にどの程度適用できるかはわかりません。付いてきます。

「Vim: トグル vim モード」というコマンド オプションがあります。これにより、エディター (または instarepl) で vim のオンとオフが切り替えられます。「設定: キーバインド/ショートカットの変更」コマンドを使用して、このコマンドをホットキーの組み合わせにバインドできます。これにより、左側に新しいキー バインディングを入力できる新しいタブが開きます。現在のキー割り当てが右側に表示されます。

:editor.keys.normal のコンテキスト内で SHIFT-i を使用します。(これは、大文字の「I」をテキストで直接使用できないことを意味しますが、実際のプログラム編集 (特に clojure) では、これが問題を引き起こすことはほとんどありません。これにより、効果的に "II" (SHIFT-i SHIFT-i) が挿入モードを終了する手段になります。最初の SHIFT-i は vim を終了し、通常の WYSIWYG エディターに移動します。次の SHIFT-i で vim に戻りますが、コマンド モードになります。出来上がり!vim 挿入モードから vim コマンド モードに移行しました。

これが他の LightTable vim ユーザーに役立つことを願っています。

4

2 に答える 2

4

更新: 最新の LightTable リリースがこれをサポートしていると思います。ファイルに次を追加すると、誰かがコメントしてくださいuser.behaviors(コマンド ペイン (ctrl-space) からユーザーの動作にアクセスできます)。

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

古い答え:

最新の LT プラグイン ソースはこれをサポートしていますが、まだリリースされていません。

簡単にインストールするには、次の手順を実行します。

  1. OSX などで LT プラグイン フォルダを開きます。~/Library/Application Support/LightTable/plugins/Vim/
  2. (オプション) Vim (プラグイン) フォルダーのバックアップを別の場所に保存します。
  3. Vim フォルダーを削除します。
  4. ダウンロードhttps://github.com/LightTable/Vim/archive/master.zip
  5. 解凍し、解凍したフォルダーの名前を Vim に変更し、LT Plugins フォルダーに移動/コピーします (つまり、削除した公式の Vim プラグインを置き換えます)。
  6. :editoruser.behaviors ファイル のセクションに次のオプションを追加します。(:lt.plugins.vim/set-options {"enableInsertModeEscKeys" true, "insertModeEscKeys" "jk" "insertModeEscKeysTimeout" 200})
  7. LT を再起動すると、jk (または insertModeEscKeys で設定した任意のキー) を使用して挿入モードを終了できるはずです。
于 2014-07-28T14:05:48.057 に答える