gal*_*han 7 command-line gnome-terminal bashrc
我在 gnome-terminal 的首选项中选择了“替换初始标题”设置,但它只显示默认标题“终端”。阅读此答案后,我将其添加到我的.bashrc
:
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
Run Code Online (Sandbox Code Playgroud)
并注释掉了这一行:
#PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
Run Code Online (Sandbox Code Playgroud)
重新启动终端后,它开始显示user@hostname: ~/currentdir
在其标题中,每当我cd
转到另一个目录时就将其更改。但是当我启动像cmus
and 之类的 CLI 程序时它仍然没有改变vim
(例如,vim 将当前文件名设置为标题)。
我已经安装rxvt
,一切正常。
Ubuntu 13.04,gnome 终端 3.6.1。
我的 .bashrc - 几乎与默认 ubuntu 安装附带的相同。
首先,你的问题有一些自相矛盾的地方。你说, “它开始在标题中显示,每当我到另一个目录时就会改变它”user@hostname: ~/currentdir
cd
,但所附的图像说了别的东西。我几乎可以肯定,如果您在 gnome-terminal 的首选项中选择了“替换初始标题”设置,并且按照您所说的使用了这个 ~/.bashrc 文件,您的终端应该如下图所示:
其次,您完全错误:“例如,vim 将当前文件名设置为标题”。为此,您必须 .vimrc
在主目录中创建一个名为的文件,其中包含以下代码:
let &titlestring = $USER . "@" . hostname() . ": vim " . expand("%:t")
if &term == "screen"
set t_ts=^[k
set t_fs=^[\
endif
if &term == "screen" || &term == "xterm"
set title
endif
Run Code Online (Sandbox Code Playgroud)
还有一件事:我还不明白你if
在文件中从第 11 行到第 40 行使用它做什么.bashrc
,但在这种情况下,在第 33 行设置TERM="gnome-256color"
可能是一个问题。因此,我建议您注释掉该行,或者删除第 11 行和第 40 行之间的所有代码。
完成所有这些后,当您使用 时vim
,您的终端应如下所示: