Zaznaczanie tekstu w trybie kopiowania Tmux


73

Uruchamiam Tmux w trybie Vi. Nawigacja podobna do Vi w trybie kopiowania działa dobrze. Nie mogę jednak wybrać żadnego tekstu. Ani v, ani V nie przełączają się do trybu zaznaczania tekstu podobnego do Vi.

czego mi brakuje?

Nawiasem mówiąc, czy możliwe jest wyświetlanie numerów linii w trybie kopiowania?

PS: Używam Tmux na Mac OS z powłoką Z.

Odpowiedzi:


90

Krótka odpowiedź: spacja rozpoczyna wybór i wprowadza kopie.

Do przyszłego użytku otrzymałem to ze strony man 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

Aktualizacja: tmux list-keyspolecenie wyświetli również listę wszystkich niestandardowych powiązań klawiszy.


70

Użyj spacji na początku zaznaczenia i wprowadź na końcu.

Kopiuj:

  • Ctrlb[
  • Space
  • Enter

pasta:

  • Ctrlb]

1
To powinna być odpowiedź. Można to poprawić, wyjaśniając wejście / wyjście z trybu kopiowania.
— mcsilvio,

2
Świetna, krótka odpowiedź. Uwaga dla innych vi [m] neofitów: Jeśli używasz modalnego edytora lub wiersza poleceń, będziesz chciał się upewnić, że jesteś w trybie wstawiania przed próbą wklejenia przy użyciu wspomnianego wyżej Ctrl+b+]. Oczywiste z perspektywy czasu, ale wysyłało mnie kilka razy tam iz powrotem, aż się bawiłem.
— JM Janzen,

Myślę, że formatowanie i zwięzłość byłyby świetnym zamiennikiem części „krótkiej odpowiedzi” w mojej odpowiedzi. Czy istnieje sposób na połączenie odpowiedzi, które dają kredyt tam, gdzie należy się kredyt?
— bluehavana

hmm ... myśląc dalej, wydaje mi się, że dwie odpowiedzi są bardziej odpowiednie, po prostu chciałbym mieć to jakoś powyżej zakładki.
— bluehavana

23

Możesz również skonfigurować plik .tmux.conf, dodając:

# 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

który pozwoli „v” i „y” wejść w tryb wizualny i kopiować, jak w vimie.

( Źródło )


1
Dostaję komunikat „nie znaleziono polecenia: klucz wiążący” w tmux 1.9a
— Olivier Lalonde

Ups, przez przypadek umieściłem go w .zshrc, nvm :)
— Olivier Lalonde,

7
Te rzeczy zmieniły się w nowszych wersjach Tmux. Terazbind-key -T copy-mode-vi ...
— Steven Lu,

21

Upstream (2.4+) tmux zmienił sposób wiązania w celu rozpoczęcia wyboru. Aby utworzyć powiązanie dla tego, o co OP prosi, użyj -Ti wyślij klucze za pomocą -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

Mój tryb kopiowania tmux właśnie przestał działać całkowicie i nie mogłem go rozwiązać, to naprawiło.
— GTF,

tmuxaktualizacje łamią moje konfiguracje częściej niż chciałbym ... :-(
— Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

2

Uważam, że przejście do trybu vi jest moim wąskim gardłem, do którego używam:

setw -g mode-keys vi
set-window-option -g mode-keys vi  
unbind [
bind-key -n F2 copy-mode
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.