Shell:当你在屏幕内时如何转到行首?

Shell:当你在屏幕内时如何转到行首?

我在屏幕内(屏幕-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

相关内容