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

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.


70

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

Copiar:

  • Ctrlb[
  • Space
  • Enter

pegar:

  • Ctrlb]

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 )


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

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
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.