Vtr'de Ctrl + okları nasıl düzeltilir?


26

Putty -> Suse box -> vim 7.2Düzenlemek için combo kullanıyorum ve Ctrl + okları combo'yu belirli bir göreve yeniden eşlemek istiyorum. Ancak bazı nedenlerden dolayı, Vim kısayolu yok sayar ve ekleme moduna girer ve "C" nin (sol için) karakterini (sağ için) ekler.

Klavye / terminal konfigürasyonumun hangi parçası suçlu ve onu nasıl düzeltecek?


PuTTY, kontrol okları için kullanışsız diziler göndermez. Önerilen cevapların hiçbiri doğru (veya kullanışlı) değil.
Thomas Dickey

Yanıtlar:


27

Uçbirim modunda + , + ok tuşlarını Ctrlyazarak terminalinizin + ok için gönderdiği tam kaçış sırasını tam olarak anlayın : bu, önceleme karakterini ( vim ile gösterildiği gibi ) tam anlamıyla ve ardından kaçış sırasının geri kalanını izleyecektir. Öyleyse vim'e bu kaçış dizilerini şöyle bir şeyle anlatınCtrlVCtrlESC^[

map <ESC>[5D <C-Left>
map <ESC>[5C <C-Right>
map! <ESC>[5D <C-Left>
map! <ESC>[5C <C-Right>

Putty'nin uygun olmayan Uygulama İmleç Tuşları modu için varsayılan bir ayarı olduğunu hatırlıyor gibiyim (nedenini unuttum), önce bu ayarı değiştirmek isteyebilirsiniz.

Kaçış dizileri terminaller arasında değişiklik gösterse de, çakışmalar (yani farklı terminallerde farklı tuşlara karşılık gelen bir kaçış dizisi) nadirdir, bu nedenle eşlemeleri yalnızca belirli bir terminal türünde uygulamaya çalışmaya gerek yoktur.


Hangi kaçış sırasının gönderildiğini nasıl söylerim?
Alex B

@Alex: Açıklamamı netleştirmeye çalıştım, hala ilk cümleimi anlamadıysanız şikayet edin.
Gilles 'SO- kötülük' dur

Ayrıca, çalıştırabilir od -aveya od -csekizlik kazı yaparsanız ve ardından söz konusu anahtarları yazabilirsiniz. Örnek olarak cevabımdaki "eklenmiş" bölümüne bakın.
msw

Bu soruya bu kadar geç geldiğim için üzgünüm, ama PuTTY'nin hala uygulama imleç anahtarlarını terminale gönderdikten sonra , tamamen kapattıktan sonra bile buldum . Kayboldum, ortadan kaldırmak için başka neleri ayarlayacağım.
Alex B

@Alex: Uzaklaşmana gerek yok, uygulamalarını onlar hakkında söyleyebilirsin (ki en az dirençli yol buldum). Veya PuTTY'yi mintty plus Cygwin ssh gibi alternatiflerden biriyle değiştirebilirsiniz (ancak bu site için konu dışı).
Gilles 'SO- kötülük'

7

Muhtemelen en iyisi PuTTY'nin Uygulama İmleç Tuşları modu yapılandırmasına bakmaktır .

Varsayılan diziler ESCönek olarak gönderilir ve [bunu Append veya hange ya Cda sizi ekleme moduna sokan başka şeyler takip eder .

Gilles takip edildi

^ V çıkışının biraz daha açık bir sürümü od (1) ile görülebilir. İşte benim terminalimde ^ Yukarı, ^ Aşağı, ^ Sağ, ^ Sol yazıyor:

$ od -a
0000000 esc   [   1   ;   5   A esc   [   1   ;   5   B esc   [   1   ;
0000020   5   C esc   [   1   ;   5   D

Bu yüzden + ^[[1;5Atuşuna bastığımda terminalim gönderilir .Ctrl


Uygulama İmleç Tuşları modunu kapatmak yardımcı görünmüyor.
Alex B


0

Bu ve diğer vim klavye sorunları için ben sadece yapıyorum

vim ~/.vimrc
set nocompatible
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.