VimとIntelliJのデフォルトのホットキーの両方に慣れています。それらを変更する必要がないようにしたいのですが、何らかのエスケープキーの後で、たとえばCTRL-Pなどの競合するIntelliJバインディングを使用できるようにしたいと思います。
競合するバルーンと私の research はあまり役に立ちませんでした。私が見つけた唯一のことは、vimプラグインをホットキーでオフにして、完了後にオンにすることができるということですが、毎回1つオンにすることを忘れないでください。
私の問題に対する解決策はありますか?
VIMプラグインをオフにして、キーストロークを実行してから、オンに戻します。 ^Z VIMこの目的のためのエミュレーターコマンドにバインドされています。これで十分です。これを設定するには、[設定...]> [キーマップ]に移動し、「vimエミュレーター」を検索して右クリックしますコマンド名でショートカットを割り当てます。
ただし、プレフィックスキーで使用するIntelliJコマンドのセットが限られている場合は、プレフィックスキーを選択し、それがIntelliJでバインドされていないことを確認してから、~/.ideavimrc
呼び出したい元のバインディングとともに。
例えば、 ^D VIMは「ウィンドウを下にスクロール」、IntelliJ(キーマップ「Mac OS X 10.5+」を使用)は「デバッグ」です。両方を使用できるようにしたい場合:
あなたの~/.ideavimrc
、次のマッピングを追加します:
nnoremap <C-Z><C-D> :action Debug<CR>
入力できます ^D Vimアクションの場合は下にスクロールします、または ^Z^D IntelliJアクションDebugの場合、実際にはIdeaVIMを無効にする必要はありません。もちろん、この方法で実行するIntelliJコマンドごとに〜/ .ideavimrcにマッピングを追加する必要がありますが、数が限られている場合は、一度設定すればそれで完了です。
すべての競合するマッピングのバインディングを含む 。ideavimrc を作成しました。多分それは誰かに役立つでしょう。
imap jj <Esc>
let mapleader = " "
map <leader>a :action $SelectAll<CR>
map <leader>b :action GotoDeclaration<CR>
map <leader>c :action $Copy<CR>
map <leader>d :action EditorDuplicate<CR>
map <leader>e :action RecentFiles<CR>
map <leader>f :action Find<CR>
map <leader>g :action GotoLine<CR>
map <leader>h :action TypeHierarchy<CR>
map <leader>i :action ImplementMethods<CR>
map <leader>m :action EditorScrollToCenter<CR>
map <leader>n :action FileChooser.NewFolder<CR>
map <leader>o :action OverrideMethods<CR>
map <leader>p :action ParameterInfo<CR>
map <leader>q :action QuickJavaDoc<CR>
map <leader>r :action Replace<CR>
map <leader>s :action SaveAll<CR>
map <leader>t :action Vcs.UpdateProject<CR>
map <leader>u :action GotoSuperMethod<CR>
map <leader>v :action $Paste<CR>
map <leader>w :action EditorSelectWord<CR>
map <leader>x :action $Cut<CR>
map <leader>y :action EditorDeleteLine<CR>
map <leader>[ :action EditorCodeBlockStart<CR>
map <leader>] :action EditorCodeBlockEnd<CR>
@melihovvによる優れた回答に加えて、実行、デバッグ、構成の選択アクションを~/.ideavimrc
に追加しました。
map <leader>dd :action Debug<CR>
map <leader>cd :action ChooseDebugConfiguration<CR>
map <leader>rr :action Run<CR>
map <leader>cr :action ChooseRunConfiguration<CR>
keymap ここにバインドなし:使用するため、。ideavimrcを構成する白紙の状態から開始できます
簡単なオプションとして、IntelliJキーバインドに挿入モードを使用することもできます。私はideavimから始めたばかりですが、今のところこれでうまくいくようです。