FYI J'utilise tmux via l'application Mac OSX Terminal.
Réponses
Trop de publicités?Cette même question a été semés sur moi depuis quelques temps. Ici est la meilleure que j'ai trouvé. Mettre ceci dans votre .tmux.fichier conf:
bind -n C-k clear-history
Cette combinaison ctrl-k pour l'tmux clair à l'histoire de la commande. L'-n après lier le rend si vous n'avez pas de problème le tmux préfixe de commande (ctrl-b par défaut). J'utilise bash, donc ctrl-l déjà fait l'équivalent de taper "clair" à la ligne de commande. Avec ces deux touches je reçois un bon ctrl-l ctrl-k combo, qui se déplace tout le défilement de la mémoire tampon de l'écran ("clear"), puis supprime tout ce que l'histoire (la tmux "clair-histoire de la commande").
Ce n'est pas tout à fait aussi beau que du Terminal, iTerm, ou Konsole 1-combos pour la compensation, mais c'est un monde de mieux que de taper dans une histoire de tous les temps.
Comme @juanpaco l'a correctement déclaré, clear-history
est la commande permettant d'effacer le tampon de défilement.
J'ajouterai que j'aime bien effacer ce qui est à l'écran dans la même commande. Émettre un send-keys -R
réinitialise (efface) l'écran, j'utilise donc les éléments suivants dans mon .tmux.conf
bind-key b send-keys -R \; clear-history
Ceci efface l'écran ET le tampon de défilement.
J'ai trouvé que l'utilisation de send-keys -R
était un peu lente - voici un autre moyen d'effacer l'écran et l'historique en une seule commande
bind-key C send-keys "clear && tmux clear-history" \; send-keys "Enter"
Un appel imbriqué tmux est utilisé comme le plus évident
bind-key C send-keys "clear" \; send-keys "Enter" \; clear-history
ne parvient pas à effacer le texte actuel de l'écran de l'historique - la commande clear-history semble s'exécuter dans un thread distinct de send-keys.
J'ai utilisé une partie de la ci-dessus ainsi que d'autres sources de venir avec:
bind k send-keys C-u \; send-keys C-k \; send-keys " clear && tmux clear-history" \; send-keys "Enter" \; run-shell "sleep .3s" \; send-keys "Up" \; send-keys C-u
L'espace à gauche en clair "& & tmux clair-histoire" empêche la commande en cours d'écriture dans le fichier de l'historique (à condition que vous ayez votre shell d'installation pour traiter les espaces de cette façon; google "hist ignorer l'espace" + le nom de votre shell pour plus d'info). J'aime avoir cette commande affiche pas dans mon histoire, car c'est plus en ligne avec ctrl-k dans le Terminal.
La première envoyez-clés C-u et envoyez-clés C-k va effacer tout ce qui est saisi, à l'invite de s'assurer que le "clair && tmux clair-histoire" est un succès (par exemple, si vous avez tapé "ABCDEFG" à l'invite et vous avez votre curseur entre le D et le E, ce qui assure que "ABCD clair && tmux clair-historyEFG" n'est pas envoyé à la coque, ce qui serait un échec).
Le envoyer-touches "Haut" et le dernier envoyez-clés C-u efface les derniers articles de vos coquilles histoire interne. Même avec l'espace de fin mentionné ci-dessus l'histoire interne de la coquille va inclure les "effacer" ... ligne. L'envoi et Ctrl-u se débarrasser de ce.
Enfin, dans iTerm j'ai mis ctrl-k pour mapper les touches ctrl-k (j'ai mon tmux préfixe défini sur ctrl-a), donc je peux taper ctrl-k, qui est ce que mes mains veulent faire de si nombreuses années. J'ai ce faire, en allant à iTerm > Préférences > Profils > Clés et l'ajout d'un raccourci pour envoyer le code hexadécimal "0x01 0x6B". Il y a un excellent article ici qui donne plus d'infos sur l'utilisation des codes hex avec tmux et iTerm: http://tangledhelix.com/blog/2012/04/28/iterm2-keymaps-for-tmux/
C'est à peu près me donne ctrl-k avec tmux. La seule chose qui a encore un peu bourrins à moi, c'est que le réel ctrl-k sans tmux n'a pas de problèmes si vous avez quelque chose tapé à l'invite de commandes et à préserver ce que vous avez tapé tout en désactivant l'écran. Comme mentionné, cette approche claire de ce qui est tapé afin de les "effacer" ... commande ne fonctionne pas. Mais il est sacrément proche!!!!