ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 第 33 章   Zsh+screen **目录** [](ch33.html#id3159444) [screen简介](ch33s02.html) [screen命令](ch33s02.html#id3159455) [screen操作](ch33s02.html#id3158816) [screen+zsh](ch33s03.html) ## screen简介 ### screen命令 ### screen操作 ## screen+zsh 在`~/.zshrc`文件中加入如下内容: ``` #screen integration to set caption bar dynamically function title { if [[ $TERM == "screen" || $TERM == "screen.linux" ]]; then # Use these two for GNU Screen: print -nR $'\033k'$1$'\033'\\\ print -nR $'\033]0;'$2$'\a' elif [[ $TERM == "xterm" || $TERM == "urxvt" ]]; then # Use this one instead for XTerms: print -nR $'\033]0;'$*$'\a' #trap 'echo -ne "\e]0;$USER@$HOSTNAME: $BASH_COMMAND\007"' DEBUG fi } #set screen title if not connected remotely function precmd { title "`print -Pn "%~" | sed "s:\([~/][^/]*\)/.*/:\1...:"`" "$TERM $PWD" echo -ne '\033[?17;0;127c' } function preexec { emulate -L zsh local -a cmd; cmd=(${(z)1}) if [[ $cmd[1]:t == "ssh" ]]; then title "@"$cmd[2] "$TERM $cmd" elif [[ $cmd[1]:t == "sudo" ]]; then title "#"$cmd[2]:t "$TERM $cmd[3,-1]" elif [[ $cmd[1]:t == "for" ]]; then title "()"$cmd[7] "$TERM $cmd" elif [[ $cmd[1]:t == "svn" ]]; then title "$cmd[1,2]" "$TERM $cmd" else title $cmd[1]:t "$TERM $cmd[2,-1]" fi } ``` 在`~/.screenrc`文件中加入如下内容: ``` hardstatus alwayslastline "%{=b}%{-b}%{R}[%{=b B}%-w%{=b BK}%>%n %t%{-}%+w%{-b}%< %=%{R}][%{-b}%{M}%m-%d %D %{G}%c%{R}]" ```