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 дважды, чтобы выйти copy mode. Можно использовать Ctrl-r для поиска в обратном направлении. Обратите внимание, что поскольку tmux управляет клавиатурой в copy mode, Ctrl-s работает независимо от настройки stty ixon (которая мне нравится как stty -ixon для включения прямого поиска в Bash).

Если вы используете привязки клавиш vi (Ctrl-b:set-window-option -g mode-keys vi), нажмите / затем введите строку для поиска и нажмите Enter. Нажмите n для повторного поиска той же самой строки. Нажмите Shift-n для обратного поиска, как в режиме emacs. Нажмите q дважды, чтобы выйти из режима 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.