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

时间:2016-05-01 05:17:50

标签: macros tmux

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

2 个答案:

答案 0 :(得分: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会话中刷新源配置,并且新的绑定应启动搜索。

答案 1 :(得分: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'可以根据您的喜好进行更改。