在GNU屏幕上,我想更改默認命令綁定到Alt-s(通過調整.screenrc)而不是默認的Ca,原因是我使用emacs因此GNU屏幕綁定了Ca鍵,發送「Ca」到emacs變得單調乏味(正如@Nils所說,發送「Ca」我應該輸入「Ca a」)以及bash shell中的「Ca」,並且我可以將轉義更改爲C-,但其中一些已映射到emacs和其他組合並不像ALT-S那麼容易。如果有人已經完成了ALT鍵映射,請讓我知道。gnu screen - 將默認轉義命令鍵更改爲ALT-X?
回答
不回答你的問題,但C-a確實將C-a發送到窗口,不是嗎?
從我的man screen
讀書好像是唯一的元字符screen
可以使用命令綁定CTRL
:
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".
如果有一些你不使用emacs的映射,即使這很不方便,如C-|
,那麼你可以使用你的終端輸入管理器重新映射ALT-X
,讓你使用綁定。這將是一個有點hackish,但。
謝謝。這有點棘手,也許可以有一個直接的方式來做到這一點 – Siva 2009-10-09 12:35:57
你不必在控制檯前面加上轉義鍵。我使用「escape」〜「,它將它設置爲反向(無控制)。不過,我認爲你不能使用Alt-anything。 – silentbicycle 2009-10-09 12:46:44
@silentbicyle謝謝。是的,我知道我不必與控制序言,「逃生〜」不適合我。當我必須真正運行在shell中的任何程序時,我會變得乏味,這就是我更喜歡CTL/ALT映射的原因。 – Siva 2009-10-09 13:07:00
屏幕沒有任何alt綁定的簡寫語法,但您可以直接給它八進制代碼。比如我的機器上,按住Alt鍵x的十六進制代碼F8,或370八進制,所以把
逃逸\ 370x
我screenrc改變逃逸代碼爲Alt-X
測試和工程在Linux上使用屏幕4.00.03。
您可能需要更改轉義,因爲我覺得這可能取決於事情喜歡你的語言和代碼集,等:我怎麼發現了什麼我轉義代碼是爲輸入
$ echo -n ^QM-x | perl -ne 'printf "%lo\n", ord($_)'
^Q是readline的quoted-insert命令(它直接插入你輸入的內容而不試圖解釋它),而Mx是一個字面的Alt-X。
我試過這個技巧,它不適合我。有沒有一種方法來調試呢? – Siva 2009-10-11 11:14:22
Hi Siva - 我認爲最可能的區別是由於元鍵的終端編碼。我使用xterm和xterm termcap/terminfo設置;可能其他終端如kterm或gnome-terminal,或不同的TERM設置使用不同的編碼。我的回聲技巧在你的機器上產生了什麼? – 2009-10-13 10:59:38
我也是Emacs和屏幕用戶。雖然我很少在終端中使用Emacs,並且在屏幕會話中我也不想放棄C-a(它使用Emacs密鑰綁定)。我的解決方案是使用C-j作爲屏幕的前綴鍵,這是我願意犧牲的。在Emacs編程模式下,它綁定到我綁定到RET的(換行符和縮進),所以我真的不會錯過它。順便說一句:我知道這是一個建議,而不是一個答案,但我覺得這將是足夠寶貴的後期。
其他emacs用戶在這裏。
我發現的最佳解決方案是〜/。screenrc具有下列文件:
# C-a :source .screenrc
escape ^gg
是可能的解決:使用寄存器和逃脫命令限制:bindkey命令。只要把這個.screenrc:
# 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
見http://adb.cba.pl/gnu-screen-tips-page-my.html#howto-alt-key-as-escape
爲了Alt鍵 + X爲命令默認前綴和遊離鈣,加上下面幾行.screenrc:
escape ^||
bindkey "^[x" command
作爲副作用C- |也將是命令前綴。如果你需要這個鍵也是免費的,那麼修復「escape^||」因此。
'^ [x'如何轉移到'Alt-x',其中'^'表示'Ctrl'(我不確定)? ''是否意味着'Alt'?謝謝。 – Chad 2017-12-07 03:42:08
- 1. 默認情況下修改默認命令:默認命令爲
- 2. 取消綁定gnu-screen命令
- 3. 更改默認的PHP命令路徑
- 4. gnu-screen unbind key not not
- 5. JAXB更改默認命名轉換器
- 6. 如何更改GNU Emacs-AUCTeX中的默認編譯命令/快捷方式?
- 7. 更改默認鍵盤android
- 8. 更改默認幫助鍵行爲
- 9. 用vim讀取gnu-screen日誌
- 10. 將GNU-CRYPTO gkr keystore轉換爲默認JKS
- 11. 默認NFC命令
- 12. 使用自定義鍵盤更改iPod默認鍵盤
- 13. 如何設置自定義命令的默認熱鍵?
- 14. 將命令發送到GNU屏幕
- 15. FTDI將PID更改爲默認值
- 16. 將mysql默認引擎更改爲innodb
- 17. CAKEPHP - 將默認路徑更改爲webroot
- 18. 將默認終端shell更改爲root
- 19. 將UIWebView默認顏色更改爲UIImage
- 20. 將tinyint默認值更改爲1 mysql
- 21. 將SQL Server命名實例更改爲默認實例
- 22. 將SQL SERVER 2005從默認實例更改爲命名實例?
- 23. Yii2將默認路由更改爲另一個命名空間
- 24. 更改默認行爲5.4
- 25. 更改System.Dynamic.ExpandoObject默認行爲
- 26. 更改爲默認樣式
- 27. 如何將nagios默認網址更改爲自定義網址?
- 28. 如何將字體更改爲Xml中定義的默認值?
- 29. 將jta事務超時從默認更改爲自定義
- 30. 將默認光標樣式更改爲自定義光標
它確實對emacs用戶來說不太方便。 – rampion 2009-10-09 12:31:56
C-a做到了。但問題是我不能在屏幕上運行的emacs中使用C-a綁定。希望你得到它 – Siva 2009-10-09 12:33:59
@rampion:明白了,但問題是「我不能在emacs中使用C-a」,我相信這是錯誤的。 @Siva:嗯。實際上,不。按「C-a a」可以將C-a發送給emacs。它不方便,是的 - 但可能的。 – Nils 2009-10-09 12:44:18