Selezione del testo nella modalità di copia di Tmux


73

Corro Tmux in modalità Vi. La navigazione Vi-like in modalità copia funziona bene. Tuttavia, non riesco a selezionare alcun testo. Né v né V passa alla modalità di selezione del testo simile a Vi.

Cosa mi sto perdendo?

A proposito, è possibile visualizzare i numeri di riga in modalità copia?

PS: sto eseguendo Tmux su Mac OS con shell Z.

Risposte:


90

Risposta breve: lo spazio avvia la selezione e immette le copie.

Per riferimento futuro, ho preso questo dalla pagina man di 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

Aggiornamento: il tmux list-keyscomando elencherà anche tutte le associazioni di tasti personalizzate che hai.


70

Usa la barra spaziatrice per l'inizio della selezione e inserisci per la fine.

copia:

  • Ctrlb[
  • Space
  • Enter

incolla:

  • Ctrlb]

1
Questa dovrebbe essere la risposta. Potrebbe essere migliorato spiegando come entrare / uscire dalla modalità copia.
mcsilvio il

2
Ottima, breve risposta. Solo una nota ai compagni vi [m] neofiti: se stai usando un editor modale o una riga di comando, vorrai assicurarti di essere in modalità insert prima di provare a incollare usando il suddetto Ctrl+b+]. Ovvio in retrospettiva, ma mi ha mandato avanti e indietro un paio di volte fino a quando non mi sono insinuato.
JM Janzen,

Penso che la formattazione e la concisione sarebbero un ottimo sostituto per la sezione "risposta breve" nella mia risposta. Esiste un modo per combinare le risposte che danno credito quando il credito è dovuto?
bluehavana,

hmm ... pensando oltre, immagino che due risposte siano più appropriate, vorrei solo avere questo above the fold in qualche modo.
bluehavana,

23

Puoi anche configurare il tuo file .tmux.conf aggiungendo:

# 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

che consentirà a 'v' e 'y' di entrare in modalità visiva e di copiare, come in vim.

( Fonte )


1
Ricevo "comando non trovato: bind-key" in tmux 1.9a
Olivier Lalonde

Oops, l'ho messo nel mio .zshrc per caso, nvm :)
Olivier Lalonde

7
Questa roba è cambiata nelle nuove versioni di Tmux. È orabind-key -T copy-mode-vi ...
Steven Lu,

21

A monte (2.4+) tmux ha cambiato il modo di legare per iniziare la selezione. Per creare un'associazione per ciò che l'OP richiede utilizzare -Te inviare i tasti 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

La mia modalità di copia tmux ha smesso di funzionare completamente e non sono riuscito a risolverlo, questo è stato risolto.
GTF

tmuxgli aggiornamenti interrompono le mie configurazioni più spesso di quanto vorrei ... :-(
Ciro Santilli 25 改造 中心 法轮功 六四 事件

2

Trovo che accedere alla modalità vi sia facilmente il mio collo di bottiglia per il quale utilizzo quanto segue:

setw -g mode-keys vi
set-window-option -g mode-keys vi  
unbind [
bind-key -n F2 copy-mode
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.