2011-01-09 16:57:06 +0000 2011-01-09 16:57:06 +0000
195
195

tmuxシェルの出力バッファ内を検索するには?

これがうまくいきません。tmuxシェルのバッファを検索する方法を教えてください。

回答 (2)

304
304
304
2011-01-10 01:56:25 +0000

コピーモード検索

現在のウィンドウの履歴バッファ tmux を検索するには、Ctrl-b [ を押して copy mode を入力します。

emacs のキーバインド(デフォルト)を使用している場合は、Ctrl-s を押してから検索したい文字列を入力して Enter を押します。n キーを押すと、同じ文字列を再度検索することができます。逆の検索をするには Shift-n キーを押します。Escape を 2 回押して copy mode を終了します。Ctrl-rで逆方向に検索することもできます。なお、tmuxではキーボードの制御がcopy modeになっているので、Ctrl-sはstty ixonの設定に関係なく動作します(私はBashで順方向検索ができるようにするためにstty -ixonにしているのが好きです)。

viキーバインド(Ctrl-b:set-window-option -g mode-keys vi)を使用している場合は、/を押してから検索したい文字列を入力してEnterキーを押します。n キーを押すと、同じ文字列を再度検索します。emacs モードと同じように Shift-n キーを押すと逆の検索ができます。qを2回押してcopy modeを終了します。逆方向に検索するには ?

find-window

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

10
10
10
2017-09-24 04:53:26 +0000

コピーモードに入って一気に検索を開始

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でテストしています。