Escape to IntelliJ IDEA ярлыки от IdeaVim
Я привык как к vim, так и к горячим клавишам IntelliJ по умолчанию. Я бы хотел не менять ни одного из них - я бы предпочел использовать конфликтующие привязки IntelliJ, например CTRL-P, после какого-то ключа эвакуации.
Конфликтный шар и мои исследования не были слишком полезными. Единственное, что я нашел, это то, что я могу отключить плагин vim с помощью горячей клавиши, а затем вернуться после того, как я закончил, но я должен помнить, чтобы каждый раз его переводить.
Есть ли решение для моей проблемы?
Ответы
Ответ 1
Я просто выключаю VIM-плагин, выполняю нажатие клавиши, а затем снова включаю его. У меня есть ^Z, связанный с командой VIM Emulator для этой цели, и это достаточно для меня.
Но если у вас есть ограниченный набор команд IntelliJ, которые вы хотите использовать с префиксным ключом, вы можете выбрать префиксный ключ, убедиться, что он не связан в IntelliJ, а затем использовать его в ~/.ideavimrc
вместе с оригинальной привязкой к вам wan, чтобы вызвать.
Например, ^D в VIM "Окно прокрутки вниз" и в IntelliJ (с раскладкой "Mac OS X 10. 5+") является "Debug". Если вы хотите использовать оба варианта:
Теперь вы можете ввести ^D, чтобы действие Vim прокручивалось вниз, или ^Z ^D для отладки действия IntelliJ без фактического отключения IdeaVIM. Разумеется, вам нужно добавить сопоставление для ~/.ideavimrc для каждой команды IntelliJ, которую вы хотите выполнить таким образом, но если у вас ограниченное число, вы можете установить их один раз и сделать с ним.
Ответ 2
Я сделал .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>
Ответ 3
Ключевая карта без каких-либо привязок здесь: для использования, поэтому можно начинать с чистого листа, настраивая.ideavimrc
Ответ 4
Добавив @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>
Ответ 5
Простым вариантом также может быть использование режима вставки для сочетаний клавиш IntelliJ. Я только начинаю с ideavim, и это, кажется, делает это для меня, пока..