GNU/Linux >> Tutoriels Linux >  >> Linux

Commande tmux select-pane -LDUR - désactiver le comportement de cycle automatique

Ajoutez ceci à votre ~/.tmux.conf :

set-option -g default-shell /bin/bash
unbind Up     
unbind Down   
unbind Right   
unbind Left  
bind Up run-shell "if [ $(tmux display-message -p '#{pane_at_top}') -ne 1 ]; then tmux select-pane -U; fi"
bind Down run-shell "if [ $(tmux display-message -p '#{pane_at_bottom}') -ne 1 ] ; then tmux select-pane -D; fi"
bind Right run-shell "if [ $(tmux display-message -p '#{pane_at_right}') -ne 1 ]; then tmux select-pane -R; fi"
bind Left run-shell "if [ $(tmux display-message -p '#{pane_at_left}') -ne 1 ]; then tmux select-pane -L; fi"

Fondamentalement, cela devrait fonctionner avec les versions 2.6 + de tmux (après quoi ils ont ajouté les variables d'environnement pane_at_top, pane_at_bottom, pane_at_left, pane_at_right. Pour tmux

De plus, si vous souhaitez lancer un shell personnalisé, faites-le via set-option -g default-command fish (ou zsh ou csh ou autre). Comme alternative, si vous souhaitez utiliser un shell non bash comme shell par défaut de tmux, définissez-le comme tel (set-option -g default-shell ), puis vous pouvez coder la logique ci-dessus dans le script shell de votre choix. Cependant, (comme c'était dans mon cas) l'utilisation de certains shells ne vous donne pas la commodité d'une seule ligne si les commandes (ou il se peut que je ne connaisse pas assez certains shells, ou peut-être que plusieurs lignes fonctionnent dans run- coque.

Source :fil de discussion sur les problèmes de github que j'ai lancé


Merci à Gilgamesh Skytrooper d'avoir posté le problème sur github. Voici une version simple qui peut fonctionner avec plusieurs sessions et n'invoque pas de sous-processus shell.

bind -n M-a if -F '#{pane_at_left}'   '' 'select-pane -L'
bind -n M-d if -F '#{pane_at_right}'  '' 'select-pane -R'
bind -n M-w if -F '#{pane_at_top}'    '' 'select-pane -U'
bind -n M-s if -F '#{pane_at_bottom}' '' 'select-pane -D'

Supprimer -n si vous voulez taper le préfixe (C-b ) d'abord, et changez les liaisons M-[awds] à votre goût.


Linux
  1. Comportement étrange de la commande Bash Clear supprime le tampon de défilement.?

  2. Comment désactiver un alias dans Bash pour une seule commande ? ?

  3. Désactiver la répétition du clavier à partir de la ligne de commande ?

  4. Désactiver le modérateur d'activité de bureau

  5. Comment désactiver Ctrl + c ou Ctrl + z à l'aide de la commande "trap" sous Linux

Comment désactiver SElinux sur CentOS 7

Comment activer et désactiver le WiFi sur Kali Linux

4 façons de désactiver/verrouiller certaines mises à jour de packages à l'aide de la commande Yum

Commande pour désactiver définitivement SELinux sur AlmaLinux 8

Comment puis-je créer un raccourci pour redimensionner les volets dans une fenêtre tmux ?

tmux :comment lier une clé pour lancer une commande shell ?