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

Come posso cercare all'interno del buffer di uscita di una shell tmux?

Non riesco a farlo funzionare. Come posso cercare il buffer di una shell tmux?

Risposte (2)

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

ricerca in modalità copia

Per cercare nel buffer della cronologia tmux per la finestra corrente, premi Ctrl-b [ per inserire copy mode.

Se stai usando le associazioni di tasti di emacs (il default), premi Ctrl-s poi digita la stringa da cercare e premi Invio. Premete n per cercare di nuovo la stessa stringa. Premete Shift-n per la ricerca inversa. Premete Escape due volte per uscire da copy mode. Puoi usare Ctrl-r per cercare in senso inverso. Nota che poiché tmux ha il controllo della tastiera in copy mode, Ctrl-s funziona indipendentemente dall'impostazione di stty ixon (che mi piace avere come stty -ixon per abilitare le ricerche in avanti in Bash).

Se stai usando le associazioni di tasti di vi (Ctrl-b:set-window-option -g mode-keys vi), premi / poi digita la stringa da cercare e premi Invio. Premi n per cercare di nuovo la stessa stringa. Premete Shift-n per la ricerca inversa come in modalità emacs. Premere q due volte per uscire da copy mode. Puoi usare ? per cercare nella direzione inversa.

find-window

Se volete passare a una finestra in base a qualcosa che vi viene visualizzato (questo include anche i nomi e i titoli delle finestre ma non la cronologia), (iniziando con più di una finestra aperta) premete Ctrl-b f poi digitate la stringa da cercare e premete Invio. Sarete passati a una finestra che contiene quel testo, se viene trovato. Se più di una finestra corrisponde, vedrete un elenco da cui scegliere.

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

Entrare in modalità copia e iniziare a cercare in un colpo solo

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

permette di fare solo:

Ctrl + B /

e iniziare a digitare il termine di ricerca.

Dump su un file e uso vim

Quando le cose si fanno più complesse, voglio solo usare un editor appropriato: 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

Ora P scarica il buffer su un file, e poi devo solo:

vim /tmp/tmux

Testato in tmux 2.6.