PuTTY วิธีเลือกข้อความและคัดลอกข้อความโดยใช้คีย์บอร์ดเท่านั้น


75

มีวิธีใดบ้างในการเลือกข้อความด้วยแป้นพิมพ์ตามปกติโดยใช้ปุ่ม Shift + ลูกศร


ฉันคิดว่ามันเป็นไปไม่ได้ :(
ลูคัสโจนส์

ฉันไม่เข้าใจ Shift และลูกศรอยู่บนแป้นพิมพ์
สกอตต์

คำตอบ:


71

จากคู่มือ PuTTY :

การคัดลอกและวางของ PuTTY ใช้ได้กับเมาส์ทั้งหมด ในการคัดลอกข้อความไปยังคลิปบอร์ดคุณเพียงแค่คลิกปุ่มซ้ายของเมาส์ในหน้าต่างเทอร์มินัลแล้วลากเพื่อเลือกข้อความ เมื่อคุณปล่อยปุ่มข้อความจะถูกคัดลอกไปยังคลิปบอร์ดโดยอัตโนมัติ คุณไม่จำเป็นต้องกดCtrl- CหรือCtrl- Ins; ในความเป็นจริงถ้าคุณกดCtrl- C, PuTTY จะส่งCtrl- Cตัวอักษรลงเซสชั่นของคุณไปยังเซิร์ฟเวอร์ที่มันอาจจะทำให้กระบวนการถูกขัดจังหวะ


9
บรรทัดของฉันมีความยาว 24k อักขระ ฉันจะคัดลอกมันไปได้อย่างไร ฉันเห็นเฉพาะส่วนสุดท้ายของบรรทัดหรือส่วนแรกบนบัฟเฟอร์หน้าจอ
Gaʀʀʏ

@ Gaʀʀʏฉันรู้ว่าคุณได้ย้ายจากความคิดเห็นนี้ไปนานแล้ว แต่ฉันต้องการทราบว่าถ้าฉันมี 24k บรรทัดที่จะคัดลอกฉันคิดว่าตัวเลือก 'คัดลอกทั้งหมดไปยังคลิปบอร์ด' เป็นธรรม เป็นสิ่งที่ฉันเรียกว่าเคสแน่นอน
ฌอน Allred

@ Gaʀʀʏเพื่อเพิ่มการตอบกลับของ Sean การคัดลอกมาจากเทอร์มินัลบัฟเฟอร์และไม่ใช่จาก stdout สำหรับบรรทัดที่ยาวมาก ๆ แน่นอนว่ามีความเป็นไปได้ที่บรรทัดจะโอเวอร์โหลดบัฟเฟอร์เอง
ysap

3
Shift + Insert
phocks

26

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

http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/keyboard-copy.html

วิธีเดียวที่จะคัดลอกข้อมูลจากหน้าต่างโป๊วไปยังคลิปบอร์ดของ Windows ด้วยแป้นพิมพ์ลัดคือการใช้เมนูระบบแอป "คัดลอกทั้งหมดไปยังคลิปบอร์ด" (ซึ่งคุณสามารถเรียกใช้จาก alt-space ได้หากคุณตั้งค่า "หน้าต่าง> พฤติกรรม> เมนูระบบจะปรากฏขึ้นบนตัวเลือก ALT-Space "ที่กำหนดในแบบโป๊ว

วางจากคลิปบอร์ดเข้าไปฉาบสามารถทำได้ด้วย-ShiftInsert

หากคุณต้องการคัดลอกและวางเฉพาะภายในหน้าต่างเทอร์มินัลเองโปรดอ้างถึงหน้า man สำหรับเชลล์ที่คุณใช้หรือพิจารณาใช้แอพ "หน้าจอ" unix ('หน้าจอผู้ชาย' สำหรับข้อมูลเพิ่มเติม) ซึ่งช่วยให้สามารถเลือกข้อความได้ สำหรับการคัดลอก / วางภายในหน้าต่างเทอร์มินัล (คล้ายกับวิธีการคัดลอก / วางของ vi) ตัดตอนมาจากหน้าคน:

   C-a esc     (copy)        Enter copy/scrollback mode.

   C-a ]       (paste .)     Write the contents of the paste buffer to the
                             stdin queue of the current window.

   C-a {
   C-a }       (history)     Copy and paste a previous (command) line.

   C-a >       (writebuf)    Write paste buffer to a file.

   C-a <       (readbuf)     Reads the screen-exchange file into the paste
                             buffer.

   C-a =       (removebuf)   Removes the file used by C-a < and C-a >.

1
@xgMz - ทำงานได้ดีสำหรับฉัน น่าแปลกใจที่มีการยื่นตั๋วดังกล่าวเมื่อกว่า 13 ปีที่แล้วและยังไม่มีใครสนใจที่จะทำเช่นนั้น
ArtOfWarfare

ลิงก์ใช้งานได้ทันที
xgMz

24

control+ insert= คัดลอก

shift+ insert= วาง


2
ฉันไม่รู้ว่าทำไมสิ่งนี้จึงถูกลดระดับลง มันเป็นคำตอบเดียวที่เหมาะกับฉัน ฉันสามารถสร้างสคริปต์ AutoHotkey ที่คัดลอกข้อความจาก GVim ใน Windows แปะไปที่ Putty และเรียกใช้ในเซสชัน IPython แบบโต้ตอบ
rsoren

2
control+ insertดูเหมือนจะไม่ทำอะไรเลยอย่างแน่นอน shift+ insertวาง แต่
ArtOfWarfare

3
ตั้งแต่ปี 2559 มันใช้งานได้กับ Windows 7 และ Putty 0.63 อย่างไรก็ตามคำถามนี้รวมถึงการตั้งค่าตัวเลือกสำหรับการคัดลอกและ AFAICT
เริ่ม

3
@rsoren - OP ร้องขอแป้นพิมพ์เท่านั้น คำตอบนี้ต้องทำเครื่องหมายด้วยเมาส์ก่อน ตามคำตอบที่เลือกเมื่อทำเครื่องหมาย <Ctrl + Ins> จะถูกบอกเป็นนัย
ysap

ไม่ทำงานสำหรับฉันใน Windows 7
SherylHohman

3

เมื่อต้องการแก้ไขปัญหานี้เรียกใช้ฉาบในการเปลี่ยนคอนโซลของ Windows เช่นConEmuหรือSuperPutty


1
คุณจะทำสิ่งนี้ใน SuperPutty ได้อย่างไร
grokster

@sathya มันทำงานอย่างไร superputty มีอะไรมากกว่าสีโป๊ว?
alpha_989

@ Michael-Hampton .. ConEmu อนุญาตให้คุณวางจาก Windows Clipboard ไปยัง Windows Terminal โดยใช้แป้นพิมพ์เท่านั้นหรือไม่
alpha_989

2

ฉันใช้หน้าจอ GNU

ฉันมีสิ่งนี้ใน screenrc ของฉันเพื่อเล่นกับ vim:

register [ "\033:se paste\015a"
register ] "\033:se nopaste\015a\033"
bind ^] paste [.]

