Shell:当您位于屏幕内时,如何转到行首?


70

我在屏幕内(屏幕-Ra)。我的命令很长,我已经结束了。除了保持左箭头,您如何转到行的开头?

当我在普通窗口中时,CTRL-A起作用,但是当我在屏幕内时,按CTRL-A会给我一条消息“没有其他窗口”-好像CTRL-A被分派到了屏幕上。

如何转到屏幕中的行首?


3
快速解决:Home按键可以开始并End到达行尾。

1
这也高度取决于您使用的shell和输入模式,尽管我假设您使用bash和默认的emacs绑定。
Patrick

1
如果键盘上有一个Home按钮,则@hesse 。情况并非总是如此
利玛窦

OP可能对此相关问题感兴趣。
dotancohen 2012年

Answers:



6

您可以更改screen绑定,也可以更改外壳的绑定。假设您的shell是bash,则输出bind -p | grep \C-a应该会给您当前绑定到的动作Ctrl+A。要将此操作绑定到其他对象,请使用以下格式:

$ bind '"\C-p": beginning-of-line'

这将绑定Ctrl+P以将光标移动到行的开头。记住表达式中的双引号。要取消绑定,只需将其设置为nothing:

$ bind '"\C-a": '

要列出与操作关联的所有输入序列,请使用:

$ bind -p | grep beginning-of-line

最后,要使绑定具有永久性,可以将语句放入~/.bashrc文件中并发出source ~/.bashrc


6

Ctrl- x- Ctrl- x让你去像猛砸,Python和MySQL的任何readline的兼容环境行的第一个字符。GNU SCREEN安全地忽略了这一点。无需定制配置。

如果你使用它来代替Ctrl- - aa您使用洽快捷键-你不必记住无论你是在GNU屏幕或不。

对于感兴趣的任何人,如果您已经在开头,也可以使用相同的快捷键转到行尾。


5
实际上C-x C-xexchange-point-and-mark。只是碰巧默认情况下标记在行的开头。您可以C-space用来在其他地方设置标记。
伊万·安德鲁斯

伊凡,通常,在交换点并标记后该怎么办?谢谢。
Susheel Javadi'3
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.