Düzenli olarak iki farklı klavye düzeni ( Programcılar-Dvorak ve Türkçe-F ) kullanma alışılmadık bir durumdayım . Bu düzenler birbirinden oldukça farklıdır ve sadece bir dizi kas hafızasıyla vimde yetkin olabiliyorum. Dvorak düzenindeki vim komutları konusunda oldukça yetkinim, ancak klavyem Türkçe-F düzenindeyse kullanmak neredeyse imkansız. Ne yazık ki, dosyaları hem İngilizce hem de Türkçe ve hatta karışık dillerde düzenli olarak düzenliyorum. Yetkinliğim öyle ki, her iki dili de ilgili klavye düzenine yazabiliyorum, ancak beynim bunları çapraz bağlamayı ve Dvorak düzeninden Türkçe bir kelime birkaç harf bile yazmayı reddediyor ya da tam tersi.
Xorg'daki düzeni değiştirmek için iki tuşlu selam bağlarım var, ancak bu bile karışık dil dosyalarını düzenlerken beni vim'de garip bir iş akışı ile bırakıyor:
<vim commands…>i<switch to tr>…content…<escape><switch to en><vim commands…>
Bunu şöyle bir şeye kısaltmak istiyorum:
<vim commands…><leader>i…content…<escape><vim commands…>
... kullanıldığında , sistem klavye düzenini değiştirmeden Türkçe düzenini taklit etmek için <leader>i
bir grup :imap
değer ayarlanır . Aynı zamanda, i
ek :imap
değerler olmadan ekleme moduna geçecektir . Değerler kendileri kolaydır, sadece alfabe eşlemelerine böyle bir şeye ihtiyacım var:
:imap a u
:imap A U
:imap o i
:imap O İ
"etc.
Soru, nasıl kurulum iki uç modlarına, eşleştirmeleri bir demet haricinde aynıdır ve nasıl bu modları tetikleyebilir bir normal ekleme modu ve mod insert bir yalancı <leader>i
, <leader>a
vb?
:imap
uzak bir ssh oturumunda bile veya $DISPLAY
başka bir şekilde ayarlanmadığında çalışacağı yönündeydi .
InsertEnter
veInsertLeave
autocmds öğelerine sahipsiniz . Özellikle,InsertLeave
Türkçe olup olmadığını kontrol edebilirsiniz, eğer varsa, Dvorak'a geçin, bir bayrak ayarlayın ve ekleme girdiğinizde son ekleme modundan son çıkmanız durumunda tekrar Türkçe'ye geçin.