Estoy en la posición ligeramente inusual de usar dos diseños de teclado diferentes de forma regular ( Programmers-Dvorak y Turkish-F ). Estos diseños son bastante diferentes entre sí y solo soy capaz de dominar vim con un conjunto de recuerdos musculares. Soy bastante competente con los comandos vim en el diseño Dvorak, pero es casi imposible de usar si mi teclado está en el diseño turco-F. Desafortunadamente, edito regularmente archivos en inglés y turco e incluso en idiomas mixtos. Mi dominio es tal que puedo escribir bien cualquier idioma en su respectivo diseño de teclado, pero mi cerebro se niega a conectarlos y escribir incluso algunas letras de una palabra en turco desde el diseño de Dvorak o viceversa.
Tengo enlaces de saludo de dos teclas para cambiar el diseño en Xorg, pero incluso esto me deja con un flujo de trabajo incómodo en vim cuando edito archivos de idiomas mixtos:
<vim commands…>i<switch to tr>…content…<escape><switch to en><vim commands…>
Me gustaría poder acortar esto a algo como:
<vim commands…><leader>i…content…<escape><vim commands…>
... de modo que el uso <leader>i
establece un conjunto de :imap
valores para emular el diseño turco sin cambiar el diseño del teclado del sistema. Al mismo tiempo, i
cambiaría al modo de inserción pero sin los :imap
valores adicionales . Los valores en sí mismos son fáciles, solo necesito las asignaciones del alfabeto como estas:
:imap a u
:imap A U
:imap o i
:imap O İ
"etc.
La pregunta es, ¿Cómo configurar dos modos de inserción, un modo de inserción normal y un seudo modo de inserción que es idéntica a excepción de un grupo de asignaciones, y cómo puedo activar estos modos con <leader>i
, <leader>a
, etc.?
:imap
que funcionaría incluso en una sesión ssh remota o cuando $DISPLAY
no está configurado de otra manera.
InsertEnter
yInsertLeave
, que puede usar para cambiar diseños automáticamente. Específicamente, en elInsertLeave
puede verificar si es turco, si es así, cambie a Dvorak, establezca una bandera, y cuando ingrese insertar nuevamente, vuelva a cambiar a turco si ese fue el caso la última vez que dejó el modo de inserción.