Selecionando texto no modo de cópia do Tmux

73

Eu corro o Tmux no modo Vi. A navegação semelhante a Vi no modo de cópia funciona bem. No entanto, não consigo selecionar nenhum texto. Nem v nem V mudam para o modo de seleção de texto tipo Vi.

o que estou perdendo?

A propósito, é possível exibir números de linha no modo de cópia?

PS: Estou executando o Tmux no Mac OS com shell Z

Mantas
fonte

Respostas:

90

Resposta curta: o espaço inicia a seleção e insere cópias.

Para referência futura, obtive isso na página de manual do 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

Atualização: O tmux list-keyscomando também listará todas as ligações de teclas personalizadas que você possui.

bluehavana
fonte
70

Você usa a barra de espaço no início da seleção e entra no final.

cópia de:

  • Ctrlb[
  • Space
  • Enter

colar:

  • Ctrlb]
nonameentername
fonte
11
Essa deve ser a resposta. Pode ser melhorado explicando a entrada / saída do modo de cópia.
Mcsilvio
2
Ótima, breve resposta. Apenas uma observação para os colegas vi [m] neófitos: Se você estiver usando um editor ou linha de comando modal, precisará garantir que está no modo de inserção antes de tentar colar usando o mencionado acima Ctrl+b+]. Óbvio em retrospecto, mas me mandava de um lado para o outro algumas vezes até eu continuar.
JM Janzen
Penso que a formatação e a concisão seriam uma excelente substituição para a seção "resposta curta" da minha resposta. Existe uma maneira de combinar respostas que dão crédito onde o crédito é devido?
bluehavana
hmm ... pensando mais, acho que duas respostas são mais apropriadas, gostaria de ter isso acima da dobra de alguma forma.
bluehavana
23

Você também pode configurar o arquivo .tmux.conf adicionando:

# 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 permitirá que 'v' e 'y' entrem no modo visual e copiem, como no vim.

( Fonte )

Manur
fonte
11
Estou recebendo "comando não encontrado: bind-key" no tmux 1.9a
Olivier Lalonde
Opa, eu colocá-lo na minha .zshrc por acidente, nvm :)
Olivier Lalonde
7
Este material foi alterado nas versões mais recentes do Tmux. Agora ébind-key -T copy-mode-vi ...
Steven Lu
21

O upstream (2.4+) tmux mudou como ligar para iniciar a seleção. Para criar uma ligação para o que o OP está pedindo, use -Te envie chaves com -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
fonte
Meu modo de cópia tmux simplesmente parou de funcionar completamente e eu não consegui resolver isso, isso foi corrigido.
GTF
tmuxupgrades de quebrar minhas configurações mais frequentemente do que eu gostaria ... :-(
Ciro Santilli新疆改造中心法轮功六四事件
2

Acho que entrar no modo vi facilmente é o meu gargalo para o qual uso o seguinte:

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