![tmux如何绑定按键进入VI模式并向后搜索?](https://linux22.com/image/89803/tmux%E5%A6%82%E4%BD%95%E7%BB%91%E5%AE%9A%E6%8C%89%E9%94%AE%E8%BF%9B%E5%85%A5VI%E6%A8%A1%E5%BC%8F%E5%B9%B6%E5%90%91%E5%90%8E%E6%90%9C%E7%B4%A2%EF%BC%9F.png)
我认为我在 Tmux 中的例程是 ctrl+b [ 然后?进入 VI 模式然后开始向后搜索有点麻烦,我想知道是否可以映射一个组合键,例如 ctrl-/ 来做到这一点。
知道如何做到这一点吗?
谢谢
答案1
运行这两个命令将给出以下映射:prefix, /, /(您需要按/
两次。)这将使您进入复制模式,然后search-backwards
bind-key / copy-mode
bind-key -t vi-copy '/' search-backward
映射/到向后搜索会导致您(显然)失去您可能想要的向前搜索,因为 tmux 有时会将光标放在复制模式下的文本顶部(例如,当您运行list-keys
, 时。但是您也许可以重新工作从这个基本思想发出命令。
背景
如果你看进去窗口和客户端手册页中的部分:man tmux | less '+/^WINDOWS'
模式键绑定在一组命名表中定义:vi-edit 和 emacs-edit 用于在命令提示符下进行行编辑时使用的键; vi-choice 和 emacs-choice 用于从列表中选择时使用的键(例如由 Choose-window 命令生成的键);以及用于复制模式的 vi-copy 和 emacs-copy。可以使用 list-keys 命令查看表,并使用 bind-key 和 unbind-key 修改或删除键。
这告诉您可以列出vi-copy
键
list-keys -t vi-copy
从那里您可以查找要重新映射的命令。
答案2
我用了:
bind-key Space run "tmux copy-mode; tmux send-keys ?"
这样,您只需按前缀+空格即可进入复制模式+向后搜索
答案3
这与复制模式 vi 配合得很好:
setw -g mode-keys vi
# enter copy mode search backward (vi): Alt-s
bind -n M-s copy-mode \; send-keys ?