Réponses:
Pour rechercher dans la tmux
mémoire tampon de l' historique la fenêtre en cours, appuyez sur Ctrl- b [pour entrer copy mode
.
Si vous utilisez les raccourcis clavier emacs (par défaut), appuyez sur Ctrl-, spuis tapez la chaîne à rechercher et appuyez sur Enter. Appuyez sur npour rechercher à nouveau la même chaîne. Appuyez sur Shift- npour une recherche inversée. Appuyez Escapedeux fois pour quitter copy mode
. Vous pouvez utiliser Ctrl- rpour rechercher en sens inverse. Notez que depuis tmux
est en contrôle du clavier dans copy mode
, Ctrl- sfonctionne quel que soit le stty ixon
réglage (ce que j'aime bien stty -ixon
pour permettre les recherches en avant dans Bash).
Si vous utilisez les raccourcis-clavier de vi ( Ctrl- b:set-window-option -g mode-keys vi
), appuyez sur /puis tapez la chaîne à rechercher et appuyez sur Enter. Appuyez sur npour rechercher à nouveau la même chaîne. Appuyez sur Shift- npour une recherche inversée comme en mode Emacs. Appuyez qdeux fois pour quitter copy mode
. Vous pouvez utiliser ?pour rechercher dans le sens inverse.
Si vous souhaitez basculer vers une fenêtre basée sur quelque chose qui y est affiché (cela inclut également les noms et les titres de la fenêtre mais pas l'historique), (en commençant par plus d'une fenêtre ouverte), appuyez sur Ctrl- b ftapez la chaîne à rechercher et appuyez sur la touche Enter. Vous serez basculé vers une fenêtre contenant ce texte s'il est trouvé. Si plus d'une fenêtre correspond, vous verrez une liste de sélection.
EDITOR
ou VISUAL
) sur le style souhaité avant de commencer tmux
.
set-window-option -g mode-keys vi
dans mon .tmux.conf
. Mais j'étais curieux de connaître la variable alternative d'environnement et je ne pouvais pas le faire fonctionner. Est-ce une variable d'environnement shell ou une variable d'environnement tmux qui doit être définie dans le fichier conf?
VISUAL=vi tmux
Passez en mode copie et lancez la recherche en une fois
bind-key / copy-mode \; send-key ?
vous permet de faire juste:
Ctrl + B /
et commencez à taper le terme recherché.
Dump dans un fichier et utilisez vim
Lorsque les choses se compliquent, je veux juste utiliser un éditeur approprié: 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
Maintenant P
vide le tampon dans un fichier, puis je viens:
vim /tmp/tmux
Testé dans tmux 2.6.
/tmp/tmux
)?
Vous pouvez utiliser vim pour afficher / modifier / rechercher / enregistrer le journal d'écran, pliez le journal à chaque invite de bash:
tmux capture-pane -pS -1000000 |
vim +":setl fen fdm=expr fde=getline(v:lnum)=~'^\\\\S\\+\\\\$\\\\s'?'>1':1" -
Ajustez la regex en fonction de votre invite, utilisez quatre barres obliques inverses pour chaque barre oblique inversée dans regex.
Ou mettez la fonction vim dans ~ / .vimrc:
command! MoshFoldTmuxLog :setl fen fdm=expr
\ fde=getline(v:lnum)=~'^\\S\\+\\$\\s'?'>1':1
Et dans ~ / .bashrc, ajoutez une date à l’invite, si vous avez beaucoup de journaux à parcourir. par exemple
PS1='\u@\h:\w:\D{%F-%T}$?:\$ ' # user-host-pwd-date-time-errno
alias tmux-log='tmux capture-pane -pS -1000000 | vi +MoshFoldTmuxLog -'
Voici une solution que j'ai trouvée.
Vous pouvez également modifier le chemin cible et le nom du fichier:
# 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'
Après avoir rechargé le fichier de configuration tmux, vous pouvez appuyer sur prefix p
dans mon cas. Ctrl+a p
Vous pouvez modifier bind p
la combinaison de touches de votre choix.
Premièrement, le mien ne fonctionnait pas parce que je remplaçais bind p
une autre ligne, alors je me suis contenté de le commenter.
tmux
(tmux -V
)? Je crois que cela a été ajouté à la version 0.9.