Como eu disse nos comentários, os mapeamentos no não são projetados para fazer o que você deseja fazer. Uma opção interessante para esse caso de uso é langmap
.
Esta opção permite manter o comportamento ou o teclado no modo de inserção e alterar o comportamento nos outros modos.
Para usá-lo, o Vim precisa ser compilado +langmap
, você pode verificar se esta opção está ativada com echo has('langmap')
: se o comando retornar 1
a opção está ativada, caso contrário, você precisará fazer uma configuração com esta opção ativada (para saber como fazer isso, é outra questão).
Quando está ativada, a opção aceita pares de caracteres, por exemplo set langmap += à@
, permitirá que você adicione a à
no seu buffer quando estiver no modo de inserção e você digitar a, à
mas digitar à
no modo normal acionará a @
(este exemplo pode ser útil no azerty teclados para facilitar o trabalho com macros).
Para usar o langmap em grego, você pode seguir o exemplo dado ao :h 'langmap'
adicionar esta linha ao seu vimrc
(Copiar esta linha daqui pode não ser uma boa ideia, pois não tenho muita certeza da codificação, é provável que puxar a linha diretamente do arquivo de ajuda mais 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
Agora, pelo que entendi nos seus comentários, permanece um problema quando você tenta usar comandos predefinidos: quando você digita um comando, o comportamento do modo de inserção será acionado em vez do comportamento definido pelo langmap. Infelizmente, não tenho certeza se tenho uma boa solução para isso. Uma idéia poderia ser redefinir comandos, por exemplo, assim:
command λς lw
Dessa forma, quando você digitar o comando o λς
Vim executará, lw
mas vejo várias desvantagens desse método:
- Pode ser uma grande dor de cabeça redefinir todos os comandos que você deseja usar.
- Os comandos definidos pelo usuário precisam começar com uma letra maiúscula, e agora tenho uma ideia de como é conveniente fazer isso em grego.
Talvez um plugin sugerido por @Alexander Myshov em sua resposta a essa pergunta possa ser útil (como eu nunca tentei nenhum deles, não sei se eles resolvem o problema, mas parece que sim).
langmap
opção (consulte o documento que inclui um exemplo de layout grego). Essa opção foi realmente feita para ajudar a lidar com teclados não latinos, como grego ou cirílico. Permite definir pares de símbolos que serão interpretados normalmente no modo de inserção, mas serão substituídos em outros modos; talvez isso ajude você.