配置绑定以在Tmux中执行预定义搜索

问题描述 投票:1回答:2

我正在尝试使用tmux找到一种方法来跳转到iTerm中的上一个提示。我可以设置绑定以在提示中搜索唯一的短语吗?

macros tmux
2个回答
1
投票

所以扩展Yuriy的答案。在终端内,您可以运行以下命令:

tmux copy-mode ; tmux send -X search-backward 'Example'

这应该将您当前的tmux窗格置于复制模式,然后启动搜索“示例”。现在我们不是每次想要搜索时都输入,而是创建一个shell脚本(比如/tmp/search.sh),然后是一个tmux绑定到那个脚本

/tmp/search.sh的内容

#!/usr/bin/env bash
tmux copy-mode ; tmux send -X search-backward 'These'

确保使用chmod +x /tmp/search.sh使其可执行。此时,您可以通过从tmux会话中调用脚本来测试它的工作原理。要将其添加为绑定,您可以使用与~/.tmux.conf文件类似的内容:

bind p run-shell "bash /tmp/search.sh"

确保您在tmux会话中刷新配置源,新绑定应启动搜索。


0
投票

这样做的规范方法是编写一个bash脚本来将命令发回给你的tmux。

但我想建议一个允许更灵活的脚本编写的mod:http://ershov.github.io/tmux/(我是作者)

使用此mod,您的问题可以通过这种方式解决:

bind p copy-mode ";" tcl {
  set s [copy-mode-screenline -ex [copy-mode-get-cx]]
  cursor-up
  send-keys "?" "\x15$s"
}

这将从开头到光标位置读取当前行并搜索它的上一次出现。

键'p'可以根据您的喜好进行更改。

© www.soinside.com 2019 - 2024. All rights reserved.