เพื่อนของฉันมีตะขอในหน้าจอเพื่อคัดลอก "คลิปบอร์ดหน้าจอ" หนึ่งหรือทั้งสองคลิปบอร์ด x (เลือกหรือคลิปบอร์ด) และฉันเชื่อว่าฉาบทำแปลที่จำเป็น ฉันจะพยายามขุดมันขึ้นมา

คุณอาจจัดเรียงสิ่งเดียวกันกับ xclip คาถาที่คุณกำลังมองหาควรใช้ xclip -selection clipboard

ฉันจะทดสอบอย่างรวดเร็วเพื่อดูว่าxclip -selection clipboard -oเนื้อหาในคลิปบอร์ดของคุณคายหรือไม่


ฉันหวังว่าสิ่งนี้จะทำงานใน PuTTY! ฉันเหนื่อย. มันบ่นเกี่ยวกับ "ไม่สามารถเปิดการแสดง"
Brian Peterson

การใช้xclipควรจะทำงาน ฉันใช้tmuxและxselคัดลอกจาก Puty โดยใช้แป้นพิมพ์ .. ฉันยังไม่ทราบวิธีการวางลงในเทอร์มินัล Windows ด้วยแป้นพิมพ์
alpha_989

2

นี่อาจเป็นวิธีแก้ปัญหามากกว่าวิธีแก้ไขปัญหา

