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