เลือก / คัดลอก / วางในเทอร์มินัลโดยใช้คีย์บอร์ดเท่านั้น


14

ฉันกำลังมองหาวิธีการเลือกคัดลอกและวางข้อความในเทอร์มินัลอย่างสมบูรณ์โดยไม่มีเมาส์

ฉันใช้มาtmuxจนถึงตอนนี้ แต่ฉันพบว่าชุดคีย์มีความซับซ้อนเล็กน้อยสำหรับการใช้งานคัดลอกและวางทุกวันและตอนนี้ฉันกำลังมองหาทางเลือกอื่น

พวกคุณมีข้อเสนอแนะหรือไม่?

เพื่อความชัดเจนนี่ไม่ได้เกี่ยวกับการไพพ์ไปยังคลิปบอร์ด แต่เกี่ยวกับการเลือกข้อความตามที่เป็นไปได้เช่นtmux!


ดูคำตอบของฉันที่นี่: askubuntu.com/a/756348/295286 ฉันได้ทำฟังก์ชั่นที่จะคัดลอกข้อความที่อยู่ข้างหน้าไปยังคลิปบอร์ด ใช้งานได้สำหรับการคัดลอกคำสั่ง สำหรับผลผลิตนั้นจะต้องมีการวางท่อ
Sergiy Kolodyazhnyy

1
โอเคสิ่งนี้ไม่มีอะไรเกี่ยวข้องกับ stdout- มันเกี่ยวกับการเลื่อนเคอร์เซอร์ไปที่ข้อความที่พิมพ์ก่อนหน้าบางอันเลือกมันแล้วคัดลอก / วางไปยังบรรทัดอินพุตปัจจุบันในเทอร์มินัล: -D ขออภัยที่ไม่ชัดเจน
มอร์เทน

วิธีที่ดีที่สุดในการเพิ่มข้อมูลเพิ่มเติมในคำถามของคุณคือการแก้ไขด้วยปุ่มแก้ไข จะเห็นได้ชัดกว่าวิธีนั้นและความคิดเห็นส่วนใหญ่มีไว้เพื่อวัตถุประสงค์รองชั่วคราว ความคิดเห็นจะถูกลบภายใต้สถานการณ์ที่หลากหลาย สิ่งที่สำคัญสำหรับคำถามของคุณควรอยู่ในคำถามนั้น
guntbert

คำตอบ:


3

พิจารณาxclipซึ่งเป็นอินเตอร์เฟซบรรทัดคำสั่งไปยังคลิปบอร์ด X, sudo apt-get install xclipและสามารถใช้ได้กับ

คุณอาจสังเกตเห็นว่าใน Ubuntu หากคุณเลือกข้อความบางส่วนแล้วกดปุ่มกลางของเมาส์ข้อความนั้นจะถูกวางลงในสิ่งที่อินพุตอยู่ในโฟกัส xclipขอลงไปตรงนั้นดังนั้นถ้าคุณเรียกใช้seq 10 | xclip -iเมาส์ตรงกลางคุณจะวางหมายเลข 1 ถึง 10 ถ้าคุณเลือกชื่อผู้ใช้ของฉันแล้วxclip -o | cowsayคุณจะได้รับวัวพูดคำว่า "ymbirtt"


3
ฉันประหลาดใจที่คำตอบนี้ได้รับการยอมรับ @morten ชี้เฉพาะว่านี้ไม่เกี่ยวกับท่อไปยังคลิปบอร์ด tmuxแต่เกี่ยวกับการเลือกข้อความที่เป็นไปได้ในการเช่น ดูเหมือนว่ามีคำตอบจาก @daisy และ @ blue112
ตาด Lispy

1
@ TadeuszŁazurskiดังนั้นฉันเป็นอย่างสุจริต xclipเป็นเครื่องมือที่ดีจริงๆที่เติมเต็มคำตอบที่มีอยู่ แต่ผมไม่แน่ใจว่ามันเป็นคำตอบ
ymbirtt

10

