如何根据客户端是否处于复制模式(或不处于复制模式)将 tmux 栏的背景颜色更改为不同的颜色?
目标是让 tmux 客户端何时处于复制模式变得非常清楚。
我找到了#{?#{!=:#{selection_present},},COPY-MODE,NORMAL-MODE}
作品。
status-left
或status-right
这只会改变栏的一部分的样式。例子:
set -g status-left '#{?#{!=:#{selection_present},},#[bg=yellow],#[bg=green]}#{=10:session_name}@#{=10:host_short}
这将显示session@hostname
在左下角,并且会更改背景,但不会更改整个状态栏的颜色。
status-style
使用格式字符串设置set -F -g status-style 'bg=#{?#{!=:#{selection_present},},yellow,green},fg=black
这似乎只评估格式字符串一次。注意:如果我删除-F
bg 不会改变。
您可以使用钩子,例如:
set-hook -g pane-mode-changed 'if -F "#{m/r:(copy|view)-mode,#{pane_mode}}" "set status-style bg=red" "set -u status-style"'
Run Code Online (Sandbox Code Playgroud)
如果你的 tmux 对于 m/r 来说太旧了,你可以使用类似的东西#{||:#{==:#{pane_mode},copy-mode},#{==:#{pane_mode},view-mode}}
来代替。
或者,您可以修改 status-format[0] 但这会有点繁琐,因为 status-style 是隐式默认值。
归档时间: |
|
查看次数: |
1650 次 |
最近记录: |