it-swarm-ru.tech

Как я могу искать в выходном буфере оболочки tmux?

Я не могу заставить это работать. Как я могу искать в буфере оболочки tmux?

154
NES

поиск в режиме копирования

Для поиска в текущем окне буфера истории tmux нажмите Ctrl-b[ ввести copy mode.

Если вы используете привязки клавиш emacs (по умолчанию), нажмите Ctrl-s затем введите строку для поиска и нажмите Enter, Нажмите n искать ту же строку снова. Нажмите Shift-n для обратного поиска. Нажмите Escape дважды, чтобы выйти copy mode. Ты можешь использовать Ctrl-r искать в обратном направлении. Обратите внимание, что, поскольку tmux контролирует клавиатуру в copy modeCtrl-s работает независимо от настройки stty ixon (которую я хотел бы использовать как stty -ixon для включения прямого поиска в Bash).

Если вы используете привязки клавиш vi (Ctrl-b:set-window-option -g mode-keys vi), нажмите / затем введите строку для поиска и нажмите Enter, Нажмите n искать ту же строку снова. Нажмите Shift-n для обратного поиска, как в режиме Emacs. Нажмите q дважды, чтобы выйти copy mode. Ты можешь использовать ? искать в обратном направлении.

найти окно

Если вы хотите переключиться на окно на основе чего-либо, отображаемого в нем (это также включает в себя имена и заголовки окон, но не историю), (начиная с открытия более одного окна) нажмите Ctrl-bf затем введите строку для поиска и нажмите Enter, Вы будете переключены в окно, содержащее этот текст, если он найден. Если более одного окна совпадает, вы увидите список для выбора.

252
Dennis Williamson

Войдите в режим копирования и начните поиск за один раз

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.