Ctrl-aShift-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、またはマニュアルページの「Titles(ネーミングウィンドウ)」を参照してください。