Bunu yaparsanız :help key-notation
vim, sen Vim tanıyan tek düzenleyiciler vardiya, kontrol, (eş anlamlı olarak ele) alt / meta ve Mac komut tuşu olduğunu göreceksiniz. Xmodmap komutunu sağ alt anahtarınızı Vim'in tanıdığı yeni bir değiştiriciyle eşleştirmek için kolayca kullanabilirsiniz, ancak belki de bu değiştiricilerin hiçbiri şu anda sizin tarafınızdan kullanılmamaktadır. (Linux sistemlerinin Vim'in gördüğü gibi Mac komut tuşu değiştiricisini temsil etmesini sağlamak mümkün mü bilmiyorum.) X'in tanıdığı başka değiştiriciler de var: Mod4, Hyper, vb. onları görmemek ya da en azından onları bağlayamamak.
Başka bir seçenek, SağAlt-Sol Ok için belirli bir tuş dizisi, örneğin Esc- [MyUniqueGarbageHere) oluşturmak üzere düzenleme yapmaktır. Bu kesinlikle yapılabilir ve daha sonra Vim'e bunu istediğiniz herhangi bir eyleme bağlamasını söyleyebilirsiniz, bu da sol alt anahtarınızın bağlı olduğundan farklıdır. Bunun dezavantajı, her RightAlt + Key kombinasyonu için ayrı ayrı yapmanız gerektiğidir. Ama bunu sadece birkaç anahtar için yapmak istiyorsanız, çok uygun.
Tam olarak nasıl uyguladığınız, Vim'i X'te veya bir Linux konsolunda mı yoksa başka bir ortamda mı kullanacağınıza bağlı olacaktır. X'te kullanmaktan bahsettiğinizi varsayalım.
RightAlt'ı Mod3'e bağlamak için xmodmap kullanın. X oturumunuz başladığında bunun bir kez çalışmasını düzenleyin. Bazı dağıtımlarda zaten xmodmap komutları içeren belirli konumlara dosya yükleyecek bir / etc / X11 / xinit / xinitrc dosyası vardır.
xmodmap -e "remove Mod1 = Alt_R" -e "add Mod3 = Alt_R"
Ben urxvt terminalini kullanıyorum. Xresources tipi bir dosyada tuş bağlamalarının tanımlanmasını sağlar. ~ / .Config / Xresources dizininde yapabilirsiniz; ~ / .Config / app-defaults / URxvt içinde yaparım. Bu dosyaya böyle bir satır koyarım (tam sözdizimi onu koyduğunuz dosyaya duyarlıdır):
URxvt.keysym.Mod3-Left: \033<RAlt-Left>
Şimdi yeni bir terminal başlatın, ctrl-V yazın ve ardından RightAlt + Left yazın. Komut satırında ^ [[<RAlt-Left>) karakterlerini görmelisiniz. Çalışıyor mu? İyi.
~ / .Vimrc'nize şunu koyun:
set t_Ff=^[<RAlt-Left>
Buradaki '^ [' tek bir kaçış karakteri. Diğer karakterlerin her biri ('<', 'R', 'A' vb.) Kendisidir. '^ [' Değerini girmek için vim'in "değişmez" anahtar önekini ve ardından bir kaçış kullanın ("Değişmez" anahtarın varsayılan olarak ne olduğunu unuttum --- ayrıca ctrl-V, belki?) T_Ff sadece kullanılmayan bir terminal girişi . Diğeri t_Fg. Sen kullanabilirsiniz :set termcap
Terminal girişleri atanmış olduğunu görmek için vim ve sadece kullanımda olmayan bazı XX t_XX kullanın. Bu sonraki satırlarla yukarıda sunulan .vimrc satırını izleyin:
map <t_Ff> whatever-vim-keys-you-want-it-mapped-to
map! <t_Ff> whatever-vim-keys-you-want-it-mapped-to
Doğrudan yapmak da mümkündür:
map ^[<RAlt-Left> whatever-vim-keys-you-want-it-mapped-to
Ancak, çok daha güvenilir çalışmak için boş bir terminal girişi kullanan tekniği buldum.
Burada birçok varsayım yaptım: Linux, X vb. Urxvt'den farklı bir terminal programı kullanıyorsanız, açıkladığım şeyi yapmak için yeterince güçlü tuş bağlama teknikleri sağlayabilir veya sağlamayabilir. Daha az egzotik anahtarlar seçerseniz, yine de burada açıkladığım gibi bir şey yapabilirsiniz. Örneğin, RAlt-Left'un F21'e bağlanmasını ayarlayabilir ve sonra oradan gidebilirsiniz. Gereksinimlerinizin ne olduğunu bize bildirin.