На экране GNU я хочу изменить привязку команды по умолчанию к Alt-s (путем настройки .screenrc) вместо значения по умолчанию Ca, причина в том, что я использую emacs, поэтому экран GNU связывает ключ Ca, отправляя "Ca" на emacs становится утомительным (как сказал Нилс, чтобы отправить "Ca" , я должен набрать "Ca a" ), а также "Ca" в оболочке bash, и я мог бы сменить escape на C-, но некоторые из них уже сопоставленные в emacs, а другие комбинации не так просты, как ALT-s. Если кто-то уже сделал сопоставление ключей ALT, пожалуйста, дайте мне знать.
Gnu screen - изменение ключа команды ESC по умолчанию для ALT-X?
Ответ 1
Из моего чтения 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
на него, позволяя использовать ALT
вместо этого. Это было бы немного хаки, хотя.
Ответ 2
Можно обойтись: escape-команды с использованием регистров и команды 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
Ответ 3
Экран не имеет сокращенного синтаксиса для привязок alt, но вы можете дать ему восьмеричный код напрямую. Например, на моей машине Alt-x имеет шестнадцатеричный код F8 или 370 восьмеричный, поэтому класть
escape\370x
в моем экране изменил код перехода на alt-X
Протестировано и работает с экраном 4.00.03 на Linux.
Возможно, вам придется сменить побег, так как я думаю, что это может зависеть от таких вещей, как ваш язык и набор кодов и т.д.: как я узнал, каков был мой код перехода, это набрать
$ echo -n ^QM-x | perl -ne 'printf "%lo\n", ord($_)'
^ Q - это команда цитирования-вставки для readline (она вставляет то, что вы набираете напрямую, не пытаясь ее интерпретировать), а M-x - буквальный Alt-X.
Ответ 4
Чтобы сделать Alt + X префикс по умолчанию для команд и свободный C-a, добавьте следующие строки в .screenrc:
escape ^||
bindkey "^[x" command
В качестве побочного эффекта C- | будет также префикс команды. Если вам нужны эти ключи, чтобы быть свободными, тогда исправьте "escape ^ ||", соответственно.
Ответ 5
Я тоже Emacs и пользователь экрана. Хотя я редко использую Emacs в терминале - и, как таковой, в сеансе экрана, я тоже не хотел отказываться от C-a для оболочки (которая использует привязки ключей Emacs). Мое решение состояло в том, чтобы использовать C-j в качестве префиксного ключа для экрана, который я был готов пожертвовать. В режимах программирования Emacs он привязан к (newline-and-indent), который я также привязал к RET, поэтому я действительно не пропущу его.
Кстати, я знаю, что это скорее совет, чем ответ, но я чувствовал, что это будет достаточно ценно для публикации.Ответ 6
Не отвечает на ваш вопрос, но C-a a отправляет C-a в окно, не так ли?
Ответ 7
Пользователь emacs здесь.
Лучшим решением, которое я нашел, является файл ~/.screenrc со следующим:
# C-a :source .screenrc
escape ^gg
Live обновлено здесь: https://gist.github.com/1058111
Смотрите также: http://ubuntuforums.org/showthread.php?t=498675