Ctrl-a Shift-aでウィンドウの名前を変更できます。複数のウィンドウ名を手動で編集する代わりに、現在のディレクトリに基づいて自動的に名前を付ける方法はありますか?
シェルがディレクトリを変更するたび、またはプロンプトを表示するたびに、ウィンドウタイトルをシェルに変更させます。
あなたのための ~/.bashrc
:
if [[ "$TERM" == screen* ]]; then
screen_set_window_title () {
local HPWD="$PWD"
case $HPWD in
$HOME) HPWD="~";;
$HOME/*) HPWD="~${HPWD#$HOME}";;
esac
printf '\ek%s\e\\' "$HPWD"
}
Prompt_COMMAND="screen_set_window_title; $Prompt_COMMAND"
fi
またはあなたの~/.zshrc
(zshユーザーの場合):
precmd () {
local tmp='%~'
local HPWD=${(%)tmp}
if [[ $TERM == screen* ]]; then
printf '\ek%s\e\\' $HPWD
fi
}
詳細については、Screenマニュアルの Dynamic titles 、またはマニュアルページの「タイトル(ウィンドウに名前を付ける)」を参照してください。
これを.bashrcに入れて、端末名(ウィンドウ名)を現在作業中の最後のディレクトリ(またはファイル名)に変更できます。
case "$TERM" in xterm*|rxvt*) Prompt_COMMAND='echo -ne "\033]0;${PWD##*/}\007"' ;; *) ;; esac
詳細はこちら: link