tmuxシェルの出力バッファー内を検索するにはどうすればいいですか?


147

これがうまくいかない。 tmuxシェルのバッファーを検索するにはどうすればいいですか?


1
のバージョン tmuxtmux -V )?これはバージョン0.9で追加されたと思います。
Dennis Williamson

@デニスは1.3〜1
NES

1
でバージョンを探す tmux -V それ以降のバージョンでのみ動作します。 Ubuntu / Debianでは、次のことができます。 dpkg -l | grep tmux
Niels Bom

回答:


231

コピーモード検索

で検索する tmux 現在のウィンドウの履歴バッファ、押す Ctrl - b [ 入る copy mode

emacsのキー割り当てを使っているなら(デフォルト)、 Ctrl - 次に検索する文字列を入力してを押します。 入る 。 押す n 同じ文字列をもう一度検索します。 押す シフト - n 逆検索用です。 押す エスケープ 二度出る copy mode。 あなたが使用することができます Ctrl - r 逆方向に検索します。 それ以来 tmux でキーボードを制御している copy mode Ctrl - に関係なく動作します stty ixon 設定(私は好きなように stty -ixon Bashで前方検索を有効にします。

viキーバインディングを使っているなら( Ctrl - b :set-window-option -g mode-keys vi )、 押す / 次に検索する文字列を入力してを押します。 入る 。押す n 同じ文字列をもう一度検索します。押す シフト - n emacsモードのように逆検索のために。押す q 二度出る copy mode。あなたが使用することができます 逆方向に検索します。

検索ウィンドウ

表示されているものに基づいてウィンドウに切り替える場合(これにはウィンドウ名とタイトルも含まれますが履歴は含まれません)、(複数のウィンドウを開くことから始めます)キーを押します。 Ctrl - b f 次に検索する文字列を入力してを押します。 入る 。そのテキストが見つかった場合は、そのテキストを含むウィンドウに切り替わります。複数のウィンドウが一致する場合は、選択可能なリストが表示されます。


3
バインディングスタイルを設定する方法(emacs vs vi)
Daniel Que

2
@ DanielQue:tmuxのmanページを見て、 "mode-keys"と "status-keys"を検索してください。これらは、バインディングスタイルを設定するためのサブコマンドです。あるいは、環境変数を設定するほうが簡単かもしれません。 EDITOR または VISUAL )開始する前に必要なスタイルに tmux
Dennis Williamson

6
おかげで、私はそれが動作するようになった set-window-option -g mode-keys vi 私の中で .tmux.conf。しかし、私は環境変数の代替案に興味があり、それをうまく動かすことができませんでした。シェル環境変数なのか、それともconfファイルに設定する必要があるtmux環境変数なのか。
Daniel Que

2
@ DanielQue:シェル環境変数。これをエクスポートするか、以下のようにtmuxの環境に配置する必要があります。 VISUAL=vi tmux
Dennis Williamson

1
また、正規表現検索はまだ行われていないことに注意してください。ここに未解決の問題があります。 sourceforge.net/p/tmux/tickets/9
Elijah Lynn

7

コピーモードに入り、一度に検索を開始

bind-key / copy-mode \; send-key ?

あなたがすることができます:

 Ctrl + B /

そして検索語の入力を始めます。

ファイルにダンプしてvimを使う

物事がより複雑になるとき、私はちょうど適切なエディタを使いたいです: https://unix.stackexchange.com/questions/26548/write-all-tmux-scrollback-to-a-file

bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer

P バッファをファイルにダンプし、それから私はちょうど:

vim /tmp/tmux

tmux 2.6でテスト済み。


ファイル名の入力を求めるプロンプトを表示するにはどうすればよいですか(したがって、ハードコードする必要はありません)。 /tmp/tmux )?
Peeyush Kushwaha

@PeeyushKushwaha申し訳ありませんが、私のtmux fuはそれほど良くありません、私はグーグルしなければならないでしょう、あなたがそれを見つけたら私に知らせてください。
Ciro Santilli 新疆改造中心 六四事件 法轮功
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.