“CTRL + ok / sn” için gnome terminali ANSI kaçış dizisi nedir?


10

Benim bash yapılandırmak çalışıyorum ~/.inputrcbu ayarlara
(Not: , sol ve sağ ok tuşlarını ortalama)

  • Ctrl+ - bir kelimeyi geri atlamalı
  • Ctrl+ - bir kelime ileri atlamalı

Şu anda bende var ~/.inputrcve işe yaramıyor. Ctrl + arrowhiçbir şey üretmez.

"\eC-5C":forward-word
"\eC-5D":backward-word

Eminim kaçış dizim yanlış. Kombinasyonlar
için doğru kaçış dizileri Ctrl + arrownelerdir?

  • terminal: gnome terminali içinde tmux

Yanıtlar:


14

Gnome terminali (daha düzgün VTE ) xterm'in kaçış dizilerinin bazı versiyonlarını taklit eder. Bunu ne kadar yakından gerçekleştirdiği, VTE sürümüne bağlıdır.

İlgili xterm belgeleri, XTerm Kontrol Dizilerinin PC Stili İşlev Tuşları bölümünde bulunur .

Aradığınız şey , değiştiriciyi ifade eden \e[1;5D(kontrol sol oku için) gibi bir dizedir .5control

Ncurses'da olarak, bu dizeleri kullanarak görebilirsiniz infocmp -xdeğerleri olarak, kUP5, kDN5, kLFT5ve kRIT5. Örneğin:

    kDN5=\E[1;5B,
    kLFT5=\E[1;5D,
    kRIT5=\E[1;5C,        
    kUP5=\E[1;5A,

Yanıt ve kaynaklara bağlantı için teşekkürler. Bu benim için problemi çözdü!
the_velour_fog

16

Bir anahtar dizinin kodlarının ne olduğunu bulmanın en basit yolu ctrl- kullanmaktır v.

Yani, yazın ctrl Vve ctrl almak için:

^[[1;5C

Hangi yazmak için bir yol ESC[1;5Cveya \e[1;5C.


vay havalı. gnome terminalinin özel bir özelliği olup olmadığını biliyor musunuz, yoksa kazayla keşfedilen bir şey mi?
the_velour_fog

Hem zsh ( bindkey|grep 'quoted-insert') hem de bash ( bind -p|grep 'quoted-insert'), olarak ayarlanmış tuş kodlarını çıkarmak için bir anahtar bağlamaya sahiptir <c-v>.
kba Monica ile

1
Değeri ne olursa olsun, Ctrl-V aynı işlevi Vim'in Ekle ve Komut modlarında gerçekleştirir.
joeytwiddle

4
@the_velour_fog Ctrl + V “bir sonraki komutu terminal komutu olarak yorumlamak yerine ekle” anlamına gelir, Unix'in ilk günlerinden kalmadır. Çekirdek komut satırı işlemenin bash, zsh, vi, ... gibi daha karmaşık giriş sistemleri tarafından taklit edilen bir özelliği
Gilles 'SO- kötü olmayı bırak'

1
@kba Kayıt için sadece onlar değil. Bash's aslında bağlı olduğu GNU Readline kütüphanesi tarafından sağlanır, bu da <c-q>kopyaladığı Emacs tuş bağına uyması için bağlar . Zsh ayrıca her ikisine de bağlar <c-v>ve <c-q>ancak Vim modunu etkinleştirirseniz, ironik bir şekilde yeterlidir. Readline ayrıca Python'un import rlcompletergeliştirmesi gibi başka şeyler tarafından da kullanılır . (Kaynaklar: tiswww.case.edu/php/chet/readline/readline.html#SEC9 ve man zshzle)
ssokolow
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.