Chọn văn bản trong chế độ sao chép Tmux


73

Tôi chạy Tmux ở chế độ Vi. Điều hướng giống như Vi trong chế độ sao chép hoạt động tốt. Tuy nhiên, tôi không thể chọn bất kỳ văn bản nào. Cả v và V đều không chuyển sang chế độ chọn văn bản giống Vi.

Tôi đang thiếu gì?

Nhân tiện, có thể hiển thị số dòng trong chế độ sao chép không?

PS: Tôi đang chạy Tmux trên Mac OS với Z shell

Câu trả lời:


90

Câu trả lời ngắn: không gian bắt đầu lựa chọn và nhập bản sao.

Để tham khảo trong tương lai, tôi đã nhận được điều này từ trang người đàn ông 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

Cập nhật: tmux list-keysLệnh cũng sẽ liệt kê bất kỳ ràng buộc khóa tùy chỉnh nào bạn có.


70

Bạn sử dụng thanh không gian cho phần đầu của lựa chọn và nhập cho phần cuối.

bản sao:

  • Ctrlb[
  • Space
  • Enter

dán:

  • Ctrlb]

1
Đây nên là câu trả lời. Nó có thể được cải thiện bằng cách giải thích vào / rời chế độ sao chép.
mcsilvio

2
Tuyệt vời, câu trả lời ngắn gọn. Chỉ là một lưu ý cho đồng nghiệp vi [m] neophyte: Nếu bạn đang sử dụng trình soạn thảo phương thức hoặc dòng lệnh, bạn sẽ muốn đảm bảo rằng bạn đang ở chế độ chèn trước khi thử dán bằng cách sử dụng đã nói ở trên Ctrl+b+]. Rõ ràng là nhìn lại, nhưng đã gửi cho tôi qua lại một vài lần cho đến khi tôi bông lên.
JM Janzen

Tôi nghĩ rằng định dạng và sự đồng nhất sẽ là một sự thay thế tuyệt vời cho phần "câu trả lời ngắn" trong câu trả lời của tôi. Có cách nào để kết hợp các câu trả lời cung cấp tín dụng khi tín dụng đáo hạn không?
bluehavana

hmm ... suy nghĩ xa hơn, tôi đoán hai câu trả lời là phù hợp hơn, chỉ muốn có điều này trên màn hình bằng cách nào đó.
bluehavana

23

Bạn cũng có thể thiết lập tệp .tmux.conf của mình bằng cách thêm:

# 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

sẽ cho phép 'v' và 'y' vào chế độ trực quan và sao chép, như trong vim.

( Nguồn )


1
Tôi đang nhận được "lệnh không tìm thấy: khóa liên kết" trong tmux 1.9a
Olivier Lalonde

Rất tiếc, tôi đã vô tình đưa nó vào .zshrc của mình, nvm :)
Olivier Lalonde

7
Những thứ này đã thay đổi trong các phiên bản Tmux mới hơn. Bây giờbind-key -T copy-mode-vi ...
Steven Lu

21

Thượng nguồn (2.4+) tmux đã thay đổi cách liên kết để bắt đầu lựa chọn. Để tạo ràng buộc cho những gì OP yêu cầu sử dụng -Tvà gửi khóa với -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

Chế độ sao chép tmux của tôi đã ngừng hoạt động hoàn toàn và tôi không thể giải quyết được, điều này đã khắc phục nó.
GTF

tmuxnâng cấp phá vỡ cấu hình của tôi thường xuyên hơn tôi muốn ... :-(
Ciro Santilli 新疆 心 心 事件

2

Tôi thấy việc vào chế độ vi dễ dàng là nút cổ chai mà tôi sử dụng như sau:

setw -g mode-keys vi
set-window-option -g mode-keys vi  
unbind [
bind-key -n F2 copy-mode
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.