Terminal

GNU Screen:新視窗名稱更改

  • November 1, 2014

我可以使用 Ctrl-a Shift-a 更改視窗的名稱。有沒有辦法讓它們自動以目前目錄命名,而不是手動編輯幾個視窗名稱?

讓您的 shell 在每次更改目錄或每次顯示提示時更改視窗標題。

對於您的~/.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
}

有關更多資訊,請在螢幕手冊中的動態標題下或手冊頁中的“標題(命名視窗)”下查找。

引用自:https://unix.stackexchange.com/questions/6065