如何同时设定终端窗口标题和命令行提示符?

2013-08-27 18:39:21 +08:00
 johnnyb
已经设置了命令行提示:

export PROMPT_COMMAND=_prompt_command

用来提示 `py` 版本, `git` 分支状态,现在想把终端的标题也设成当前文件夹名,`iterm2` 多标签切换的时候目标就比较明确了。网上搜索了一番,似乎也只有 `export PROMPT_COMMAND` 一种方法:

export PROMPT_COMMAND='echo -ne "\033]0;$PWD\007"'

但这样就把我前面的设置覆盖了,而且还有个 `bug`,终端每次操作都会在末尾输出一行 `-ne`

有解么?
4133 次点击
所在节点    问与答
3 条回复
megaforce
2013-08-27 18:43:21 +08:00
google了一下,不知道这个是不是你想要的

http://superuser.com/questions/419775/with-bash-iterm2-how-to-name-tabs
johnnyb
2013-08-27 18:50:04 +08:00
@megaforce 我前面已经是这样做了
johnnyb
2013-09-05 11:22:32 +08:00
#自己挖坑自己填#

在 ~/.profile 里加上:

function settitle() { echo "\033]0;${PWD##*/}\007"'\c'; }
function cd() { command cd "$@"; settitle; }

两个问题都解决了:

1. 不占用 `PROMPT_COMMAND`;
2. '\c' 代替 -n, 让 `echo` 末尾不输出换行符。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/80410

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX