bne*_*eil 61 zsh command-line iterm osx-snow-leopard
我想标记终端会话的窗口选项卡。我在 OSX 上的 iterm2 中使用 zshell。是否可以在终端中动态更改窗口选项卡的标签?
Dan*_*eck 52
您可以在其中输入以下内容zsh
来设置 iTerm2 的窗口标题:
echo -ne "\e]1;this is the title\a"
Run Code Online (Sandbox Code Playgroud)
如果您想自动插入例如当前时间或工作目录,请编辑您的zsh
配置文件以将precmd()
函数中的标题设置为例如$PWD
.
echo -ne "\e]1;$PWD\a"
Run Code Online (Sandbox Code Playgroud)
您可以在 部分阅读有关该precmd
功能man zshmisc
的信息SPECIAL FUNCTIONS
。
小智 50
什么对我有用:
echo -e "\033];this is the title\007"
Run Code Online (Sandbox Code Playgroud)
如果您使用 Mac OSX 和 iTerm,iTerm2::
如果您使用 Oh My Zsh,那么您可能需要编辑您的设置。您的设置通常在文件中~/.zshrc
。您想要添加或编辑您的设置以确保此行存在:
DISABLE_AUTO_TITLE="true"
Run Code Online (Sandbox Code Playgroud)
Ora*_*ain 41
使用 iTerm 的便利之一是可以分别设置窗口标题和标签标题:
# $1 = type; 0 - both, 1 - tab, 2 - title
# rest = text
setTerminalText () {
# echo works in bash & zsh
local mode=$1 ; shift
echo -ne "\033]$mode;$@\007"
}
stt_both () { setTerminalText 0 $@; }
stt_tab () { setTerminalText 1 $@; }
stt_title () { setTerminalText 2 $@; }
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以立即看到您在哪个窗口中连接到哪个主机,并且每个选项卡的窗口标题显示用户和 CWD。
小智 5
Aprecmd
可以解决问题。但是,一些 oh-my-zsh 主题会混淆窗口标题。设置PR_TITLEBAR
为空字符串以修复它。
set-window-title() {
# /Users/clessg/projects/dotfiles -> ~/p/dotfiles
window_title="\e]0;${${PWD/#"$HOME"/~}/projects/p}\a"
echo -ne "$window_title"
}
PR_TITLEBAR=''
set-window-title
add-zsh-hook precmd set-window-title
Run Code Online (Sandbox Code Playgroud)
我还建议在首选项 -> 外观中使用 iTerm2 的选项卡设置。
归档时间: |
|
查看次数: |
50512 次 |
最近记录: |