วิธีคัดลอกข้อความจากบรรทัดคำสั่งไปยังคลิปบอร์ดโดยไม่ต้องใช้เมาส์?


10

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

Ctrl+a - เลื่อนไปที่จุดเริ่มต้นของบรรทัด

Ctrl+k - ตัดทั้งเส้น

Ctrl+y - ดึงข้อความที่ตัดกลับมา

หรือฉันสามารถใช้Ctrl+uเพื่อดำเนินการ 2 ขั้นตอนแรก

แน่นอนว่ามันใช้งานได้ แต่ฉันพยายามหาว่าข้อความที่ถูกตัดนั้นถูกเก็บไว้ตรงไหน มีวิธีการเข้าถึงโดยไม่ใช้Ctrl+yหรือไม่? ฉันรู้xclipและฉันยังใช้มันเพื่อส่งข้อความตรงไปยังคลิปบอร์ดดังนั้นฉันจึงคิดว่าจะบีบอัดข้อมูลที่บันทึกไว้โดยCtrl+kไปที่xclipแต่ไม่แน่ใจว่าจะทำอย่างไร

วิธีการที่ผมได้รับเพื่อให้ห่างไกลคือการเขียนสคริปต์ที่ใช้xdotoolในการเพิ่มechoจุดเริ่มต้นของบรรทัดและ| zxcไปยังจุดสิ้นสุดของเส้นแล้วฮิตใส่ ( zxcเป็นนามแฝงที่กำหนดเองซึ่งโดยทั่วไปท่อxclip) วิธีนี้ใช้ได้ผล แต่ก็ไม่ใช่วิธี "สะอาด" จริงๆ

ฉันใช้ Cshell ถ้ามันสร้างความแตกต่าง

แก้ไข: ฉันไม่ต้องการใช้screenเป็นวิธีการแก้ปัญหาลืมที่จะพูดถึงว่า

ขอบคุณ!


ไม่เกี่ยวข้อง แต่ก็รู้ดี: Shift-Ins วางส่วนที่เลือกใน xterm หากคุณไม่เพียง แต่ต้องการตัดข้อความ แต่วางด้วย
dirkt

คำตอบ:


7

หากใช้xtermหรือดัดแปลงคุณสามารถตั้งค่าการเชื่อมโยงคีย์เพื่อเริ่มต้นและสิ้นสุดการเลือกข้อความและบันทึกเป็นการเลือกหลัก X11 หรือ cutbuffer man xtermดู ตัวอย่างเช่นเพิ่มใน~/.Xdefaults:

XTerm*VT100.Translations: #override\n\
    <Key>KP_1: select-cursor-start() \
            select-cursor-end(PRIMARY, CUT_BUFFER0)\n\
    <Key>KP_2: start-cursor-extend() \
            select-cursor-end(PRIMARY, CUT_BUFFER0)\n

คุณมีได้เพียงหนึ่งXTerm*VT100.Translationsรายการเท่านั้น อัพเดทเซิร์ฟเวอร์ X11 xrdb -merge ~/.Xdefaultsกับเนื้อหาของแฟ้มใหม่ที่มี xtermเริ่มต้นใหม่

ตอนนี้เมื่อคุณมีอินพุตที่พรอมต์คำสั่งการพิมพ์1บนแป้นพิมพ์ตัวเลขจะเริ่มเลือกข้อความที่ตำแหน่งเคอร์เซอร์ข้อความปัจจุบันเหมือนกับปุ่มที่ 1 บนเมาส์ เลื่อนเคอร์เซอร์ด้วยปุ่มลูกศรจากนั้นกด2ปุ่มตัวเลขและข้อความที่แทรกอยู่จะถูกเน้นและคัดลอกไปยังตัวเลือกหลักและ cutbuffer0 เห็นได้ชัดว่าสามารถเลือกคีย์และการกระทำที่เหมาะสมกว่านี้ได้ insert-selection(PRIMARY)ในทำนองเดียวกันคุณสามารถวางเลือกกับการผูกเช่น


มันเยี่ยมมาก! ฉันไม่รู้ว่าคุณสามารถทำสิ่งนี้ได้ มีประโยชน์มาก ๆ ! เป็นไปได้ไหมที่จะใช้มันใน konsole?
Sancho Pancho

2
ฉันดูคู่มือของ konsole อย่างรวดเร็ว แต่ไม่ได้พูดถึงการควบคุมแบบนี้ ไม่น่าเป็นไปได้ที่คุณจะพบสิ่งนี้ในตัวจำลองเทอร์มินัลส่วนใหญ่เนื่องจากพวกเขาต้องการให้การตั้งค่าที่ง่ายต่อการจัดการผ่านเมนูและกล่องโต้ตอบ
meuh

translationsทรัพยากรเป็นคุณลักษณะ X Toolkit พาดพิงถึงที่นี่และมีที่มีคู่อยู่ในชุดเครื่องมืออื่น ๆ อย่างไรก็ตามคุณสามารถสลับระหว่างชุดการแปลโดยใช้keymapคุณสมบัตินี้ (สังเกตความคิดเห็นเกี่ยวกับ "คุณมีได้เพียงหนึ่งชุด")
Thomas Dickey

ขอบคุณสำหรับความคิดเห็นทั้งหมด ยังไม่ทราบข้อมูลเกี่ยวกับคลิปบอร์ด ctrl-k / ctrl-y ไม่มีใครรู้วิธีการเข้าถึงหรือบันทึกข้อความที่ตัดไว้ที่ไหน
Sancho Pancho

@SanchoPancho ขึ้นอยู่กับ csh ของคุณมันใช้ kill-ring ภายในที่เก็บข้อความที่ตัดไว้ ฉันไม่คิดว่าคุณมีสิทธิ์เข้าถึงแหวนนี้อีก เห็นคน csh
เม.ย. 9'17
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.