Terminal için kodlama ve kod çözme işleminden geçmeden klavye girişi ve ekran metni alabilen X11 Emacs'ta daha rahat olacaksınız . Metin modu düzenleyicisini kullanmanın ana nedeni, uzak bir makinede ekran veya tmux içinde çalıştırmaktır, ancak Tramp sayesinde uzak dosyayı yerel Emac'larınızda düzenlemek genellikle daha kolaydır. Bununla birlikte, terminal emülatörünüz işbirliği yaptığı sürece, Xterm'de olduğu gibi istediğinizi yapabilirsiniz.
Bir terminalde bir tuşa veya tuş kombinasyonuna bastığınızda, terminalde çalışan uygulamaya bir veya daha fazla karakterden oluşan bir dizi olarak iletilir. Örneğin, tuşuna bastığınızda auygulama alınır a
. Tuşuna bastığınızda Enter, uygulama karakteri CR
(aka ^M
("kontrol emm" olarak telaffuz edilir), aka karakter numarası 13, aka \r
veya alır \015
. Dahil Altolan tuş kombinasyonları tipik olarak karakter ESC
(a.ka. ^[
aka \e
veya \033
) olarak ve ardından anahtar veya tuş kombinasyonu olmadan sıra ile iletilir Alt. Fonksiyon tuşları ve diğer tuş kombinasyonları \e[
veya ile başlayan çıkış dizileri olarak iletilir \eO
.
Kaçış dizileri tam olarak standartlaştırılmamıştır ve terminaller tipik olarak belirli tuşlar için belirli nitelikleri yoksayar. Örneğin, hiper ve süper değiştiriciler genellikle göz ardı edilir. Uçbiriminizin tuş birleşimi için ne gönderdiğini, Ctrl+ tuşlarına ve Vardından kabuk isteminde o tuş birleşimine C-q
veya C-h c
Emacs'ta tuş birleşimine basarak görebilirsiniz.
Xterm, X kaynakları aracılığıyla her anahtar için kaçış dizilerini yapılandırmanıza olanak tanır . Çoğu kurulum ~/.Xresources
X'in başladığı andan itibaren kaynakları okur ve dosyayı ile manuel olarak yükleyebilirsiniz xrdb -merge ~/.Xresources
.
XTerm.VT100.translations: #override \n\
Ctrl ~Shift ~Meta <Key> Return: string("\033[73;5~") \n\
Ctrl Shift ~Meta <Key> percent: string("\033[37;6~")
Ortak bir kural, ESC [ number1 ; number2 ~
değiştiricili işlev tuşları için formun kaçış dizilerini kullanır . number1
(fonksiyon tuşuna gösterir 15
için 24
için F5için F12- geçmiş nedenlerle, F1 ile F4ve farklı çıkış dizilerine sahip) number2
değiştirici gösterir ( 2
için Shift, 5
için Ctrl, 3
için Meta, 8
için Ctrl+ Metave + için 1 ekleyin Shift- hayır, çok tutarlı değildir).
Yani şey gibi onların numarasından Hiper ve Süper değiştiriciler belirtmek gerekir Mod1
yoluyla Mod5
. xmodmap -pm
Tuş takımlarının değiştiricilere eşlenmesini görmek için çalıştırın . Örneğin, Super_L
Mod5'e bağlıysa, aşağıdaki satır (bu tam durumu kullanın) Super+ için bir bağlayıcı tanımlar Space:
~Ctrl ~Meta Mod5 <Key> space: string("\033[32;16~") \n\
Emacs, kaçış dizilerini Emacs 23 aracılığıyla input-decode-map
veyalocal-function-key-map
(veya function-key-map
Emacs 23'ten önce) dahili anahtar gösterimine çevirir .
(define-key local-function-key-map "\033[32;16~" [(super ?\ )])
Bu direk,% 80 geri dönüştürülmüş malzemeden yapılmıştır.Tüm tuş kombinasyonlarını işleyebilecek linux terminalleri var mı?