如何在不重新启动屏幕的情况下重新加载screenrc?


90

修改screenrc后,如何在不重新启动屏幕的情况下查看更改?

Answers:


103

您可以尝试Ctrl- 。a : source ~/.screenrc


7
寻找文件应该可以。拆卸和重新连接不会。
Zed 2010年

1
@Zed:但是它将重新应用termcap / terminfo的东西,当您使用时不会发生source
丹尼斯·威廉姆森

@Dennis,我尝试了分离和重新连接,但没有成功,因此我问了这个问题。同样,使用source可以从.screenrc打开所有窗口,但是它不会刷新会话,而是在一个会话中创建重复的窗口。谢谢。
garconcn

3
使用“源”是在运行的会话中让屏幕重新读取.screenrc的正确(唯一方法)。是的,这意味着它将重新运行其中包含的所有命令,包括创建窗口或布局的命令。您可以编辑文件以注释掉创建新窗口/布局的命令。源文件;然后取消注释这些行。当然,如果您要测试的是窗口创建,则此处没有太多选择……
James Polley 2010年

8
@garconcn:如果您经常这样做,请将该内容(非屏幕创建说明)放入另一个文件中,source并从.screenrc该文件中(包含屏幕创建说明)开始定期启动,并在source以后需要再次使用时screen已经开始,只需执行“ ctrl-a:源次要文件”即可跳过创建屏幕的工作。
丹尼斯·威廉姆森

36

我想在这里提到的选项- Ctrl- 并没有为我工作。a : source ~/.screenrc

这就是对我有用的Ctrl--a : source $HOME/.screenrc


期望~扩展到您的主目录是正常的。
user9517 2011年

@Iain我知道,理想情况下应该如此。我想我的ENV出了点问题。尽管如此,它仍然有效。
holydevil

我在CentOS 5上遇到了同样的问题
。– slm

在archlinux上,zsh和oh-my-zsh也存在相同的问题。
Jaseem

2
同样的问题在我的Mac,只好用“源$ HOME / .screenrc”
bobmagoo

19

我的.screenrc文件中有此文件:

bind R eval "source $HOME/.screenrc" "echo '.screenrc reloaded!'"

Ctrl-AShift-R按下时,这将导致屏幕重新加载.screenrc文件。

当然,这仅在您已经在.screenrc文件中包含该行的情况下才有效!要在现有屏幕会话上“引导”此排序方式,请将上述行上方的行添加到您的.screenrc文件中,然后按照@Dennis Williamson的回答进行操作。之后,您将可以使用新的键盘快捷键。

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.