Seleccionar texto en modo de copia Tmux

73

Ejecuto Tmux en modo Vi. La navegación tipo Vi en modo copia funciona bien. Sin embargo, no puedo seleccionar ningún texto. Ni v ni V cambian al modo de selección de texto similar a Vi.

¿Qué me estoy perdiendo?

Por cierto, ¿es posible mostrar números de línea en modo copia?

PD: estoy ejecutando Tmux en Mac OS con Z shell

Mantas
fuente

Respuestas:

90

Respuesta corta: el espacio inicia la selección e ingresa copias.

Para referencia futura, obtuve esto de la página de manual de tmux:

       Function                vi             emacs
       Back to indentation     ^              M-m
       Clear selection         Escape         C-g
       Copy selection          Enter          M-w
       Cursor down             j              Down
       Cursor left             h              Left
       Cursor right            l              Right
       Cursor to bottom line   L
       Cursor to middle line   M              M-r
       Cursor to top line      H              M-R
       Cursor up               k              Up
       Delete entire line      d              C-u
       Delete to end of line   D              C-k
       End of line             $              C-e
       Goto line               :              g
       Half page down          C-d            M-Down
       Half page up            C-u            M-Up
       Next page               C-f            Page down
       Next word               w              M-f
       Paste buffer            p              C-y
       Previous page           C-b            Page up
       Previous word           b              M-b
       Quit mode               q              Escape
       Scroll down             C-Down or J    C-Down
       Scroll up               C-Up or K      C-Up
       Search again            n              n
       Search backward         ?              C-r
       Search forward          /              C-s
       Start of line           0              C-a
       Start selection         Space          C-Space
       Transpose chars                        C-t

Actualización: el tmux list-keyscomando también mostrará una lista de las combinaciones de teclas personalizadas que tenga.

bluehavana
fuente
70

Utiliza la barra espaciadora para el comienzo de la selección e ingresa para el final.

Copiar:

  • Ctrlb[
  • Space
  • Enter

pegar:

  • Ctrlb]
nonameentername
fuente
1
Esta debería ser la respuesta. Podría mejorarse explicando el modo de copia entrante / saliente.
mcsilvio
2
Genial, breve respuesta. Solo una nota para los compañeros neófitos vi [m]: si está utilizando un editor modal o una línea de comandos, querrá asegurarse de estar en modo de inserción antes de intentar pegar con el mencionado anteriormente Ctrl+b+]. Obvio en retrospectiva, pero me envió de ida y vuelta varias veces hasta que me arreglé.
JM Janzen
Creo que el formato y la concisión serían un excelente reemplazo para la sección de "respuesta corta" en mi respuesta. ¿Hay alguna forma de combinar respuestas que otorguen crédito cuando se deba?
bluehavana
hmm ... pensando más, supongo que dos respuestas son más apropiadas, solo me gustaría tener esto por encima del pliegue de alguna manera.
bluehavana
23

También puede configurar su archivo .tmux.conf agregando:

# Use v to trigger selection    
bind-key -T copy-mode-vi v send-keys -X begin-selection

# Use y to yank current selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel

que habilitará 'v' e 'y' para ingresar al modo visual y copiar, como en vim.

( Fuente )

Manur
fuente
1
Recibo "comando no encontrado: clave de enlace" en tmux 1.9a
Olivier Lalonde
Vaya, lo puse en mi .zshrc por accidente, nvm :)
Olivier Lalonde
77
Esto ha cambiado en las nuevas versiones de Tmux. Ahora esbind-key -T copy-mode-vi ...
Steven Lu
21

Upstream (2.4+) tmux cambió la forma de enlazar para comenzar la selección. Para crear un enlace para lo que pide el OP, use -Ty envíe claves con -X:

# Use v to trigger selection    
bind-key -T copy-mode-vi v send-keys -X begin-selection

# Use y to yank current selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
p1100i
fuente
Mi modo de copia tmux simplemente dejó de funcionar por completo y no pude resolverlo, esto lo solucionó.
GTF
tmuxlas actualizaciones rompen mis configuraciones más a menudo de lo que me gustaría ... :-(
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
2

Encuentro que entrar en el modo vi es fácilmente mi cuello de botella para el que uso lo siguiente:

setw -g mode-keys vi
set-window-option -g mode-keys vi  
unbind [
bind-key -n F2 copy-mode
Pablo
fuente