Como dije en los comentarios, las asignaciones no están diseñadas para hacer lo que quieres hacer. Una opción interesante para este caso de uso es langmap
.
Esta opción permite mantener el comportamiento de su teclado en modo de inserción y cambiar su comportamiento en los otros modos.
Para usarlo, se debe compilar con Vim +langmap
, puede verificar que esta opción esté habilitada con echo has('langmap')
: si el comando devuelve 1
la opción está habilitada, de lo contrario, tendrá que configurarla con esta opción habilitada (para saber cómo hacerlo, se Es otra pregunta).
Cuando está habilitada, la opción toma pares de caracteres, por ejemplo, set langmap += à@
le permitirá agregar un à
en su búfer cuando esté en modo de inserción y escriba a, à
pero escribir à
en modo normal en realidad activará un @
(este ejemplo puede ser útil en azerty teclados para facilitar el trabajo con macros).
Para usar langmap en griego, puede seguir el ejemplo dado al :h 'langmap'
agregar esta línea a su vimrc
(Copiar esta línea desde aquí puede no ser una buena idea ya que realmente no estoy seguro de la codificación, es probable que extraer la línea directamente del archivo de ayuda más seguro) :
:set langmap=ΑA,ΒB,ΨC,ΔD,ΕE,ΦF,ΓG,ΗH,ΙI,ΞJ,ΚK,ΛL,ΜM,ΝN,ΟO,ΠP,QQ,ΡR,ΣS,ΤT,ΘU,ΩV,WW,ΧX,ΥY,ΖZ,αa,βb,ψc,δd,εe,φf,γg,ηh,ιi,ξj,κk,λl,μm,νn,οo,πp,qq,ρr,σs,τt,θu,ωv,ςw,χx,υy,ζz
Ahora, por lo que entiendo en sus comentarios, sigue siendo un problema cuando intenta usar comandos predefinidos: cuando escribe un comando, el comportamiento del modo de inserción se activará en lugar del comportamiento definido de langmap. Lamentablemente, no estoy seguro de tener una buena solución para eso. Una idea podría ser redefinir comandos, por ejemplo, así:
command λς lw
De esta manera, cuando escriba el comando, λς
Vim se ejecutará, lw
pero veo varios inconvenientes en este método:
- Puede ser un gran dolor en el trasero redefinir todos los comandos que desea utilizar.
- Los comandos definidos por el usuario tienen que comenzar con una letra mayúscula, y ahora tengo idea de lo conveniente que es hacerlo en griego.
Entonces, tal vez un complemento sugerido por @Alexander Myshov en su respuesta a esta pregunta podría ser útil (como nunca probé ninguno de estos, no sé si resuelven el problema, pero parece que sí lo hacen).
langmap
opción (ver el documento que incluye un ejemplo de diseño griego). Esta opción fue hecha para ayudar a tratar con teclados no latinos como el griego o el cirílico. Le permite definir pares de símbolos que se interpretarán normalmente en el modo de inserción pero se reemplazarán en otros modos, tal vez esto lo ayude.