Sélection de texte en mode copie Tmux

73

Je lance Tmux en mode Vi. La navigation de type Vi en mode copie fonctionne bien. Cependant, je ne peux sélectionner aucun texte. Ni v ni V ne bascule en mode de sélection de texte similaire à Vi.

Qu'est-ce que je rate?

A propos, est-il possible d'afficher les numéros de ligne en mode copie?

PS: J'utilise Tmux sur Mac OS avec le shell Z

Mantas
la source

Réponses:

90

Réponse courte: l'espace commence la sélection et entre les copies.

Pour référence future, je l’ai eu sur la page de manuel 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

Mise à jour: la tmux list-keyscommande répertorie également toutes les liaisons de clé personnalisées que vous avez.

bluehavana
la source
70

Vous utilisez la barre d'espace pour le début de la sélection et entrez pour la fin.

copie:

  • Ctrlb[
  • Space
  • Enter

pâte:

  • Ctrlb]
nonameentername
la source
1
Cela devrait être la réponse. Il pourrait être amélioré en expliquant le mode de copie entrant / sortant.
mcsilvio
2
Super réponse brève. Juste une note pour les autres néophytes: Si vous utilisez un éditeur modal ou une ligne de commande, vous devrez vous assurer que vous êtes en mode insertion avant d' essayer de coller en utilisant ce qui précède Ctrl+b+]. Évident rétrospectivement, mais m'a envoyé à plusieurs reprises jusqu'à ce que je passe à autre chose.
JM Janzen
Je pense que la mise en forme et la concision remplaceraient parfaitement la section "réponse courte" de ma réponse. Existe-t-il un moyen de combiner des réponses donnant un crédit lorsque le crédit est dû?
bluehavana
hmm ... en pensant plus loin, je suppose que deux réponses sont plus appropriées, j'aimerais juste avoir ceci au-dessus du pli en quelque sorte.
bluehavana
23

Vous pouvez également configurer votre fichier .tmux.conf en ajoutant:

# 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

qui permettra à 'v' et 'y' d'entrer en mode visuel et de copier, comme dans vim.

( Source )

Manur
la source
1
Je reçois "commande introuvable: bind-key" dans tmux 1.9a
Olivier Lalonde
Oups, je l'ai mis dans mon .zshrc par accident, nvm :)
Olivier Lalonde
7
Ce truc a changé dans les nouvelles versions de Tmux. C'est maintenantbind-key -T copy-mode-vi ...
Steven Lu
21

Upstream (2.4+) tmux a modifié la méthode de liaison pour commencer la sélection. Pour créer une liaison pour ce que l'OP demande, utilisez -Tet envoyez les clés avec -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
la source
Mon mode de copie tmux a simplement cessé de fonctionner complètement et je ne pouvais pas le résoudre, cela a résolu le problème.
GTF
tmuxles mises à niveau rompent mes configs plus souvent que je ne le souhaiterais ... :-(
Ciro Santilli a dévoilé le
2

Je trouve facilement que passer en mode vi est mon goulet d’étranglement pour lequel j’utilise les éléments suivants:

setw -g mode-keys vi
set-window-option -g mode-keys vi  
unbind [
bind-key -n F2 copy-mode
Paul
la source