คัดลอกวางใน Bash บน Ubuntu บน Windows


184

วิธีการดำเนินการคัดลอกวางจาก Windows 10 เพื่อ Bash บน Ubuntu บนสภาพแวดล้อม Windows?

ฉันพยายามต่อไปนี้:

  • ctrl+ shift+v
  • คลิกขวาเพื่อวาง

ข้อเสนอแนะใด ๆ


3
ฉันอัปเดตคำถามเพื่อให้คุณสามารถเข้าใจได้ ... เป็นเรื่องเกี่ยวกับทุบตี Ubuntu ใหม่บน windows
Ghassan Zein

1
เทอร์มินัลของคุณคืออะไร?
เกล็นแจ็

9
พวกคุณพลาดอะไรไป: การปรับปรุง Windows Anniversary 10 มี ubuntu bash ใหม่มาด้วยดังนั้นโปรดอ่านเกี่ยวกับมันแล้วคุณจะเข้าใจคำถาม เทอร์มินัลของฉันคือ UBUNTU BASH ON WINDOWS!
Ghassan Zein

3
ควรเปิดใหม่ จากBash บน Ubuntu บน Windows 'เกี่ยวกับ' หน้า [focus Mine]: "Bash บน Windows ให้นักพัฒนาได้คุ้นเคยกับ Bash shell และ Linux ... "
Kenny Evitt

1
ในฐานะที่เป็นของของ Windows "ผู้สร้าง Update"คุณควรจะสามารถที่จะคัดลอกไปที่คลิปบอร์ดโดยท่อไปเช่นclip.exe echo "Blah blah blah" | clip.exe
Kenny Evitt

คำตอบ:


162

ปรับปรุง 2019/04/16:ดูเหมือนคัดลอก / วางอยู่ในขณะนี้สนับสนุนอย่างเป็นทางการใน Windows สร้าง> = 17643. ลองดูที่คำตอบที่อุดมไปด้วยอร์เนอร์ สามารถเปิดใช้งานผ่านเมนูการตั้งค่าเดียวกับที่อธิบายไว้ด้านล่างโดยคลิกที่ช่องทำเครื่องหมายถัดจาก "ใช้ Ctrl + Shift + C / V เป็นคัดลอก / วาง"


วิธีแก้ปัญหาอื่นก็คือเปิดใช้งาน "โหมด QuickEdit" จากนั้นคุณสามารถวางโดยคลิกขวาในเทอร์มินัล

ในการเปิดใช้งานโหมด QuickEdit ให้คลิกขวาที่แถบเครื่องมือ (หรือคลิกที่ไอคอนที่มุมซ้ายบน) เลือกคุณสมบัติและในแท็บตัวเลือกคลิกช่องทำเครื่องหมายถัดจากโหมด QuickEdit

เมื่อเปิดใช้งานโหมดนี้คุณสามารถคัดลอกข้อความในเทอร์มินัลได้ด้วยการคลิกและลาก เมื่อเลือกแล้วคุณสามารถกด Enter หรือคลิกขวาเพื่อคัดลอก


1
ฉันไม่ทราบว่าการคลิกขวาวางอย่างถูกต้องในทันที ... ฉันคาดหวังว่าจะเห็นเมนูบริบทปรากฏขึ้นพร้อมตัวเลือก
RSmithlal

2
หลังจากใช้ปุ่มซ้ายของเมาส์เพื่อเลือกข้อความฉันต้องคลิกขวาสองครั้งเพื่อให้ข้อความวาง
เฟลิเป้อัลวาเรซ

4
ใช่ .. การคลิกเมาส์ใช้งานได้หรือไม่มีวิธีการในการใช้แป้นพิมพ์เท่านั้น (การเลือกและวาง) นั่นคือจุดของการใช้ VIM / UBUNTU / Shell หลังจากทั้งหมด
alpha_989

5
ดังนั้นไม่มีวิธีวางด้วยคีย์บอร์ดหรือไม่
qwertzguy

