Per copiare il testo negli Appunti X in tmux, quello che attualmente faccio è:
- vai in modalità selezione con prefix[
- inizia la selezione con space(usando
mode-keys vi
btw) - seleziona il testo e premi enter
- copia tmux buffer negli appunti X usando prefixctrl+c
(Ho una mappatura come bind C-c run "tmux show-buffer | xclip -selection clipboard -i"
Sto cercando di eliminare alcuni di questi passaggi creando una mappatura per la modalità di selezione. Ho provato:
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
che mi dà ed errore:
.. usage: bind-key [-cnr] [-t key-table] key command [arguments]
(Non sono riuscito a copiare l'errore)
come posso risolvere questo?
EDIT: mi sono reso conto che posso selezionare e copiare nel buffer tmux (primi 3 passaggi) usando il mouse proprio come una selezione regolare (anche se l'evidenziazione non dura, seleziona ancora il testo) e quindi usa il seguente bind per copiare negli appunti x :
bind-key -n C-c run "tmux show-buffer | xclip -selection clipboard -i"
(Ho usato questo metodo per copiare questo testo ed è stato facile;)
si noti che -n
indica "nessun prefisso", pertanto non è necessario alcun escape. se non vieni confuso dall'evidenziazione finale, ciò è analogo alla normale copia (interfaccia utente comune).
questo è il migliore che ho inventato finora ..
EDIT2: si è scoperto che si ctrl+csovrappone alla cosa di interruzione del processo, quindi ho cambiato ctrl+alt+cper ora. (non mi è abbastanza piaciuto)
EDIT3: tmux 1.8 o più ha aggiunto il supporto per aggiungere le combinazioni di tasti in modalità copia, quindi ora la mia prima intenzione originale è possibile usando qualcosa come:
bind-key -tvi-copy y copy-pipe "xclip -selection clipboard -i"
bind-key -tvi-copy enter copy-pipe "xclip -selection clipboard -i"
Queste due associazioni rendono possibile copiare il testo negli Appunti quando l'ho usato entero yterminare la copia.
Continuo a mantenere questa linea nel caso in cui eseguissi la copia con il mouse e decidessi di ottenere il contenuto del buffer tmux negli appunti in seguito:
bind-key y run "tmux show-buffer | xclip -selection clipboard -i"
^c
il tasto di interruzione mentre lo uso più spesso della copia. Ho anche aggiornato la risposta per riflettere la mia attuale soluzione a questo problema.
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
dal vivo dà:Unknown command: run
bind-key C-c run "tmux show-buffer | xclip -selection clipboard -i"
funziona bene.
stty intr=^Z
. Fai attenzione con quel comando, è possibile impostare un carattere regolare come carattere di interruzione (se lo fai, usa ctrl-v per inserirlo fino a quando non risolvi l'impostazione). E non confonderti su quale tasto viene utilizzato (ad es. Ctrl-z è normalmente il tasto di sospensione).