GNU/Linux >> Tutoriales Linux >  >> Linux

Comando tmux select-pane -LDUR:deshabilitar el comportamiento de ciclo automático

Agrega esto a tu ~/.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"

Básicamente, esto debería ejecutarse con tmux versiones 2.6 + (después de lo cual agregaron las variables de entorno pane_at_top, pane_at_bottom, pane_at_left, pane_at_right. Para tmux

Además, si desea iniciar un shell personalizado, hágalo a través de set-option -g default-command fish (o zsh o csh o lo que sea). Como alternativa, si desea utilizar un shell que no sea bash como shell predeterminado de tmux, configúrelo como tal (set-option -g default-shell ) y luego puede codificar la lógica anterior en el script de shell de su elección. Sin embargo, (como fue en mi caso) el uso de ciertos shells no le brinda la comodidad de los comandos if de una sola línea (o podría ser que no sé lo suficiente sobre ciertos shells, o tal vez varias líneas funcionen en ejecución). concha.

Fuente:hilo de problemas de github que comencé


Gracias a Gilgamesh Skytrooper por publicar el problema en github. Aquí hay una versión simple que puede funcionar con varias sesiones y no invoca un subproceso de 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'

Eliminar -n si desea presionar el prefijo (C-b ) primero, y cambie los enlaces M-[awds] a tu gusto.


Linux
  1. Cómo deshabilitar un comando específico para un usuario específico en Linux

  2. Cómo deshabilitar la edición de mi historial en bash

  3. tmux:se cuelga y no carga, y no responde a ningún comando de opción

  4. ¿Cómo puedo crear un acceso directo para cambiar el tamaño de los paneles en una ventana tmux?

  5. tmux:¿cómo vincular una tecla para iniciar el comando de shell?

Cómo deshabilitar SElinux en CentOS 7

Cómo habilitar y deshabilitar WiFi en Kali Linux

4 formas de deshabilitar/bloquear ciertas actualizaciones de paquetes usando el comando Yum

Comando para deshabilitar permanentemente SELinux en AlmaLinux 8

¿Cómo migrar un servidor BIND DNS a un nuevo hardware?

Nagios:deshabilite las notificaciones desde la línea de comandos en Windows/Linux