ฉันมักจะใช้Ctrl+ Shift+ CและCtrl+ Shift+ Vเพื่อคัดลอกและวางในเทอร์มินัล (ไม่ใช่ tmux) ของฉัน
คุณสามารถเปลี่ยนแป้นพิมพ์ลัดเหล่านี้ในการตั้งค่าแป้นพิมพ์ของเทอร์มินัล (ไม่ใช่ tmux)

แต่ถ้าคุณต้องการที่จะให้ใช้ tmux คุณยังสามารถเปลี่ยนแป้นพิมพ์ลัดของ tmux ~/.tmux.confโดยการเพิ่มคำสั่งไปยัง เพียงเพิ่มสิ่งต่อไปนี้ในไฟล์นั้น:

bind-key -n [shortcut. for example Ctrl+v is C-v] [what you want to do. for example 'new-window' etc]

มันจะมีลักษณะเช่นนี้

bind-key -n C-t new-window

คุณไม่จำเป็นต้องมีคีย์คำนำหน้าคำสั่งเพื่อดำเนินการคำสั่งใน~/.tmux.confไฟล์

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งต่าง ๆ ที่มีให้~/.tmux.confตรวจสอบลิงค์นี้

การคัดลอกและการวางพื้นฐานอย่างมากสามารถทำได้โดยใช้สิ่งนี้ แต่เพื่อประโยชน์เพิ่มเติมอีกเล็กน้อยฉันขอแนะนำให้ใช้การตั้งค่าการคัดลอก / วางสไตล์ Vim
การเปิดใช้งานเป็นกลุ่มแบบของการคัดลอก / วางที่สามารถทำได้ด้วยไฟล์ config นี้หรือไฟล์ config อีก อย่างไรก็ตามสิ่งเหล่านี้ต้องการการใช้คีย์คำนำหน้า
มีคนทำส่วนขยาย tmuxเพื่อทำให้การดำเนินการคัดลอก / วางไปยังคลิปบอร์ดของระบบใน tmux ง่ายขึ้น มันอาจจะคุ้มค่าดู

หากคุณต้องการทางเลือกสำหรับ Tmux คุณอาจลอง dvtm ( sudo apt-get install dvtm dtach) ฉันไม่ได้ใช้ด้วยตัวเอง แต่ดูเหมือนว่ามีตัวเลือกที่คล้ายกัน


4

หากต้องการคัดลอกใช้Ctrl+ Shift+C

หากต้องการวางใช้Ctrl+ Shift+ VหรือShift+insert

อีกวิธีในการทำสิ่งนี้:

คำสั่งเรียกใช้ครั้งแรกscreenหลังจากนั้นสามารถทำตามขั้นตอนต่อไปนี้:

  • กดCtrl+ a+ Escมันจะทำให้หน้าจออยู่ในโหมดคัดลอก
  • ตอนนี้เลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นของส่วนเพื่อคัดลอกและกด Enter
  • จากนั้นเลื่อนเคอร์เซอร์ไปที่ท้ายส่วนเพื่อคัดลอกและกด Enter
  • ตอนนี้กดCtrl+ a+ ]เพื่อวาง

5
เยี่ยมมาก แต่ต้องคัดลอกสิ่งที่คุณต้องเลือกก่อน คุณจะเลือกข้อความโดยไม่ใช้เมาส์ได้อย่างไร
Ponytech

1
@Ponytech ฉันพยายามทำใน gnome-terminal โดยไม่เรียกใช้คำสั่งใด ๆ เช่นscreen แต่ฉันทำไม่ได้
เดซี่

การใช้หน้าจอเป็นวิธีเดียวที่ฉันค้นพบ ขอบคุณสำหรับการอัปเดต
Ponytech

2

คุณสามารถใช้screenโหมดการเลือก

เข้าสู่เซสชันหน้าจอโดยใช้screenคำสั่ง

จากนั้นใช้Ctrl+ aและEscเพื่อเข้าสู่โหมดการเลือก

จากนั้นคุณสามารถเลื่อนเคอร์เซอร์ของคุณเลือกใช้ข้อความบางส่วนspaceออกจากโหมดการเลือกและวางมันเมื่อคุณต้องการด้วยCtrl+ และa]

ข้อมูลเพิ่มเติมที่นี่: http://web.mit.edu/gnu/doc/html/screen_11.html

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