Jak mogę wyszukiwać w buforze wyjściowym powłoki tmux?
Nie mogę sprawić, żeby to działało. Jak mogę przeszukać bufor w powłoce tmux?
Nie mogę sprawić, żeby to działało. Jak mogę przeszukać bufor w powłoce tmux?
Aby szukać w buforze historii tmux
dla bieżącego okna, naciśnij Ctrl-b [ aby wpisać copy mode
.
Jeśli używasz przypisań klawiszy emacsa (domyślnie), naciśnij Ctrl-s, a następnie wpisz szukany łańcuch i naciśnij Enter. Naciśnij n, aby ponownie wyszukać ten sam łańcuch. Naciśnij Shift-n dla szukania wstecz. Naciśnij Escape dwa razy, aby wyjść z copy mode
. Możesz użyć Ctrl-r do szukania w odwrotnym kierunku. Zauważ, że ponieważ tmux
kontroluje klawiaturę w copy mode
, Ctrl-s działa niezależnie od ustawienia stty ixon
(które ja lubię mieć jako stty -ixon
, aby umożliwić wyszukiwanie w przód w Bashu).
Jeśli używasz przypisań klawiszy vi (Ctrl-b:set-window-option -g mode-keys vi
), naciśnij /, a następnie wpisz łańcuch do wyszukania i naciśnij Enter. Naciśnij n, aby ponownie wyszukać ten sam łańcuch. Naciśnij Shift-n dla wyszukiwania wstecz, jak w trybie emacs. Naciśnij q dwa razy, aby wyjść z copy mode
. Możesz użyć ? do szukania w odwrotnym kierunku.
Jeśli chcesz przełączyć się do okna na podstawie czegoś, co jest w nim wyświetlane (dotyczy to także nazw i tytułów okien, ale nie historii), (zaczynając z otwartym więcej niż jednym oknem) naciśnij Ctrl-b f, a następnie wpisz szukany łańcuch i naciśnij Enter. Zostaniesz przełączony do okna zawierającego ten tekst, jeśli zostanie on znaleziony. Jeśli więcej niż jedno okno pasuje, zobaczysz listę, z której możesz wybrać.
Wejdź w tryb kopiowania i rozpocznij wyszukiwanie za jednym zamachem
bind-key / copy-mode \; send-key ?
pozwala na zrobienie po prostu:
Ctrl + B /
i rozpoczęcie wpisywania szukanej frazy.
Zrzuć do pliku i użyj vima
Gdy sprawy stają się bardziej skomplikowane, chcę użyć odpowiedniego edytora: 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
Teraz P
zrzuca bufor do pliku, a potem po prostu:
vim /tmp/tmux
Testowane w tmux 2.6.