2
@FelipeAlvarez คุณต้องคลิกขวาหนึ่งครั้งเพื่อวาง ครั้งแรกที่คุณคลิกขวาคุณกำลังคัดลอกข้อความ โปรดอ่านคำตอบให้ละเอียดยิ่งขึ้น เป็นเวลานานแล้วที่ฉันใช้ Bash บน Ubuntu บน Windows แต่ไม่พบวิธีการเปิดใช้งานการคัดลอก / วางด้วยแป้นพิมพ์
chipit24

49

ในการรับคลิกขวาเพื่อวางเพื่อทำงาน:

  • คลิกขวาที่แถบหัวเรื่อง> คุณสมบัติ
  • แท็บตัวเลือก> แก้ไขตัวเลือก> เปิดใช้งาน QuickEdit Mode

ป้อนคำอธิบายรูปภาพที่นี่


1
คุณช่วยให้ชัดเจนว่าโหมดแทรกคืออะไร?
alpha_989

1
@ alpha_989 แทรกโหมดแทรกข้อความที่เคอร์เซอร์ (และดันอักขระที่ตามมาไปทางขวา) แทนที่จะเขียนทับอักขระทางด้านขวาของเคอร์เซอร์ โหมดแทรกเป็นโหมดเริ่มต้นที่คนส่วนใหญ่คาดหวัง จากการทดสอบดูเหมือนว่าจะไม่เคารพการตั้งค่านี้ใน WSL ฉันไม่ได้เลือกมัน แต่มันก็ยังแทรกอยู่มากกว่าที่จะเขียนทับ
jaredlt

30

ตกลงมันได้รับการพัฒนาในที่สุดและตอนนี้คุณสามารถใช้Ctrl+ Shift+ C/Vเพื่อคัดลอก / วางได้ใน Windows 10 Insider build # 17643

คุณจะต้องเปิดใช้งานตัวเลือก"ใช้ Ctrl + Shift + C / V เป็นคัดลอก / วาง"ในหน้าคุณสมบัติคอนโซล "ตัวเลือก":

ป้อนคำอธิบายรูปภาพที่นี่

อ้างอิงในblogs.msdn.microsoft.com/


5
2018 ที่นี่ไม่เห็นสิ่งนี้ในการผลิต (หน้าต่างเต็ม 10 พร้อมอูบุนตูจากแอพสโตร์) ถอนหายใจ
ระเบียบวิธีลงชื่อเข้าใช้

คุณจะรู้ได้อย่างไรว่า Windows กำลังสร้างอะไรอยู่ ฉันไม่เห็นตัวเลือกนี้
ทอดด์อิสระ

2
พิมพ์ Run / Start, winver@methodsignature
αғsнιη

1
ตามโพสต์บล็อกข้างต้นการจัดส่งครั้งแรกนี้ใน Win10 Insider สร้าง 17643 และจะรวมอยู่ในฤดูใบไม้ร่วง 2018 อัปเดตการจัดส่งสินค้า "เร็ว ๆ นี้" ™;)
Rich Turner

1
@methodsignature พบคุณลักษณะนี้ใน Windows 10 (1809) ลองอัปเดต windows ของคุณทันที
Nafeez Abrar

19

เมื่อไม่นานมานี้เรารู้สึกตื่นเต้นที่จะประกาศว่าในที่สุดเราก็ใช้การคัดลอกและวางการสนับสนุนสำหรับอินสแตนซ์ Linux / WSL ใน Windows Consoleผ่านCTRL+ SHIFT+ [ C|V]!

คุณสามารถเปิดใช้งาน / ปิดใช้งานคุณลักษณะนี้ในกรณีที่คุณพบว่าแป้นพิมพ์ชนกับแอพบรรทัดคำสั่ง แต่สิ่งนี้จะเริ่มทำงานเมื่อคุณติดตั้งและเรียกใช้ Win10 builds ใด ๆ > = 17643

คุณสมบัติคอนโซลใหม่แสดงตัวเลือก CTRL + SHIFT + C / V

ขอบคุณสำหรับความอดทนของคุณในขณะที่เราได้ออกแบบ internals ของคอนโซลอีกครั้งเพื่อให้คุณลักษณะนี้ทำงาน :)


