vim intellij-idea ideavim

Escape a los accesos directos de IntelliJ IDEA de IdeaVim



intellij-idea (5)

Agregando a la excelente respuesta de @melihovv, he agregado las acciones Ejecutar, Depurar y Elegir configuración a mi ~/.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>

Estoy acostumbrado a las teclas de acceso rápido predeterminadas de Vim e IntelliJ. Me gustaría no tener que cambiar ninguno de ellos. Me gustaría poder usar enlaces IntelliJ conflictivos, como CTRL-P, por ejemplo, después de algún tipo de clave de escape.

El globo del conflicto y mi research no fueron muy útiles. Lo único que he encontrado es que puedo desactivar el complemento vim con una tecla de acceso rápido y volver a encenderlo cuando termine, pero debo recordar que debo activarlo una vez.

¿Hay alguna solución para mi problema?


Hice .ideavimrc que contiene enlaces para todas las asignaciones en conflicto. Tal vez sea de utilidad para alguien.

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 GuiDesigner.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>


Simplemente apago el complemento VIM, ejecuto una pulsación de tecla y luego lo vuelvo a encender. Tengo ^ Z vinculado al comando VIM Emulator para este propósito y es suficiente para mí.

Pero si tiene un conjunto limitado de comandos de IntelliJ que desea usar con una clave de prefijo, puede seleccionar la clave de prefijo, asegurarse de que no esté enlazada en IntelliJ y luego usarla en su ~/.ideavimrc junto con el enlace original WAN invocar.

Por ejemplo, ^ D en VIM es "Ventana de desplazamiento hacia abajo" y en IntelliJ (con el mapa de teclado "Mac OS X 10.5+") es "Debug". Si quieres poder usar ambos:

  • elija una clave de prefijo que no esté enlazada en IntelliJ, diga ^ Z
  • en Otras configuraciones => Emulación de Vim, busque el acceso directo ^ D y configure el controlador en Vim.
  • En su ~/.ideavimrc , agregue la siguiente asignación:

    nnoremap <CZ><CD> :action Debug<CR>

Ahora puede escribir ^ D para la acción Vim desplazarse hacia abajo, o ^ Z ^ D para la acción IntelliJ Debug, sin deshabilitar realmente IdeaVIM. Por supuesto, tendrá que agregar una asignación a su ~ / .ideavimrc para cada comando IntelliJ que desee ejecutar de esta manera, pero si tiene un número limitado, puede configurarlos una vez y terminar con ellos.


Un keymap sin ningún tipo de enlaces aquí: para ser utilizado, por lo que uno podría comenzar desde una pizarra limpia configurando el .ideavimrc


Una opción simple también puede ser utilizar el modo de inserción para las combinaciones de teclas IntelliJ. Estoy empezando con ideavim y esto parece hacerlo por mí, por ahora ..