web-dev-qa-db-fra.com

Comment augmenter la taille de la mémoire tampon de défilement dans tmux?

Comment puis-je augmenter la taille du tampon de défilement dans tmux?

Si j'entre en mode copie, le nombre de lignes de défilement disponibles (visible dans le coin supérieur droit) est toujours inférieur à 2000. J'ai essayé de trouver une liste de toutes les commandes tmux, mais je ne trouve rien sur la taille du défilement. Pour tout ce que je vois, la screen commande pour définir cette option ne fonctionne pas avec tmux.

Avec tmux 1.8, Ubuntu 12.04 LTS, soit konsole ou gnome-terminal.

281
moon.musick

La limite d'historique est un attribut de volet qui est fixé au moment de la création du volet et ne peut pas être modifié pour les volets existants. La valeur provient de l'option de session history-limit (la valeur par défaut est 2000).

Pour créer un volet avec une valeur différente, vous devez définir l'option history-limit appropriée avant de créer le volet.

Pour établir une valeur par défaut différente, vous pouvez insérer une ligne comme celle-ci dans votre fichier .tmux.conf:

set-option -g history-limit 3000

Remarque: définissez une valeur par défaut très grande car elle peut facilement consommer beaucoup de RAM si vous créez plusieurs volets.

Pour un nouveau volet (ou le volet initial dans une nouvelle fenêtre) d’une session existante, vous pouvez définir le history-limit de cette session. Vous pouvez utiliser une commande comme celle-ci (depuis un shell):

tmux set-option history-limit 5000 \; new-window

Pour (le volet initial de la fenêtre initiale dans) une nouvelle session, vous devez définir le paramètre "global" history-limit avant de créer la session:

tmux set-option -g history-limit 5000 \; new-session

Remarque: Si vous ne redéfinissez pas la valeur history-limit, la nouvelle valeur sera également utilisée pour les autres panneaux/fenêtres/sessions créés ultérieurement. il n’existe actuellement aucun moyen direct de créer un nouveau volet/fenêtre/session avec sa propre limite spécifique sans modifier (au moins temporairement) history-limit (bien que show-option (en particulier dans les versions 1.7 et ultérieures) puisse vous aider. récupérer la valeur actuelle afin de la restaurer ultérieurement).

371
Chris Johnsen

Ouvrez le fichier de configuration tmux avec la commande suivante:

vim ~/.tmux.conf

Dans le fichier de configuration, ajoutez la ligne suivante:

set -g history-limit 5000

Déconnectez-vous et connectez-vous à nouveau, démarrez une nouvelle fenêtre tmux et votre limite est fixée à 5000 maintenant.

13
f4d0

Cela s'appuie sur ntc2 et la réponse de Chris Johnsen. Je l'utilise chaque fois que je veux créer une nouvelle session avec une limite d'historique personnalisée. Je cherchais un moyen de créer des sessions avec un défilement limité sans modifier de façon permanente ma limite d'historique pour les sessions futures.

tmux set-option -g history-limit 100 \; new-session -s mysessionname \; set-option -g history-limit 2000

Cela fonctionne qu'il y ait ou non des sessions existantes. Une fois l’historique défini pour la nouvelle session, il rétablit sa valeur par défaut, à savoir 2000.

J'ai créé un script bash exécutable qui le rend un peu plus utile. Le premier paramètre transmis au script définit la limite d'historique pour la nouvelle session et le second paramètre définit son nom de session:

#!/bin/bash
tmux set-option -g history-limit "${1}" \; new-session -s "${2}" \; set-option -g history-limit 2000
3
devhen