我在屏幕内(屏幕-Ra)。我的命令很长,我已经到了最后。除了保留向左箭头之外,如何才能转到行首呢?
当我在普通窗口中时,CTRL-A 可以工作,但是当我在屏幕内按 CTRL-A 时,会出现一条消息“没有其他窗口” - 似乎 CTRL-A 被发送到屏幕。
如何转到屏幕中一行的开头?
答案1
使用Ctrl- a a,或更改屏幕的转义键(选项-e
)。
答案2
Ctrl- x- Ctrl-x让您可以转到任何与 readline 兼容的环境(例如 Bash、python 和 mysql)的行的第一个字符。 GNU SCREEN 安全地忽略了这一点。无需定制配置。
如果你使用这个而不是Ctrl- a- a,你就使用了一个一致的快捷键 - 你不必记住你是否在 GNU SCREEN 中。
对于任何感兴趣的人来说,如果您已经在行首,则相同的快捷键还可以让您转到行尾。
答案3
您可以更改screen
绑定,也可以更改 shell 的绑定。假设您的 shell 是bash
, 的输出bind -p | grep \C-a
应该为您提供绑定到的当前操作Ctrl+A
。要将此操作绑定到其他内容,请使用以下形式:
$ bind '"\C-p": beginning-of-line'
这将绑定Ctrl+P
将光标移动到行的开头。请记住表达式内的双引号。要取消绑定,您只需将其设置为空即可:
$ bind '"\C-a": '
要列出与操作关联的所有输入序列,请使用:
$ bind -p | grep beginning-of-line
最后,要使绑定永久化,您可以将语句放入~/.bashrc
文件中并发出source ~/.bashrc
。