¿Cómo puedo hacer que las teclas Ctrl + izquierda / derecha se muevan por palabra completa en tmux?


100

Tanto en zsh como en bash, ctrl + flechas me permiten mover la posición en la que estoy escribiendo por palabra completa, pero esto no funciona en tmux, lo cual es un problema ya que actualmente lo estoy iniciando automáticamente cada vez que abro un shell .

¿Cómo puedo arreglar esto?

Respuestas:


130
  1. Edite su ~/.tmux.confy agregue líneas:

    set-window-option -g xterm-keys on
    
  2. Si aún no desea que sea permanente, haga lo siguiente:

    C-b :set-window-option xterm-keys on
    
  3. Vuelva a cargar su configuración en tmux haciendo:

    C-b :source-file ~/.tmux.conf
    

Más información aquí :


2
Extraño: Esto funciona para mí solo si vuelvo a cargar el archivo ~ / .tmux.conf desde tmux o establezco la acción en: -prompt de tmux, no inicialmente cuando abro tmux. ¿Alguna idea de cuál podría ser el problema allí?
AME

@AME cierra todas las sesiones de tmux y vuelve a intentarlo.
Nathan

Si reload config no soluciona el problema (este es el caso para mí), intente una nueva sesión. Tal vez necesite matar la sesión actual y crear una nueva. Otra opción para que surta efecto en un panel (no una sesión) es Cb: respawn-pane -k
fstang el

Esto funcionó para mí, principalmente. Me pregunto por qué no está activado de forma predeterminada.
inetknght

Matar la sesión, o lo que sea, set-window-option -g xterm-keys ontodavía no hace nada en mi caso.
noraj

8
set-window-option -g xterm-keys on

Me consiguió algo del camino y me lo dio Ctrl, Left/Righten la consola, pero todavía respondía de manera diferente en vim.

Desvincular las llaves no pareció ayudar.

Resultó que en algún momento había configurado mi terminal predeterminado para pantalla ( set-option -g default-terminal "screen"en .tmux.conf)

Cambiar esto a lo siguiente me dio Ctrl, Left/Righten todo lo demás:

set-option -g default-terminal "xterm-256color"

Espero que ayude a alguien.


1
Excepto que esto rompe los colores en vim, tig, y presumiblemente un montón de otras cosas ...
koniiiik

1
consulte también unix.stackexchange.com/a/1098/250 para obtener un consejo sobre cómo configurar TERM así en tmux
phunehehe

3

Para msys2 / Cygwin / mintty:

Añadir a continuación a ~/.inputrc.

"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left 

Recargar haría que tmux funcionara correctamente.


2

No estoy seguro, pero esto podría deberse a que, tmuxde forma predeterminada, se vincula C-<up/down/left/right>para cambiar el foco al panel arriba / abajo / izquierda / derecha del panel actualmente enfocado. Si no usa paneles con frecuencia, es posible que no haya notado esta característica. Si este es el problema, puede desvincular esas claves diciendo:

unbind C-Left
unbind C-Right

Eso puede ser suficiente por sí solo , o puede que necesite vincularlos manualmente nuevamente a lo que desea que hagan, a través de:

bind -n C-Left <the action you want>
bind -n C-Right <other action you want>

1
Debería ser suficiente por sí mismo, si tmux no lo agarra, debería pasar al shell.
Rob

0

Para mí, las claves no estaban vinculadas correctamente, porque las preferencias del sistema en High Sierra estaban configuradas para ser utilizadas por Mission Control. Al desmarcarlos, los enlaces correctos funcionaron en iTerm2 y Tmux

Preferencias del Sistema

Al desmarcar todos los elementos que hacen referencia a la tecla de control, los enlaces funcionaron correctamente

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.