เป็นกลุ่มและคลิปบอร์ดระบบ


9

ฉันสามารถ cat ไฟล์คัดลอกและวางข้อความด้วยปุ่มกลางหรือ shift-insert

ฉันจะคัดลอกข้อความเป็นกลุ่มและวางจากคลิปบอร์ดของระบบได้อย่างไร


บางครั้งฉันก็ใช้sed -n5,10pในการพิมพ์บรรทัดที่ 5-10 เพื่อให้ฉันสามารถคัดลอกและวางได้ง่ายขึ้นโดยไม่มีการโต้ตอบกับเมาส์
grantbow

ที่จริงจากภายในเป็นกลุ่มคำสั่งดูเหมือน:!sed -n 5,10p %
Grantbow

ขอบคุณสำหรับความคิดเห็นและคำตอบทั้งหมด xclip มีประโยชน์บ้างในบางครั้งขอบคุณ @ sergiy-kolodyazhnyy เมื่อฉันทำงานกับเครื่องที่แตกต่างกันบางครั้งฉันไม่สามารถควบคุม vim ที่ติดตั้งไว้ได้ แต่การมีคำแนะนำในการตรวจสอบคำตอบของ @muru จะเป็นประโยชน์ขอบคุณ @ ashutosh-tripathy ฉันจำเป็นต้องใช้คำสั่ง vim register บ่อยครั้งขึ้นเพื่อจดจำพวกเขาเมื่อฉันต้องการ ดังที่ฉันกล่าวถึงในคำถามข้างต้นถ้าฉันต้องการที่จะทำมันได้อย่างรวดเร็วและไฟล์มีขนาดเล็กคำสั่งในกลุ่มดูเหมือนว่า:!cat %
Grantbow

คำตอบ:


12

คุณจำเป็นต้องมีเป็นกลุ่มที่มีclipboardและxtermclipboardคุณสมบัติในการรวบรวม. ใน Ubuntu เหล่านี้จะใช้ได้เฉพาะกับแพคเกจที่เป็นกลุ่ม GUI ( vim-gnome, vim-gtk, vim-athenaฯลฯ )

เมื่อคุณติดตั้งหนึ่งในสิ่งเหล่านี้คุณสามารถคัดลอกไปยัง (และวาง) คลิปบอร์ดลงทะเบียน ( *และ+) จากโพสต์ข้อมูลนี้มากในVi และ Vim :

สำหรับระบบที่ใช้X11 (เช่นLinuxและระบบอื่น ๆ ที่คล้ายกับUNIX ) มี 2 บอร์ดคลิปบอร์ดซึ่งเป็นอิสระจากกัน:

  • หลัก - นี่คือการคัดลอกเลือกและสามารถวางด้วยปุ่มกลางของเมาส์
  • คลิปบอร์ด - สิ่งนี้ถูกคัดลอกด้วย (โดยปกติ) ^Cและวางด้วย^V(เหมือน MS Windows)

Vim มีการลงทะเบียนพิเศษ 2 รายการที่สอดคล้องกับคลิปบอร์ดเหล่านี้:

  • *ใช้หลัก ช่วยในการจำ: s tar คือs elect (สำหรับ copy-on- s elect)
  • +ใช้ CLIPBOARD; ตัวช่วยจำ: CTRL + C (สำหรับการโยงคีย์ทั่วไป)

ในการคัดลอกไปยังรีจิสเตอร์คุณจะต้องใช้คำสั่ง copy ( y) พร้อมกับ"ชื่อของรีจิสเตอร์ ( *ตัวอย่างเช่น) "*yจากนั้นคลิกกลางเพื่อวางหรือ"+yและShiftInsertเพื่อวาง


3

วิธีการแก้ปัญหาที่น่าสนใจมากมาจากนี้คำถาม ติดตั้ง xclip จากนั้นส่งออกไพพ์ของคำสั่งไปยัง xclip ( cat file | xclip -selection clipboardเช่น) แล้ววางที่ใดก็ได้ (ถ้าอยู่ในเทอร์มินัล - ใช้Ctrl ShiftV ) ทีนี้กลับกลายเป็นว่าคุณสามารถย่อคำสั่งนั้นให้สั้นลงxclip -sel clipซึ่งไม่ชัดเจนจากการอ่าน man man หรือตัวอย่างที่นั่น


2
อีกวิธีคือถ้าคุณใช้หน้าจอหรือ tmux พร้อมกับปลั๊กอินนี้ ไม่ว่าในกรณีใดจะต้องมีการติดตั้ง
muru

คลิปบอร์ดจริงที่ใช้ในเซิร์ฟเวอร์ x คืออะไร ฉันไม่พบอะไรเลย/devแต่ข้อความยังคงอยู่ที่ใดที่หนึ่งใช่ไหม
Sergiy Kolodyazhnyy

ฉันคิดเสมอว่ามันจะอยู่ในความทรงจำ ที่ดูเหมือนว่าเป็นคำถามที่ดีสำหรับUnix และ Linuxแม้ว่า
muru

3

ฉันมีปัญหาเพราะกลุ่มของฉันไม่สนับสนุนคลิปบอร์ด :

vim --version | grep clip
-clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      -mouseshape      +startuptime     -xterm_clipboard

ฉันติดตั้ง vim-gnome (ซึ่งรองรับคลิปบอร์ด) จากนั้นตรวจสอบอีกครั้ง:

vim --version | grep clipboard
+clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      +mouseshape      +startuptime     +xterm_clipboard

ตอนนี้ฉันสามารถคัดลอกและวางโดยใช้ "+ y และ" + p ตามลำดับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.