ภายในกลุ่มหากคุณต้องการคัดลอกบล็อกที่คุณเลือกในโหมดภาพ (โดยปกติจะเป็นบล็อกที่มีหลายหน้า) คุณสามารถเขียนมันลงในไฟล์ (โดยพิมพ์:w filename.txtในขณะที่เลือกข้อความและขณะที่คุณยังอยู่ในโหมดภาพ ) เมื่อคุณทำสิ่งนั้นแล้วคุณสามารถ:

  1. เปิดไฟล์ในตัวแก้ไข Windows หากติดตั้งกับ Samba
  2. อ่านเนื้อหาไฟล์ผ่าน Apache หรือเซิร์ฟเวอร์ FTP
  3. ส่งอีเมลไฟล์เป็นไฟล์แนบ (ดูคำสั่งด้านล่าง - ต้องใช้ Mutt):

    echo "My Message Body" | mutt -s "my subject line" -a filename.txt -- recipient@email-server.com
    

ส่วนตัวฉันชอบตัวเลือก 1


2

อีกข้อเสนอแนะที่ค่อนข้างชั่วคราวคือการเปิดใช้งานปุ่มเมาส์ใน Windows ใน Windows 7 อยู่ภายใต้ศูนย์ความง่ายในการเข้าถึง

  1. คลิก "ทำให้เมาส์ใช้งานง่ายขึ้น"
  2. ทำเครื่องหมายในช่องที่ระบุว่า "เปิดใช้เม้าส์คีย์"
  3. คลิกที่ "ตั้งค่าคีย์เมาส์" สำหรับการตั้งค่าเพิ่มเติม

เริ่มต้นเมาส์คีย์ฮอตคือAlt+ + ShiftNumLock

หวังว่าการกดปุ่มชุดนี้จะไม่รบกวนการใช้งานของคุณ (หรือเพียงแค่Alt+ Tabออกและเปิดใช้งานจากภายนอกที่มีสีโป๊ว) ฉันเชื่อว่าการกดปุ่ม 0 บน numpad จะเป็นการเริ่มคลิกล็อคช่วยให้คุณสามารถลากส่วนของข้อความที่คุณต้องการเน้น / คัดลอก


2

ฉันเบื่อเลื่อนลงทีละบรรทัดผ่านปุ่มซ้ายของเมาส์เพื่อคัดลอกผลลัพธ์เซสชั่น แต่ตอนนี้ฉันต้องคลิกที่ปุ่มกลางสองครั้ง ครั้งแรกที่จุดเริ่มต้นและครั้งที่สองในตอนท้าย ฉันทำ:

  1. ไปที่หน้าต่าง Putty Configuration
  2. เลือก "การเลือก" จากหมวดหมู่ทางด้านซ้ายของหน้าต่าง
  3. ในส่วน 'ควบคุมการใช้เมาส์' ให้เลือก 'การประนีประนอม (ขยายตรงกลาง, วางด้านขวา)' หากยังไม่ได้เลือก

2
โปรดอ่านและทำความเข้าใจกับคำถามแล้วลองตอบคำถาม
Renju Chandran chingath

นี่เป็นวิธีที่ดีที่สุดในการเลือกและ Putty จะดูแลการทำสำเนา อย่างไรก็ตามในการคัดลอกข้อความมากกว่าหนึ่งหน้าจอฉันคิดว่าคุณน่าจะต้องใช้ cat แทน vi เลื่อนเคอร์เซอร์ไปเรื่อย ๆ
Noumenon

1

ทำงานในขณะนี้และ Putty ไม่สามารถให้คุณคัดลอกได้ด้วยคลิปบอร์ด

