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


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


82
2017-10-25 17:52






答案:


你可以试试 Ctrl键 - 一个  :  source ~/.screenrc


92
2017-10-25 18:51



采购文件应该有效。拆卸和重新连接不会。 - Zed
@Zed:但它会重新应用termcap / terminfo内容,这在你使用时不会发生 source。 - Dennis Williamson
@Dennis,我尝试分离和重新连接,但它不起作用,因此我来问这个问题。此外,使用source可以打开.screenrc中的所有窗口,但是它不会刷新会话,而是在一个会话中创建重复的窗口。谢谢。 - garconcn
使用“source”是在正在运行的会话中重新读取.screenrc的正确(且唯一)方法。是的,这意味着它将重新运行其中的任何命令,包括创建窗口或布局的命令。您可以编辑该文件以注释掉创建新窗口/布局的命令;源文件;然后取消评论这些行。当然,如果它是你想要测试的窗口创建,那么你在这里没有太多选择...... - James Polley
@garconcn:如果这是你可能经常做的事情,把那些东西(非屏幕创建说明)放在第二个文件中 source 来自 .screenrc (包含您的屏幕创建说明),用于常规启动和您需要的时间 source 再过一次 screen 已经开始,只需要“ctrl-a:source secondary-file”跳过屏幕创建的东西。 - Dennis Williamson


我试过这里提到的选项 - Ctrl键 - 一个  :  source ~/.screenrc 它对我不起作用。

这对我有用 - Ctrl键 - 一个  :  source $HOME/.screenrc


30
2017-12-08 10:30



期待是正常的 ~ 扩展到您的主目录。 - Iain
@Iain我知道,理想情况下应该这样。我想我的ENV当时出了问题。然而,它奏效了。 - holydevil
我在CentOS 5上遇到了同样的问题。 - slm
与archlinux上的zsh和oh-my-zsh相同的问题。 - Jaseem
在我的Mac上同样的问题,不得不使用'source $ HOME / .screenrc' - bobmagoo


我在.screenrc文件中有这个:

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

这导致屏幕在重新加载.screenrc文件时 按Ctrl-A按住Shift-R 被压了。

当然,这只有在你的.screenrc文件中已经有了这行时才有效!要在现有的屏幕会话中“引导”此排序,请将行上方的行添加到.screenrc文件中,然后按照@Dennis Williamson的回答进行操作。之后,您将能够使用新的键盘快捷键。


19
2017-10-31 16:57



干净,谢谢! - Tobias Kienzler