İterm2 içindeki anahtarları yeniden eşleme


15

İTerm2 varsayılan tuş kombinasyonları bazı yeniden etmeye çalışıyorum ve "Hex Kodları Gönder" için tuşları bağladığınızda ne olup bittiğini anlamak istiyorum.

Önceki bir yazı, ctrl-a ve ctrl-e tuş kombinasyonlarını sırasıyla cmd-sol ve cmd-sağa yeniden eşleştirmeme yardımcı oldu, ancak diğer tuş kombinasyonlarını da yeniden eşleştirmek istiyorum. ( Önceki Stackoverflow yayınına bağlantı ).

Onaltılık kodlar olduğu konusunda belirsiz bir anlayışım var, ama neler olup bittiğini anlamak için nereye gideceğimizi anlayamadığım bir noktadayım.


Bash ile ilgisi yoktur. Etiket kaldırıldı.

Yanıtlar:


16

Bu onaltılı kodlar sadece bayt dizileridir. Örneğin, bir anahtar kombinasyonunu 0x66 0x6f 0x6feklemek için eşlemek foo. 0xc3 0xa4UTF-8 kullanırsanız ä ekler. 0x1b 0x1b 0x5b 0x43anlamına gelir escape escape [ C.

ANSI kaçış dizileri gibi bazı bayt dizileri ve hatta ASCII kontrol karakterleri gibi tek baytların terminallerde özel anlamları vardır.

⌘ ← ve ⌘ → satırın başına ve sonuna gitmek için, bunları 0x01 (düzeltme işareti gösteriminde ^ A) ve 0x05 (düzeltme işareti gösteriminde ^ E) atayabilirsiniz:

  • ←: Hex Kodları Gönder: 0x01
  • ⌘ →: Onaltılı Kodlar Gönder: 0x05

Bir sözcüğü şu öğeye atayarak ⌥⌦ ileri silebilirsiniz \ed:

  • ⌥⌦: Gönder ^ [d

Değişen ⌥ ← ve ⌥ → etmek \ebve \efaynı zamanda değil destek readline veya emacs tarzı tuş atamaları yapmak programlarda bunları değiştirecek ITERM en tercihlerinde. Başka bir seçenek bunu ~ / .inputrc dosyasına eklemektir :

"\e\e[D": backward-word
"\e\e[C": forward-word

readHangi karakterleri eklediklerini görmek için tuş kombinasyonlarını çalıştırabilir ve basabilirsiniz. Örneğin ⌥ ← ^[^[[Dvarsayılan olarak ekler , burada düzeltme işareti gösteriminde^[ kaçış vardır .

Ayrıca bkz . Http://code.google.com/p/iterm2/wiki/Keybindings .


Teşekkürler. Benim soru için bir çözüm aranırken Bu cevap girmek burada . Belirli bir tuş birleşimi için onaltılı kodu nasıl arayabilirim? (benim durumumda ben kombinasyonlar ile ilgilenen am Ctrl+Alt+<char>ile <char>varlık i, j, k, lve u)
Amelio Vazquez-Reina

6

Anahtar Kodları'nı ($ 0) Many Tricks ile yüklemenizi ve kendiniz için kısayolları bulmanızı öneririm .

Örneğin ⌃D, ileriye doğru silme tuşuna ( ) basmak kadar basit olmak üzere , bir charter (Ctrl-D ( ) ) silmek için varsayılan kısayolu yeniden eşlemek isterseniz…

  1. Uygulamayı açın ve Ctrl-D

    Anahtar Kodları Örneği

  2. İTerm 2'ye dönünce, iTerm> Tercihler> Tuşlar'a Unicode kısayolunu ekleyin

    iTerm Onaltılı Kodları Gönder

Not: Kopyalayıp yapıştırmayın, Unicode'u boşluk bırakmadan yazın.


2

Bulduğum en iyi yol, ya anahtar kodları göndermekle (@pattulus tarafından açıklandığı gibi veya vim anahtar bağlamaları kullanmaktı).

Anahtar kodları hakkında not: Aslında yukarıda açıklandığı gibi unicode dizesini göndererek çalıştıramazsınız, bunu kod olarak göndermeniz gerekirse Control+ hem değiştiriciyi hem de anahtarı Dgöndermeniz gerekir: kontrol anahtarı değiştiricisi 0x840101 0x4nerede 0x840101ve Anahtar Kod ile elde edilebilir .

Vim dizisi olarak gönderme hakkında not : iTerm2 belgelerinde açıklandığı gibi , bir anahtar kodunu vim-ciltleme biçiminde \<C-d>gönderme Control+ gibi gönderebilirsiniz D( \önemli olduğunu unutmayın ).

Kişisel olarak vim key ciltlemeyi tercih ediyorum çünkü daha okunabilir ve daha sonra ne yaptığınızı anlayacaksınız.


1

Check Karabiner .

Bu araçta, uygulamalara özgü önemli özel eşlemeler oluşturabilirsiniz. Buna yardımcı olacak bazı araçlarla birlikte gelir.

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.