1
ฉันจะตรวจสอบเวอร์ชั่นบิลด์ปัจจุบันของฉันและบังคับให้อัปเดตได้อย่างไรถ้าฉันไม่เห็นสิ่งนี้
Jacob Goulden

2
หากต้องการค้นหารุ่น Windows ปัจจุบันของคุณให้เรียกใช้winverจากกล่องโต้ตอบเรียกใช้หรือบรรทัดคำสั่ง ในการเข้าถึงคุณลักษณะเหล่านี้และคุณลักษณะอื่น ๆ ก่อนที่จะถูกสร้างขึ้นคุณจะต้องลงชื่อสมัครใช้ Windows Insider Program รายละเอียดที่นี่: insider.windows.com/en-us
Rich Turner

@ RichTurner ขอบคุณสำหรับสิ่งนี้ - ฉันรู้ว่ามีคุณสมบัติอยู่ แต่พบว่ามันยากมากที่จะเห็นหมายเลขรุ่นขั้นต่ำที่แนบมา ดูเหมือนว่าฉันจะต้องอัปเกรดได้รับการเข้าถึง :)
เอียนคลาร์ก

1
@NafeezAbrar - โพสต์บล็อกเริ่มต้นด้วย "ในฐานะของ Windows 10 Insider บิลด์ # 17643" - 1803 ถูกสร้าง 17682 คุณลักษณะนี้จะจัดส่งในบิลด์> = 17643 ซึ่งนำไปสู่รีลีสทั่วไปในการอัปเดต Windows 10 Fall 2018
Rich Turner

1
@Nafeez Abrar: ดีใจที่ได้ยิน ขอขอบคุณที่แจ้งให้เราทราบ :)
Rich Turner

17

คุณสามารถใช้ AutoHotkey (แอปพลิเคชันบุคคลที่สาม) คำสั่งด้านล่างใช้ได้ดีกับข้อความตัวอักษรและตัวเลขธรรมดาอย่างไรก็ตามอักขระอื่น ๆ เช่นบางอย่าง=^"%#!จะพิมพ์ผิดในคอนโซลเช่น bash หรือ cmd (ในหน้าต่างที่ไม่ใช่คอนโซลใด ๆ คำสั่งนี้ทำงานได้ดีกับตัวละครทั้งหมด)

^+v::SendRaw %clipboard%

ฉันพยายามใช้^#vเป็นCtrl+Shift+Vแต่มันไม่ได้ทำงานเพราะยืน^#v Ctrl+WinKey+Vคุณควรใช้ซึ่งย่อมาจาก^+v Ctrl+Shift+V
ผู้ใช้

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

1
ฉันกำลังใช้+Insเพราะ^+vชนกับโปรแกรมใด ๆ ที่ใช้สิ่งนั้นเพื่อวัตถุประสงค์อื่นในบริบทบางอย่างเช่นนาโน "ข้ามไปยังบรรทัดสุดท้าย" ฉันยังไม่พบสิ่งใดที่ใช้ shift + insert เพื่อจุดประสงค์อื่น
chx

6
และสำหรับผู้ที่ต้องการจะวางทันทีตัวละครมากกว่าหนึ่งครั้ง:^+v::SendInput %clipboard%
เจเรเนียร์

ทำงานแปลก ๆ แทนที่/แผนภูมิเป็น|ดังนั้นเส้นทางจึง/a/b/cเปลี่ยนเป็น|a|b|c
Doctor Coder

12

แก้ไข / วางจากเมนูบริบทของแถบชื่อเรื่อง (จนกว่าจะแก้ไขทางลัดคีย์ควบคุม)


1
นี่คือทางออกที่ดีชั่วคราว แต่แปลกวิธีที่พวกเขาปล่อยมันไม่มีคุณสมบัติที่ง่ายที่สุด ..
Ghassan Zein

2
จนกระทั่งเมื่อ มันคือมกราคม 2018 และพวกเขายังไม่แก้ไขทางลัดคีย์ควบคุม นี่คือในการปรับปรุงผู้สร้าง
พอล Vixie

