Как искать в выходном буфере оболочки tmux?
Я не могу заставить это работать. Как я могу обыскать буфер оболочки tmux?
Я не могу заставить это работать. Как я могу обыскать буфер оболочки tmux?
Для поиска в буфере истории 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
. Вы можете использовать ? для поиска в обратном направлении.
Если вы хотите переключиться на окно, основанное на чем-то отображаемом в нем (сюда также входят названия и заголовки окон, но не история), (начиная с нескольких открытых окон) нажмите Ctrl-b f, затем введите строку для поиска и нажмите Enter. Если окно будет найдено, Вы переключитесь на окно, содержащее этот текст. Если несколько окон совпадут, то появится список, из которого можно выбрать.
Введите режим копирования и начните поиск за один раз
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.