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.