เห็นได้ชัดว่าการสร้าง Windows 10 ที่ใหม่กว่ามีให้บริการแก่สาธารณชนทั่วไปในภายหลังในปี 2018 หรือต้นปี 2562 แต่การปรับปรุงไม่ได้เกิดขึ้นโดยอัตโนมัติ ไปที่การตั้งค่า Windows Update และคลิกที่ตรวจสอบการอัปเดต
MarkHu

10

เหมือนที่เขียนไว้ก่อนหน้านี้:

  • คลิกขวาที่ Bash บน Ubuntu บนไอคอน Windows หากคุณมีไอคอนทางลัดในแถบงาน
  • คลิกที่คุณสมบัติ
  • เลือกแท็บตัวเลือกในหน้าต่างคุณสมบัติ
  • ตรวจสอบตัวเลือก QuickEditMode
  • คลิกนำไปใช้

ตอนนี้คุณสามารถเปิด Bash Terminal ใหม่และเพียงแค่คลิกขวาเพื่อวาง

เพื่อให้สามารถคัดลอกจากเทอร์มินัลเพียงใช้ CTRL + M และสิ่งนี้จะช่วยให้คุณสามารถเลือกและคัดลอกข้อความที่เลือก


9

อย่างที่คนอื่นพูดตอนนี้มีตัวเลือกสำหรับ Ctrl+Shf+Vสำหรับวางใน Windows 10 Insider build # 17643

น่าเสียดายที่นี่ไม่ได้อยู่ในความทรงจำของกล้ามเนื้อและในฐานะผู้ใช้เทอร์มินัล TTY ที่ฉันต้องการใช้ Shf+Insเช่นเดียวกับในกล่อง Linux ทั้งหมดที่ฉันเชื่อมต่อ

สิ่งนี้เป็นไปได้ใน Windows 10 หากคุณติดตั้งConEmuซึ่งจะทำการปิดเทอร์มินัลใน GUI ใหม่และอนุญาตShf+Insวาง นอกจากนี้ยังช่วยให้คุณปรับแต่งพฤติกรรมในคุณสมบัติ

คอนโซลมีลักษณะดังนี้:คอนโซล ConEmu

ตัวเลือกการคัดลอก:ConEmu คัดลอกคุณสมบัติ

ตัวเลือกการวาง:คุณสมบัติของ ConEmu Paste

Shf+Insทำงานนอกกรอบ ฉันจำไม่ได้ว่าคุณต้องการกำหนดค่า bash เป็นหนึ่งในเชลล์ที่ใช้ แต่ถ้าคุณทำนี่คือคุณสมบัติของงานที่จะเพิ่ม:ConEmu Bash คุณสมบัติของงาน

นอกจากนี้ยังช่วยให้แท็บ Consoles (รวมถึงประเภทที่แตกต่างกันcmd.exe, powershellฯลฯ ) ฉันใช้มันมาตั้งแต่ต้น Windows 7 และในสมัยนั้นมันทำให้บรรทัดคำสั่งบน Windows ใช้งานได้!


2
แม้ว่าวิธีนี้จะเป็นโซลูชันที่หนักหน่วงสำหรับคุณสมบัติที่ควรรวมเข้ากับ Windows Bash (และจะสร้างด้วย 17643 ในไม่ช้า) แต่ก็ให้ฉันShift+Insวางโดยไม่ต้องยุ่งกับการตั้งค่า นอกจากนี้ฉันตื่นเต้นที่ได้ตรวจสอบแอพสำหรับสิ่งอื่นที่มีให้
Craig Silver

ขอบคุณสำหรับความคิดเห็น จากสิ่งที่ผมสามารถบอกได้ว่าShf+Insจะไม่สามารถใช้ได้ในการสร้าง 17,643 - Shf+Ctrl+VJust ฉันใช้Shf+Insทุกวันจึงไม่ต้องการเรียนรู้การกดปุ่มทางเลือก
Stuart Brock

