วิธีกำหนดเป้าหมายหลายตัวเลือกด้วย xclip


11

เมื่อคัดลอกข้อความไปยังคลิปบอร์ดxclipให้เป้าหมายการเลือกหลายอย่าง:

 -selection
    specify which X selection to use, options are:
    "primary" to use XA_PRIMARY (default), 
    "secondary" for XA_SECONDARY 
    "clipboard" for XA_CLIPBOARD

มีวิธีกำหนดเป้าหมายหลายตัวเลือกหรือไม่?

ฉันลองตัวเลือกต่อไปนี้แล้ว

  1. echo "Hello world" | xclip -i -selection primary -selection clipboard
  2. echo "Hello world" | xclip -i selection primary | xclip -i selection clipboard
  3. echo "Hello world" | xclip -i selection primary,clipboard

แต่ไม่มีใครทำงานเลย

คำตอบ:


16

ฉันลองตัวเลือกต่อไปนี้แล้ว

echo "Hello world" | xclip -i selection primary | xclip -i selection clipboard  

คุณอยู่ใกล้จริงๆ ...
ถ้าคุณใช้-fกับxclipคำสั่งแรกมันจะพิมพ์ข้อความกลับไปที่stdoutและคุณสามารถไพพ์ไปที่xclipคำสั่งที่สอง:

echo "Hello World" | xclip -i -sel p -f | xclip -i -sel c

จากman xclip:

-f, -filter
            when xclip is invoked in the in mode with output level set to
            silent (the defaults), the filter option will cause xclip to print
            the text piped to standard in back to standard out unmodified

ขอบคุณ! ฉันยอมรับโซลูชันนี้เพราะ: 1) มันแจ้งเกี่ยวกับคุณสมบัติที่น่าสนใจของ xclip 2) มันช่วยให้ฉันไปท่อxclipคำสั่งซึ่งมีความสะดวกมากและ 3) ด้วยเหตุผลบางอย่างที่แปลกก็เป็นเพียงคำตอบเพื่อให้ห่างไกลที่จะช่วยให้การแก้ปัญหาการทำงานในการทดลองของฉันสำหรับผลผูกพันcopy-pipeในtmux(นี่คือสิ่งที่กระตุ้นให้คำถามนี้)
เมลิโอ Vazquez-Reina

2
หาก distro ของคุณให้xselเป็นทางเลือกให้คุณสามารถใช้xclip echo 'Hello World' | xsel -i -p && xsel -o -p | xsel -i -bมันแตกต่างกันเล็กน้อยและมีประสิทธิภาพน้อยกว่าxclipเนื่องจากxselไม่มีตัวเลือกตัวกรอง แต่ถ้าคุณติดอยู่กับที่xselนี่เป็นวิธีแก้ปัญหา
starfry

5

ฉันไม่ได้ใช้xclipดังนั้นอาจมีวิธีการทำสิ่งนี้โดยกำเนิดซึ่งฉันไม่ทราบ ไม่ว่าในกรณีใด ๆ สิ่งนี้ควรใช้งานได้ถ้าสมมติว่าเชลล์ของคุณคือbash:

echo "Hello world" | tee >(xclip -i -selection primary) >(xclip -i -selection clipboard) >/dev/null

>()เป็นรูปแบบของการทดแทนกระบวนการ bashแทนที่แต่ละอันด้วยพา ธ ไปยังไฟล์ descriptor ซึ่งเชื่อมต่อกับอินพุตมาตรฐานของโปรแกรมภายในวงเล็บ


ขอบคุณ! คุณรู้หรือไม่ว่าไวยากรณ์นั้นเข้ากันได้กับzshหรือไม่
Amelio Vazquez-Reina

@ user815423426 เท่าที่ฉันรู้ใช่
Chris Down

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