Jak powiedziałem w komentarzach, odwzorowania w nie są przeznaczone do robienia tego, co chcesz. Interesującą opcją dla tego przypadku użycia jest langmap
.
Ta opcja pozwala zachować zachowanie lub klawiaturę w trybie wstawiania i zmienić jej zachowanie w innych trybach.
Aby z niego skorzystać, należy skompilować Vima +langmap
, możesz sprawdzić, czy ta opcja jest włączona za pomocą echo has('langmap')
: jeśli polecenie zwróci, 1
opcja jest włączona, inaczej będziesz musiał uzyskać konfigurację z włączoną tą opcją (aby wiedzieć, jak to zrobić, to to kolejne pytanie).
Gdy jest włączona, opcja bierze pary znaków, na przykład set langmap += à@
pozwala na dodanie znaku à
w buforze, gdy jesteś w trybie wstawiania, a wpisanie a, à
ale wpisanie à
w trybie normalnym spowoduje wyzwolenie @
znaku (ten przykład może być przydatny w przypadku azerty klawiatury, aby ułatwić pracę z makrami).
Aby użyć langmapy w języku greckim, możesz postępować zgodnie z przykładem podanym podczas :h 'langmap'
dodawania tej linii do twojego vimrc
(Kopiowanie tej linii z tego miejsca może nie być dobrym pomysłem, ponieważ tak naprawdę nie jestem pewien co do kodowania, prawdopodobnie wyrwanie linii bezpośrednio z pliku pomocy jest prawdopodobnie bezpieczniej) :
: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
Teraz z tego, co rozumiem w twoich komentarzach, pozostaje problem, gdy próbujesz użyć predefiniowanych poleceń: po wpisaniu polecenia wyzwalane jest zachowanie trybu wstawiania zamiast zachowania zdefiniowanego w mapie langmap. Niestety nie jestem pewien, czy mam na to dobre rozwiązanie. Jednym z pomysłów może być przedefiniowanie poleceń, na przykład:
command λς lw
W ten sposób po wpisaniu polecenia λς
Vim wykona polecenie , lw
ale widzę kilka wad tej metody:
- Ponowne zdefiniowanie wszystkich poleceń, których chcesz użyć, może być ogromnym problemem.
- Polecenia zdefiniowane przez użytkownika muszą zaczynać się od dużej litery, a teraz mam pomysł, jak wygodne jest to robić w języku greckim.
Być może więc wtyczka zaproponowana przez @Alexandra Myszkowa w odpowiedzi na to pytanie może być przydatna (ponieważ nigdy nie próbowałem żadnej z nich, nie wiem, czy rozwiązały problem, ale wygląda na to, że tak).
langmap
opcja (zobacz dokument zawierający przykład greckiego układu). Ta opcja została stworzona, aby pomóc w radzeniu sobie z klawiaturami niełacińskimi, takimi jak grecki lub cyryliczny. Pozwala zdefiniować pary symboli, które będą interpretowane normalnie w trybie wstawiania, ale zostaną zastąpione w innych trybach, być może to ci pomoże.