好的,所以我想首先解释一下我的设置。我在家中有Windows桌面,并且正在通过SSH登录到运行Amazon Linux的Amazon EC2实例(通过PuTTY)。我将zsh作为默认外壳,并且还安装了oh-my-zsh。这种“云开发人员桌面”模型对我来说效果很好,但是我遇到的一个问题是,我投入的时间超过了我不愿承认的时间:GNU屏幕仅显示“ zsh”作为每个选项卡的标题。尽管使用了oh-my-zsh的屏幕插件(我认为它没有做任何事情)。有人可以帮助我吗?我希望标签中的内容更具描述性,也许只是当前目录的最后x个字符(如果在vim中打开了,则为打开的文件名)。
像许多屏幕用户一样,我以前有过我要的东西,但是现在使用的是新设备,并且不完全了解我的.screenrc中的所有内容:
# Many settings from https://gist.github.com/azitabh/7427682 and
# https://gist.github.com/joaopizani/2718397 and
# https://gist.github.com/ChrisWills/1337178
# Allow bold colors - necessary for some reason
attrcolor b ".I"
# Tell screen how to set colors. AB = background, AF=foreground
termcapinfo xterm "Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm"
# Erase background with current bg color
defbce "on"
# Cache 30000 lines for scroll back
defscrollback 30000
# add tabs on bottom
caption always "%{= bb}%{+b w}%n %t %h %=%l %H %c"
# Very nice tabbed colored hardstatus line
#hardstatus string '%{= Kd} %{= Kd}%-w%{= Kr}[%{= KW}%n %t%{= Kr}]%{= Kd}%+w %-= %{KG} %H%{KW}|%{KY}%101`%{KW}|%D %M %d %Y%{= Kc} %C%A%{-}'
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
#Remove vim buffer from scrollback history after quitting
altscreen on
# special xterm hardstatus: use the window title.
#termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
#termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]1;screen\007'
# Enable 256 color term
term xterm-256color
# Enables use of shift-PgUp and shift-PgDn
termcapinfo xterm|xterms|xs|rxvt ti@:te@
# tell screen that xterm can switch to dark background and has function keys.
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
termcapinfo xterm 'kh=\E[1~:kI=\E[2~:kD=\E[3~:kH=\E[4~:kP=\E[H:kN=\E[6~'
# window numbering starts at 1 not 0
bind c screen 1
bind 0 select 10
screen 1
#allow mouse scrolling in screen
termcapinfo xterm* ti@:te@
# Automatically detach on hangup.
autodetach on
我还尝试将其添加到我的.zshrc中,这很有帮助,但并不是我想要的,就像您运行ls一样,现在标题是ls。即,不是非常有用。但是也许在这里进行编辑实际上是正确的方法:
# So screen tabs receive running process title
# preexec () {
# echo -ne "\ek${1%% *}\e\\"
# }
在此先感谢您的帮助!
答案 0 :(得分:0)
在这里回答我自己的问题:
用以下帮助替换上面preexec ()
函数中的行:
echo -ne "\ek$(pwd)\e\\"
尽管仍然最好只抓住从x到最后一个'/'到末尾的字符,用'...'代替初始字符串。