![Red Hat 7 终端无法在 cwd 中打开](https://linux22.com/image/1469866/Red%20Hat%207%20%E7%BB%88%E7%AB%AF%E6%97%A0%E6%B3%95%E5%9C%A8%20cwd%20%E4%B8%AD%E6%89%93%E5%BC%80.png)
我刚刚升级到 Red Hat 7,正在适应这些变化。我立即注意到的一件事是,当我按 Ctrl-Shift-T 打开新的终端选项卡时,它默认为/
而不是当前目录,这非常令人沮丧。
我正在使用 gnome 终端 3.8.4。我发现Ubuntu 中似乎存在同样的问题使用建议的 .bashrc 修复,但我的组织使用 tcsh 并且添加该行不起作用。
这是 RH7 中的已知问题吗?我该如何修复它?
答案1
基本上,您必须将 vte.sh 移植到 tcsh。它的作用是:在每个提示符之前,它会以 URI 编码形式打印包含目录的特定转义序列。转义序列就是所谓的 OSC 7,例如\e]7;file:///home/username\a
。
tcsh 似乎确实有一个 precmd(甚至一个 cwdcmd)功能,所以可以做到这一点,但不幸的是我对 tcsh 一点也不熟悉,无法快速为您完成此操作。我希望您可以在这一点帮助下自己完成。
编辑:复杂的部分是 URL 编码。首先,您可以省略此部分并只使用 echo \e]7;file://$PWD\a
。对于您可能永远不会遇到的一些特殊字符,它将无法正常工作。
编辑:这个对我来说是简单的(不正确的 URI 转义)版本:
alias precmd 'echo -n "\e]7;file://$PWD\a"'