72

私は最近(再び)大々的にvimに夢中になり、今では.vimrcファイルにたくさんのカスタマイズがあります。そこにあるすべてがIDEAプラグインのコンテキストで意味をなすわけではないことを私は理解していますが、への再マッピングのようなものが取り上げられ、尊重されれば、私は本当にそれを望んでいます。それを行う方法はありますか?つまり、IDEAのキーマップにあるすべてのものを手動で微調整する必要はありません。jjEsc

ありがとう。

4

9 に答える 9

175

更新された回答:IdeaVimバージョン0.35(2014-05-15リリース)は、から設定とキーバインディングを読み取ります~/.ideavimrcsource ~/.vimrcからのマッピングを含める場合は、そのファイルに入れることができます~/.vimrc

0.33と0.34は~/.vimrc直接読み取ります。

0.33(2014-04-28リリース)は、へのマッピングなど、VIM-288jjを実装した最初のバージョンでしたESC。これはうまく機能し、IDEAプリファレンスに新しいVimエミュレーションセクションがあり、~/.vimrcマッピングとIntellijマッピング間のすべての競合が一覧表示され、IDEAまたはIdeaVimのいずれかにキーを割り当てることで競合を解決できます。こちらがツイッターでのリリース発表です。

(注:私は作成者ではなく、満足しているユーザーです。)

于 2014-04-29T17:09:02.790 に答える
25

更新:はい!以下の回答を参照してください。

簡単な答え:いいえ。

私もこれをやろうとしてき.vimrcました。何年にもわたって慣れてきた非常に複雑なものがあるからです。

とにかく、回避策(一種)があります。IdeaVimの設定は、ホームフォルダー内のフォルダー(vim.xmlWindowsの場合)にあるファイルに保存されます。XMLを編集して、必要なものを追加できます。たとえば、次の行を追加して、入力する代わりにを押してファイルを保存します。 .IntelliJIdea10/config/keymapsC:\Users\<user_name>F2:w!

<action id="SaveAll">
<keyboard-shortcut first-keystroke="F2"/>
</action>

ただし、関数やvim設定などを追加する方法がわかりません(これは私が通常使用するもの.vimrcです)。

PSこれは、.vimrcが使用されない理由を説明している可能性があります(私の強調):

不思議なことに、プラグインはVIMソースコードを参照せずに作成されています(正規表現の処理を除く)。私は基本的に、正しい動作を検証するためのリファレンスとして、優れたVIMドキュメントとVIM自体を使用しています。
ソース: http: //ideavim.sourceforge.net/

于 2011-05-14T14:56:29.950 に答える
8

プラグインのリポジトリ(https://github.com/JetBrains/ideavim )の説明によると、その内容を含むファイル「〜/.ideavimrc 」を作成することでこれを実現できます。

source ~/.vimrc
于 2015-12-03T15:56:36.163 に答える
7

IdeaVIMの問題#VIM-288(編集、更新:jbylerの回答を参照、VIM-288は修正されました)は、修正されたときに問題を解決するようです。私も、Escキーを使用する代わりに「jk」を挿入モードで終了させる方法を探していました。私はIntelliJプラグインの専門家ではありませんが、IdeaVIMソースコードを変更して、「jk」ショートカットがそこにハードコーディングされるようにしました。その後、プラグインを再デプロイして、公式バージョンの代わりにそれを使用するだけでした。これが私がそれをした方法です:

  1. IdeaVIMソースコードを入手してください。

    https://github.com/JetBrains/ideavim

  2. そのページの「開発」の指示に従って、プラグインの開発環境をセットアップできます。

  3. IdeaVIMプロジェクトがすべてセットアップされたので、次のファイルを開きます:com.maddyhome.idea.vim.key.RegisterActions.java

  4. このファイルには、すべてのビジュアル/挿入/通常モードコマンドとそれに対応するキーバインディングが含まれているようです。「exitinsertmode」キーバインドを変更する私の例では、「VimInsertExitMode」を探してください。新しいショートカットのために、このコードブロックに行を追加する必要があります。

  5. 編集後のコードのセクションは次のとおりです。

    parser.registerAction(KeyParser.MAPPING_INSERT, "VimInsertExitMode", Command.Type.INSERT, new Shortcut[]{
        new Shortcut(KeyStroke.getKeyStroke('[', KeyEvent.CTRL_MASK)),
        new Shortcut(KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.CTRL_MASK)),
        new Shortcut(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0)),
        new Shortcut("jk"),
        new Shortcut(new KeyStroke[]{KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SLASH, KeyEvent.CTRL_MASK),
            KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_MASK)})
    });

  6. 次に、プロジェクトをデプロイし(.jarを作成)、プラグインフォルダーに追加します。参考までに、次の手順に従いました。

    http://confluence.jetbrains.com/display/IDEADEV/Getting+Started+with+Plugin+Development#GettingStartedwithPluginDevelopment-anchor5

  7. キーマップフォルダからVim.xmlファイルを保存する必要があるかもしれませんが、よくわかりません。私は自分の物を削除し、IntelliJを再起動したときに作り直しました。

  8. やってみて!今すぐ終了挿入モードのショートカットとして「jk」を使用できるはずです!

于 2013-06-21T04:09:39.017 に答える
4

ご存知のとおり、私はWindowsのホームフォルダーにある.vimrcである程度の成功を収めているので、通常はC:\ Users\yourLoginです。これは仕様によるもののようです。Olegは、IdeaVIMがここでVImコマンドのサブセットを使用していると述べています。

http://youtrack.jetbrains.com/issue/VIM-134#tab=Comments

youtrackシステムのコメントを表示するにはログインする必要があるようです。

オレグシュピノフ2011年8月15日18:12

IdeaVIMプラグインは.vimrcファイルからいくつかの構成データをロードしますが、vimプラグインのサポートは利用できず、利用できません。これは、IdeaVimプラグイン内のすべてのVIMランタイムを書き換える必要があるためです。

後者が予想されるWindowsを使用している場合は、ファイルに_vimrcではなく.vimrcという名前を付ける必要があることに注意してください。

set ignorecase少なくとも動作します!

于 2012-03-20T17:59:02.393 に答える
1

IdeaVimは現在(少なくとも0.35という早い段階で)、マップとそのバリエーションだけでなく、限られた数のセットコマンドをサポートしています。それらを自動的に取得するには、設定を〜/.ideavimrcに入れます。

于 2014-06-19T01:15:51.003 に答える
1

Windows 7で動作させるには、C:\Users[username]に.ideavimrcを作成します。

私のために働いた。

于 2015-10-19T10:27:45.297 に答える
0

私は昨日これを行う方法を理解しました。次のコマンドを実行することで、.vimrcをideavim設定にシンボリックにリンクすることができました。

ln -s $HOME/.vimrc $HOME/.ideavim
于 2017-07-15T16:22:18.540 に答える
-1

私はvim(バージョン0.57)を2日間使用しています:DそしてESCキーで挿入モードを終了するのが嫌いでしたジェットブレインでは、右側を見下ろすだけで、vimのロゴが表示されます> Open〜/ .ideavimrc

ここに画像の説明を入力してください

これを入力:imap ii <ESC>すると、double i(何でも入力)で挿入モードを終了し、.ideavimrcファイルを保存してIDEを再起動します

于 2020-05-05T12:02:31.283 に答える