¿Dónde está el archivo de configuración tmux predeterminado?

16

Estoy buscando el valor predeterminado .tmux.confo algo así. Estoy tratando de deshacerme de un poco de ruido en la línea de estado que crea el valor predeterminado.

Rose Perrone
fuente
En caso de que eso ayude, estoy cuidando mucho mi tmux.conf y lo comparto en github: github.com/gpakosz/.tmux
Gregory Pakosz
la respuesta se puede encontrar en las preguntas frecuentes de tmux: github.com/tmux/tmux/wiki/…
DJCrashdummy

Respuestas:

22

La configuración predeterminada no está disponible como un archivo de configuración normal; Es parte del código fuente (por lo tanto integrado en el programa compilado).

Puede examinar partes de la configuración con los comandos list-keysy show-options:

tmux list-keys         # show current bindings

tmux show-options -s   # show current server options

tmux show-options -g   # show current global session options
tmux show-options      # show current session options

tmux show-options -gw  # show current global window options
tmux show-options -w   # show current window options

Con tmux 1.7, show-optionstambién puede mostrarle el valor de una sola opción (las versiones anteriores solo pueden enumerar todas las opciones de la clase especificada):

tmux show-options -gw window-status-format

Si está interesado en la configuración predeterminada que tendría un servidor "prístino", puede examinar esos elementos como este:

tmux -L unconfigured -f /dev/null start-server \; list-keys \; show-options -s \; show-options -g \; show-options -gw

El -L unconfiguredbit especifica un socket de servidor que probablemente aún no esté utilizando (si tiene un servidor con ese nombre de socket, simplemente elija otro nombre no utilizado). Esto -f /dev/nullasegura que el servidor no use su ~/.tmux.confarchivo de configuración normal (aunque, a falta de una compilación personalizada, no hay forma de omitir el /etc/tmux.confarchivo de configuración del sistema). El start-servercomando es necesario porque solo ciertos comandos iniciarán automáticamente un servidor.


Si está interesado en mirar el código fuente, aquí están las áreas de interés:

  • Las opciones se definen options-table.cen estas matrices:
    • server_options_table
    • session_options_table
    • window_options_table
  • los enlaces comienzan key_bindings_init()en key-bindings.c, pero algunos de los detalles se extendió a cabo con las definiciones de comandos individuales (por ejemplo, cmd_select_window_key_binding()en cmd-select-window.c).
Chris Johnsen
fuente
También es una buena respuesta que tal vez ayuda a uno o dos para comprender el concepto y la razón de los diferentes tipos de ajustes: superuser.com/a/759156/403979
DJCrashdummy
3

Debe haber uno en su $HOME/.tmux.confespecífico para su usuario y un archivo de configuración de todo el sistema ubicado en/etc/tmux.conf

Tuxdude
fuente
2
Lo hice $HOME/.tmux.confyo mismo, y /etc/tmux.confno existe.
Rose Perrone
1
La mayoría de las distribuciones de Linux no se envían con ningún archivo de configuración de tmux, ni siquiera con archivos vacíos. Pero si crea uno, tmux debería analizar estos archivos de configuración. ¿Encuentra alguna opción en particular que no se retiene cuando reinicia tmux?
Tuxdude