GNU ekranında, varsayılan Ca yerine Alt-s (tweaking. Screenrc ile) öntanımlı komutu değiştirmek istiyorum, sebebi, emacs kullanmasıdır, dolayısıyla GNU ekranı Ca anahtarını bağlar ve "Ca" ye gönderir. emacs can sıkıcı olur (@Nils'in dediği gibi "Ca", "Ca a" yazmalıyım), aynı zamanda "Ca" bash kabuğunda, ve kaçışı C - 'ye değiştirebilirim ama bazıları zaten haritalanmış emacs ve diğer kombinasyonlar ALT-s kadar kolay değildir. Birisi zaten bir ALT anahtar eşlemesi yaptıysa, lütfen bana bildirin.gnu screen - varsayılan çıkış komut tuşu ALT-X olarak mı değiştiriliyor?
cevap
Sorunuzu yanıtlamıyor, ancak C-a a pencereye C-a gönderir, değil mi? man screen
benim okuma itibaren
o screen
bağlama komut için kullanabileceği tek bir meta karakter gibi görünüyor CTRL
geçerli:
escape xy
Set the command character to x and the character generating a literal
command character (by triggering the "meta" command) to y (similar to
the -e option). Each argument is either a single character, a two-character
sequence of the form "^x" (meaning "C-x"), a backslash followed by an octal
number (specifying the ASCII code of the character), or a backslash followed
by a second character, such as "\^" or "\\". The default is "^Aa".
Eğer emacs'taki kullanmayan bazı haritalama varsa, bile C-|
gibi rahatsızlık verici, daha sonra ALT-X
'u yeniden terminal terminali yöneticinizle kullanabilir ve bunun yerine ALT
bağlayıcısını kullanabilirsiniz. Bu olsa biraz hackish olurdu.
teşekkürler. Bu bir tür zor, belki de bunu yapmak için doğrudan bir yol olabilir – Siva
Kontrol ile çıkış tuşunu açmak zorunda değilsiniz. Ben backtick (Kontrol olmadan) için ayarlar "escape' ~ "kullanın. Yine de Alt-şeyleri kullanabileceğini sanmıyorum. – silentbicycle
@silentbicyle teşekkürler. evet biliyorum Kontrol ile önsözlemek zorunda değilim, "kaçış" ~ benim için çalışmıyor. Aslında, kabukta çalışan programlardan herhangi birinde, aslında CTL/ALT eşlemesini tercih etmemin nedeni budur. – Siva
Ekranda alt bindings için herhangi bir kısa sözlü sözdizimi yoktur, ancak doğrudan sekiz kodunu verebilirsiniz. Benim makinede Örneğin, Alt-x yani benim Screenrc içinde
alt alt-X için
Test ve eserlerini kaçış kodu değişti
kaçış 370x \ koyarak hex kodunu F8 veya 370 sekizlik vardır Linux'ta ekran 4.00.03 ile.
Bunun vb dil ve codeset, gibi şeylere bağlı olabilir düşünüyorum beri, kaçış değiştirmek gerekebilir: Ben nasıl bulduğunu Ya benim kaçış kod oldu
$ echo -n ^QM-x | perl -ne 'printf "%lo\n", ord($_)'
^Q yazmanız oldu readline için tırnaklı-insert komutu (bunu yorumlamaya çalışmadan doğrudan yazdığınız şeyi ekler) ve Mx bir literal Alt-X idi.
Bu numarayı denedim ve bu benim için işe yaramıyor. Bunu hata ayıklamanın bir yolu var mı? – Siva
Merhaba Siva - En olası farkın, meta anahtarların terminal kodlamasından kaynaklandığını düşünüyorum. Xterm termist/terminfo ayarı ile xterm kullanıyorum; kterm veya gnome terminali veya farklı TERM ayarları gibi diğer terminaller de farklı bir kodlama kullanır. Ekon hilem makinenizde ne üretir? –
Ben bir Emacs ve ekran kullanıcısıyım. Her ne kadar nadiren Emacs'i bir terminalde kullanıyorum - ve bir ekran oturumunda olduğu gibi - kabuk için C-a'yı bırakmak istemedim (Emacs anahtar bağlamaları kullanır). Benim çözümüm, C-j'yi ekran için önek anahtarı olarak kullanmaktı; Emacs programlama modlarında, RET'e de bağlı olduğum (newline-and-indent) 'e bağlı olduğu için, bunu gerçekten kaçırmıyorum. Bu arada: Bunun bir cevaptan ziyade bir tavsiye olduğunu biliyorum, ancak bunun yine de yayınlayabilecek kadar değerli olacağını hissettim.
Kullanıcı burada emacs kullanıcısı.
Bulduğum en iyi çözüm, ~ /.Screenrc aşağıdaki dosyasını:
# C-a :source .screenrc
escape ^gg
Canlı burada güncelleme: Ayrıca https://gist.github.com/1058111
bakınız: kayıtlarını ve kullanılarak komut sınırlamaları kaçış: http://ubuntuforums.org/showthread.php?t=498675
btw, bu benim için gerçekten iyi çalışıyor çünkü^G emacs "iptal" dizisidir. Yani eğer kas belleğiniz "spazmları" ise, emaclarda hiçbir şeyi karıştırmazsınız. – audiodude
Bunun hayranı değilim. C-g Emacs'ten vazgeçmek isteyeceğim son anahtarlardan biri. – Psyllo
Backquote'u kullanmak için "^ ^" ile "değiştirin. C- \ 'varsayılan olarak Emacs'deki hiçbir şeye bağlı değildir. – Psyllo
Yaklaşık çalışmak mümkündür bindkey komutu. .screenrc aşağıdaki satırları ekleyin, http://adb.cba.pl/gnu-screen-tips-page-my.html#howto-alt-key-as-escape
Alt + X varsayılan komutlar için önek ve ücretsiz Ca yapmak için Bkz
# reset escape key to the default
escape ^Aa
# auxiliary register
register S ^A
# Alt + x produces ^A and acts as an escape key
bindkey "^[x" process S
## Alt + space produces ^A and acts as an escape key
# bindkey "^[ " process S
: Sadece .screenrc bu koymak
escape ^||
bindkey "^[x" command
Yan etki olarak C- | Komut öneki de olacak. Ücretsiz olmak için bu tuşlara ihtiyacınız varsa, "escape^||" düzeltin. buna göre.
'^ [x'' Alt-x' ye nasıl aktarılır, burada '^' 'Ctrl' anlamına gelir (emin değilim)? '' '' '' 'Anlamına mı geliyor? Teşekkürler. – Chad
Bu, emacs kullanıcıları için daha az uygundur. – rampion
C-a bunu yapar. Ancak sorun, ekranda çalışan emacs C-a bağlama kullanamıyorum. Umarım aldın – Siva
@rampion: Anladım, ama soru "C-a'yı emacs içinde kullanamıyorum", yanlış olduğunu inanıyorum. @Siva: Hm. Aslında, hayır. "C-a a" düğmesine basmak, C-a'yı emaclara gönderir. Bu inconvinient, evet - ama mümkün. – Nils