การเลือกข้อความในโหมดคัดลอก Tmux


73

ฉันรัน Tmux ในโหมด Vi การนำทางเหมือน Vi ในโหมดการคัดลอกใช้งานได้ดี อย่างไรก็ตามฉันไม่สามารถเลือกข้อความใด ๆ ทั้ง v และ V ไม่เปลี่ยนเป็นโหมดการเลือกข้อความที่เหมือน Vi

ฉันพลาดอะไรไป

เป็นไปได้ไหมที่จะแสดงหมายเลขบรรทัดในโหมดถ่ายสำเนา?

PS: ฉันใช้ Tmux บน Mac OS ด้วย Z shell

คำตอบ:


90

คำตอบสั้น ๆ : ช่องว่างเริ่มต้นการเลือกและป้อนสำเนา

สำหรับการอ้างอิงในอนาคตฉันได้สิ่งนี้จากหน้า 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

อัปเดต: tmux list-keysคำสั่งจะแสดงรายการการเชื่อมโยงคีย์แบบกำหนดเองใด ๆ ที่คุณมี


70

คุณใช้สเปซบาร์สำหรับการเริ่มต้นของการเลือกและป้อนที่ส่วนท้าย

สำเนา:

  • Ctrlb[
  • Space
  • Enter

วาง:

  • Ctrlb]

1
นี่ควรเป็นคำตอบ มันสามารถปรับปรุงได้โดยการอธิบายการเข้า / ออกโหมดการคัดลอก
mcsilvio

2
เยี่ยมมากคำตอบสั้น ๆ เพียงแค่ทราบเพื่อน vi [M] สาวก: หากคุณกำลังใช้โปรแกรมแก้ไขกิริยาหรือบรรทัดคำสั่งที่คุณกำลังจะต้องการให้แน่ใจว่าคุณอยู่ในโหมดแทรกก่อนที่จะพยายามที่จะวางโดยใช้ Ctrl+b+]aformentioned เห็นได้ชัดในการหวนกลับ แต่ส่งฉันไปมาสองสามครั้งจนกระทั่งฉันสวม
JM Janzen

ฉันคิดว่าการจัดรูปแบบและความกระชับจะเป็นสิ่งที่ยอดเยี่ยมสำหรับส่วน "คำตอบสั้น ๆ " ในคำตอบของฉัน มีวิธีการรวมคำตอบที่ให้เครดิตที่เครดิตครบกำหนดหรือไม่
bluehavana

อืมม ... คิดต่อไปฉันเดาว่าคำตอบสองคำนั้นเหมาะสมกว่า
bluehavana

23

คุณยังสามารถตั้งค่าไฟล์. tmux.conf ของคุณโดยการเพิ่ม:

# 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

ซึ่งจะเปิดใช้งาน 'v' และ 'y' เพื่อเข้าสู่โหมดภาพและการคัดลอกเช่นในกลุ่ม

( ที่มา )


1
ฉันได้รับ "ไม่พบคำสั่ง: ผูกคีย์" ใน tmux 1.9a
Olivier Lalonde

โอ๊ะฉันใส่ไว้ใน. zshrc ของฉันโดยไม่ได้ตั้งใจ nvm :)
โอลิเวียร์ Lalonde

7
สิ่งนี้เปลี่ยนแปลงไปในเวอร์ชัน Tmux ที่ใหม่กว่า ได้แล้วbind-key -T copy-mode-vi ...
Steven Lu

21

upstream (2.4+) tmux เปลี่ยนวิธีผูกมัดสำหรับการเลือกเริ่มต้น ในการสร้างการเชื่อมโยงสำหรับ OP ที่ขอใช้-Tและ send-keys ด้วย-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

tmux copy-mode ของฉันหยุดทำงานอย่างสมบูรณ์และฉันไม่สามารถแก้ไขมันได้
GTF

tmuxการอัพเกรดแบ่งการกำหนดค่าของฉันบ่อยกว่าที่ฉันต้องการ ... :-(
Ciro Santilli 新疆改造中心法轮功六四事件

2

ฉันพบว่าเข้าสู่โหมด vi ได้อย่างง่ายดายเพื่อเป็นคอขวดของฉันซึ่งฉันใช้สิ่งต่อไปนี้:

setw -g mode-keys vi
set-window-option -g mode-keys vi  
unbind [
bind-key -n F2 copy-mode
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.