1
ขอบคุณสำหรับสิ่งนี้ฉันพลาด shf + Ins ไปแล้วตั้งแต่ฉันทิ้ง cygwin เพื่อสนับสนุน WSL และฉันชอบแอปพลิเคชั่นนี้สำหรับหมอมากกว่านั้น
low351

4

สำหรับการวางในกลุ่มใน terminal (ทุบตีบน Ubuntu บน windows):

export DISPLAY=localhost:0.0

ไม่แน่ใจว่าจะคัดลอกจาก Vim อย่างไร :-(


1
DISPLAYไม่มีอะไรเกี่ยวข้องvimหรือคัดลอกและวางอย่างแน่นอน
เฟลิเป้อัลวาเรซ

@ FelipeAlvarez เห็นได้ชัดว่ามันใช้งานได้สำหรับฉัน แจ้งให้เราทราบหากคุณคิดวิธีแก้ปัญหาที่ดีกว่า!
Jon49

@ Jon49 คุณช่วยอธิบายสิ่งนี้กำลังทำอะไรอยู่? คุณวางสิ่งนี้ใน. vimrc หรือไม่ หรือภายในกลุ่มเช่น: export DISPLAY = localhost: 0.0
alpha_989

@ alpha_989 นั่นจะเข้าสู่เทอร์มินัล Ubuntu ฉันเชื่อว่ามันเชื่อมต่อกับ Ubuntu และ Windows อย่างใด เมื่อก่อนฉันจำรายละเอียดทั้งหมดไม่ได้
Jon49

3

โซลูชันทางเลือกตรงนี้เวอร์ชั่น Windows Home ของฉันเทอร์มินัล Windows Subsystem Linux ไม่มีคุณสมบัติที่จะใช้ Shift + Ctrl (C | V)

ใช้เทอร์มินัล linux จริง! [ใส่คำอธิบายภาพที่นี่] 1

  • ติดตั้ง X-server ใน Windows (เช่น X-Ming)
  • sudo apt install <your_favorite_terminal>
  • export DISPLAY=:0
  • ยิงแอปเทอร์มินัลของคุณฉันทดสอบด้วย xfce4-terminal และ gnome-terminal

windows #ubuntu #development


1

คุณอาจทุบตี แต่ก็ยังคงเป็น windows window manager เน้นข้อความในหน้าต่างเทอร์มินัล bash คลิกขวาที่แถบชื่อเรื่องเลือก "แก้ไข" เลือก "คัดลอก" ตอนนี้คลิกขวาอีกครั้งบนแถบชื่อเรื่องเลือก "แก้ไข" เลือก "วาง" เสร็จแล้ว คุณควรจะสามารถไฮไลต์ข้อความกด "Enter" จากนั้นกด Control V แต่ดูเหมือนว่าจะใช้งานไม่ได้


สิ่งที่คุณอธิบายว่าเสียงแตกเหมือนคุณไม่ได้เปิดใช้งานโหมดแก้ไขด่วนในการตั้งค่าคอนโซล
Steve Goossens

1

สำหรับการคัดลอกข้อความ (อาจยาว) ไปยังคลิปบอร์ดของ Windowsฉันพบว่าเพียงแค่ไพพ์เอาท์พุทไปยังclip.exe (รวมถึง.exeนามสกุลไฟล์) ก็ใช้งานได้ดีสำหรับฉัน ดังนั้น:

$ echo "Hello World" | clip.exe

ให้ฉันวางHello Worldโดยใช้Ctrl- Vที่อื่น

ตอนนี้ฉันได้โพสต์สิ่งนี้แล้วฉันสังเกตเห็นว่าคำถามที่เกี่ยวข้องไปป์จากคลิปบอร์ดใน linux subsytem สำหรับ windowsรวมถึงสิ่งนี้และวิธีการแก้ปัญหาคำสั่งสำหรับการวางจากคลิปบอร์ด Windowsเช่นกัน


0

ที่กลายเป็นว่าค่อนข้างง่าย ฉันได้รับมันเป็นครั้งคราว ในการวางข้อความคุณเพียงแค่ต้องคลิกปุ่มเมาส์ขวาที่ใดก็ได้ในหน้าต่างเทอร์มินัล


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