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 \rveya alır \015. Dahil Altolan tuş kombinasyonları tipik olarak karakter ESC(a.ka. ^[aka \eveya \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-qveya C-h cEmacs'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 ~/.XresourcesX'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 15için 24için F5için F12- geçmiş nedenlerle, F1 ile F4ve farklı çıkış dizilerine sahip) number2değiştirici gösterir ( 2için Shift, 5için Ctrl, 3için Meta, 8iç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 Mod1yoluyla Mod5. xmodmap -pmTuş takımlarının değiştiricilere eşlenmesini görmek için çalıştırın . Örneğin, Super_LMod5'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-mapveyalocal-function-key-map (veya function-key-mapEmacs 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ı?