raj*_*mes 14 configuration tmux
我是tmux的新手,我正在尝试编辑我的tmux.conf文件以使状态栏的左侧反映:
[SessionName] [CurrentPane] [CurrentWorkingDirectory]
我能够显示SessionName和CurrentPane.但是我无法显示CurrentWorkingDirectory.
我尝试了几种#(shell command)选择:
#(tmux select-pane -t :.#P; pwd):但是这会打印一些其他$ PWD变量,它不会反映当前窗格中bash会话的当前目录.
#(tmux select-pane -t :.#P; tmux send-keys pwd Enter)
首先,虽然它打印了CurrentWorkingDirectory如果我在一个终端.它在终端打印,而不是像我想要的那样打印在状态栏中.其次,无论我是否在终点站,它每15秒进入"pwd Enter",如果你的速度不快(就像我一样),这是一个很容易扭转的麻烦.
我尝试过这些选项,但无济于事,是否有可能做我想做的事情?如何?
gos*_*pes 22
有一个变量,它似乎没有在联机帮助页中,但在开发版本中提到.对我来说,它适用于tmux的1.8版本.
set -g status-left "#{pane_current_path}"
Run Code Online (Sandbox Code Playgroud)
请注意,当您将其置于窗口状态时,它也可以工作.每个窗口状态将提到相应的工作目录.
setw -g window-status-format "#{pane_current_path}".
Run Code Online (Sandbox Code Playgroud)
我不确定如何在bash中执行此操作,但在zsh中,有一个在每个命令之前运行的挂钩.在你的.zshrc中:
precmd () {
tmux set -qg status-left "#S #P $(pwd)"
}
Run Code Online (Sandbox Code Playgroud)
tmux每次运行命令时都会运行该命令.希望这可以帮助.既然bash没有precmd,我不知道怎么做.
| 归档时间: |
|
| 查看次数: |
16792 次 |
| 最近记录: |