“ <Esc> Kv” ใน bash คืออะไร


13

เมื่อผมอยู่ในทุบตีและกดEsc, Shift+ K, Vทุบตียิงขึ้นกับชื่อไฟล์ที่คล้ายกับ$EDITOR/tmp/bash-fc-186566385

ทำไมจึงเป็นและวัตถุประสงค์ของมันคืออะไร?

set -o viผมอาจจะต้องพูดถึงว่าฉันทำงานกับทุบตี

คำตอบ:


10

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

การทำให้กระจ่าง: มันช่วยให้คุณสามารถสร้างคำสั่งในสิ่งที่แก้ไขที่คุณได้ตั้งค่า$EDITORและเมื่อคุณบันทึกและออกจากมันเนื้อหาจะถูกเรียกใช้ (ชี้แจงว่าไม่ใช่แค่ Vi!)

นอกจากนี้ตามที่ระบุไว้โดยRealSkepticที่shift+ Kรวมกันไม่จำเป็นต้องนำมาขึ้นบรรณาธิการ เพียงแค่esc, Vจะ


vโปรดทราบว่าแป้นพิมพ์เพียงไม่กี่คนที่สำคัญที่ระบุว่า การกดแป้น (หรือแป้นที่ดีกว่า) เพื่อรับKจะทำเครื่องหมายตามปกติแล้ว<kbd>Shift</kbd>+<kbd>K</kbd>กดปุ่มเพื่อรับ (ตัวพิมพ์เล็ก) vเป็น<kbd>V</kbd>
Anthon

ไม่ใช่ แต่การแก้ไขโพสต์ OP ของคุณมีรายการที่ไม่ถูกต้อง
Anthon

2
โหมดแก้ไขไม่สามารถเข้าถึงได้อย่างง่ายดายโดย escape-V หรือไม่? "shift-K" ดูเหมือนจะเป็นเพียงของขึ้น
RealSkeptic

@RealSkeptic คุณถูกต้องข้อมูลเสริมที่ดี
forquare

3
นอกจากนี้ Ctrl-x + e (หากคุณไม่ได้อยู่ในโหมด vi)
Iacchus

12

คุณไม่จำเป็นต้อง+Shift kการใช้Esc+ vจะใช้งานได้เนื่องจากคุณอนุญาตให้แก้ไขบรรทัดคำสั่งเชลล์โดยใช้เอดิเตอร์ vi ที่มีในตัวโดยใช้set -o vi(สามารถทำได้เหมือนกันกับ Ctrl+ x+ e) สิ่งนี้เทียบเท่ากับรันfcคำสั่งbuiltin ซึ่งมีประโยชน์ในการจัดการรายการประวัติและไฟล์ประวัติ มันจะเรียกใช้ตัวแก้ไขสิ่งใดก็ตามที่ตั้งค่าไว้$EDITOR(มิฉะนั้นตัวแก้ไขค่าเริ่มต้นของเชลล์) เพื่อเขียนคำสั่งแบบยาวที่ซับซ้อนหรือซับซ้อนแล้วดำเนินการหลังจากบันทึกและปิดตัวแก้ไข ดูที่นี่สำหรับรายละเอียดเกี่ยวกับfcคำสั่งทุบตี builtins

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