Esc我在 Tmux 的复制模式中使用 vi 键绑定,如果有的话,我想明确当前的选择,或者如果没有选择任何内容,则退出复制模式。
bind -T copy-mode-vi Escape if-shell -F '#{selection_active_flag}' \
'send-keys -X clear-selection' \
'send-keys -X cancel'
Run Code Online (Sandbox Code Playgroud)
我希望 Tmux 可以公开一个指示选择状态的变量(我是selection_active_flag为了表达我的意图而编造的,它实际上并不存在),类似于window_zoomed_flag(确实存在)。
有办法实现这一点吗?
Tmux 2.6 推出selection_present。正如变更日志中所述,
- 在复制模式下添加 Selection_present 格式(允许在有选择的情况下执行不同操作的键绑定)。
这正是我正在寻找的,虽然我正在运行 Tmux 2.6,但似乎我有一个过时的手册页,因为它没有提到selection_present.
最终的工作解决方案是:
bind -T copy-mode-vi Escape if-shell -F '#{selection_present}' \
'send-keys -X clear-selection' \
'send-keys -X cancel'
Run Code Online (Sandbox Code Playgroud)