Какая версия tmux( tmux -V)? Я считаю, что это было добавлено в версии 0.9.
Деннис Уильямсон
@Dennis это 1.3-1
РЭШ
1
Поиск версии с tmux -Vработами только в более поздних версиях. В Ubuntu / Debian вы можете сделать: dpkg -l | grep tmux
Niels Bom
Ответы:
275
поиск в режиме копирования
Для поиска в 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- bfзатем введите строку для поиска и нажмите Enter. Вы будете переключены в окно, содержащее этот текст, если он найден. Если более одного окна совпадает, вы увидите список для выбора.
Как я могу установить стиль привязки? (emacs vs vi)
Даниэль Цю
2
@DanielQue: взгляните на справочную страницу tmux и найдите «ключи режима» и «ключи состояния». Это подкоманды, которые позволяют вам установить стиль привязки. С другой стороны, может быть проще установить переменную окружения ( EDITORили VISUAL) в стиле, который вы хотите, перед запуском tmux.
Деннис Уильямсон
6
Спасибо, я получил его для работы set-window-option -g mode-keys viв моем .tmux.conf. Но мне было любопытно по поводу альтернативы переменной среды, и я не мог заставить ее работать. Это переменная окружения оболочки или переменная окружения tmux, которую нужно установить в файле conf?
Даниэль Цю
2
@DanielQue: переменная среды оболочки. Его нужно будет экспортировать или поместить в среду tmux следующим образом:VISUAL=vi tmux
Деннис Уильямсон
1
Также обратите внимание, что поиск по регулярным выражениям пока отсутствует, здесь есть открытый вопрос sourceforge.net/p/tmux/tickets/9
Элайджа Линн,
7
Войдите в режим копирования и начните поиск за один раз
Настройте регулярное выражение в соответствии с вашей подсказкой, используйте четыре обратных слеша для каждого обратного слеша в регулярном выражении.
Вы также можете изменить целевой путь и имя файла:
# Save screen content to file
bind p command-prompt -p 'Save history to:' -I '~/tmux.history' 'capture-pane -S -32768 ; save-buffer %1 ; delete-buffer'
После перезагрузки конфигурационного файла tmux вы можете нажать prefix pв моем случае. Ctrl+a p
Вы можете изменить bind pпредпочитаемую комбинацию клавиш.
Первый мой не работал, потому что я переписывал bind pв другой строке, поэтому я просто закомментировал это.
tmux
(tmux -V
)? Я считаю, что это было добавлено в версии 0.9.tmux -V
работами только в более поздних версиях. В Ubuntu / Debian вы можете сделать:dpkg -l | grep 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. Вы будете переключены в окно, содержащее этот текст, если он найден. Если более одного окна совпадает, вы увидите список для выбора.
источник
EDITOR
илиVISUAL
) в стиле, который вы хотите, перед запускомtmux
.set-window-option -g mode-keys vi
в моем.tmux.conf
. Но мне было любопытно по поводу альтернативы переменной среды, и я не мог заставить ее работать. Это переменная окружения оболочки или переменная окружения tmux, которую нужно установить в файле conf?VISUAL=vi tmux
Войдите в режим копирования и начните поиск за один раз
позволяет делать только:
и начните вводить поисковый запрос.
Дамп в файл и использовать vim
Когда все становится более сложным, я просто хочу использовать подходящий редактор: https://unix.stackexchange.com/questions/26548/write-all-tmux-scrollback-to-a-file
Теперь
P
дамп буфера в файл, а затем я просто:Протестировано в tmux 2.6.
источник
/tmp/tmux
)?Вы можете использовать vim для просмотра / редактирования / поиска / сохранения журнала экрана, складывая журнал при каждом запросе bash:
Настройте регулярное выражение в соответствии с вашей подсказкой, используйте четыре обратных слеша для каждого обратного слеша в регулярном выражении.
Или поместите функцию vim в ~ / .vimrc:
А в ~ / .bashrc добавьте дату к приглашению, если у вас есть много журналов для поиска. например
источник
Вот решение, которое я нашел.
Вы также можете изменить целевой путь и имя файла:
После перезагрузки конфигурационного файла tmux вы можете нажать
prefix p
в моем случае.Ctrl+a p
Вы можете изменитьbind p
предпочитаемую комбинацию клавиш.Первый мой не работал, потому что я переписывал
bind p
в другой строке, поэтому я просто закомментировал это.источник