อย่างไรก็ตาม Putty สามารถอำนวยความสะดวกในการส่งข้อมูลย้อนกลับจากด้านระยะไกล หากคุณใช้เครื่องมือเช่น Vim หรือ Tmux เพื่อทำการเลือกข้อความตามคีย์บอร์ดคุณสามารถดัมพ์เอาต์พุตไปยังไฟล์และ (ออกเดทตัวเองที่นี่) netcat ไปยังช่องสัญญาณย้อนกลับของ putty reverse ไปยังบริการท้องถิ่นที่ทิ้งอินพุตไปยังโลคัล คลิปบอร์ด

ฉันทำวิดีโอเกี่ยวกับวิธีการทำที่นี่: https://www.youtube.com/watch?v=RI79eeCuyvEแต่นี่เป็นเวอร์ชั่นย่อ:

ตั้งค่า putty ของคุณ> การเชื่อมต่อ> SSH> tunnels เพื่อส่งต่อ R11311 ไปยัง localhost: 1234 ใช้ netcat เป็นเซิร์ฟเวอร์การรับฟังที่ส่งเอาต์พุตไปยังคำสั่ง clip 10 ของ windows ซึ่งส่งอินพุตไปยังคลิปบอร์ด windows ล้อมรอบสิ่งนี้ในนิรันดร์เพื่อวนซ้ำดังนี้:

for /L %N IN () do nc -lp 1234 | clip

เรียกใช้ข้างต้นในพรอมต์คำสั่งที่คุณเรียกใช้ในฐานะผู้ดูแลระบบเนื่องจากคุณกำลังเข้าร่วมพอร์ต

บนเซิร์ฟเวอร์ remote * nix คุณต้องใช้ vim หรือ Tmux เพื่อส่งการเลือกข้อความไปยังไฟล์

ใช้คำสั่งเพื่อส่งข้อความที่คุณเลือกไปยังไฟล์

tmux save-buffer ~/.clipboard

หรือคุณสามารถใช้ Vim เพื่อบันทึกบัฟเฟอร์ (ในกรณีนี้ z) ไปยังไฟล์

silent! redir! > ~/.clipboard
silent! echo @z
silent! redir END

ผมรวมเป็นกลุ่มและ tmux clipboards ใช้แฟ้ม .clipboard เป็นตัวกลางในการใช้ฟังก์ชั่นที่เป็นกลุ่มสำคัญ

เมื่อข้อความที่คุณเลือกอยู่ในไฟล์คุณสามารถไพพ์เอาต์พุตไปยังด้านรีโมตของพอร์ตไปข้างหน้า:

cat ~/.clipboard | nc 127.0.0.1 11311

หรือภายในสคริปต์ที่เป็นกลุ่ม

silent! !cat ~/.clipboard | nc 127.0.0.1 11311 &

โปรดทราบว่าเครื่องหมายแอมเปอร์แซนด์จำเป็นเพราะฉันไม่สามารถรับ-q 0ค่าสถานะของ netcat ให้ทำงานได้อย่างถูกต้อง บางทีคุณสามารถ หากไม่มีการทำงานก็จะรอหนึ่งวินาทีก่อนปิดซึ่งอาจทำให้การทำงานของคุณหยุดชะงัก ด้วยเครื่องหมายและจะละทิ้งกระบวนการทันทีซึ่งจะเสร็จสิ้นภายใน 1 วินาทีในพื้นหลัง

การดำเนินการทั้งหมดข้างต้นจะรวมคลิปบอร์ดไคลเอนต์ของ Tmux, Vim และ Local putty โดยไม่ต้องใช้เมาส์! นี่เป็นวิธีเดียวที่ฉันสามารถทำได้


นอกจากนี้หากคุณใช้สิ่งนี้สำหรับการวางหลายบรรทัดระหว่างระบบปฏิบัติการอย่าลืมแปลงระหว่างปลายสาย DOS / Unix
Troy Fletcher

-1

ถ้าคุณอยู่บนเครื่อง windows มันจะทำงานได้ดี แต่ถ้าในกรณีที่เครื่องที่ใช้ linux มันจะไม่ทำงาน เพื่อให้มันทำงานได้เพียงแค่คัดลอกเนื้อหาในเท็กซ์เอดิเตอร์ใด ๆ และเพียงแค่ใช้ปุ่ม Shift + Insert ที่บรรทัดที่คุณต้องการวาง

หวังว่านี่จะช่วยได้!

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