วิธียกเลิกการตั้งค่า -o vi


26

ฉันต้องการลองโหมด vi ใน bash แต่ตอนนี้ฉันต้องการเปลี่ยนเป็นโหมดปกติ

ฉันจะยกเลิกการตั้งค่าได้-o viอย่างไร

คำตอบ:


30

อินเทอร์เฟซการแก้ไขสองบรรทัดเท่านั้นที่มีอยู่ในปัจจุบันbashคือviโหมดและemacsโหมดดังนั้นสิ่งที่คุณต้องทำคือตั้งค่าemacsโหมดอีกครั้ง

set -o emacs

ควรสังเกตว่านี่คือฉันอ่านระหว่างบรรทัดมากกว่าตอบคำถามโดยตรง emacsเป็นโหมดแก้ไขบรรทัดเริ่มต้นใน bash การตั้งค่าemacsโหมดปิดใช้งานviโหมดเป็นผลข้างเคียง แต่ดังที่ jlliagre กล่าวไว้ด้านล่างคุณสามารถปิดใช้งานโหมดทั้งสองได้
Chris Down

25

ขึ้นอยู่กับสิ่งที่คุณกำหนด "ปกติ" หากปิดการแก้ไขบรรทัดวิธีตั้งค่าเอกสารที่จะยกเลิก-o viจะถูกตั้งค่า+o vi

$ set -o vi
$ set -o|egrep -w "(vi|emacs)"
emacs           off
vi              on
$ set +o vi
$ set -o|egrep -w "(vi|emacs)"
emacs           off
vi              off

Chris ตอบแล้วถ้าโหมดปกติของคุณเป็น emacs


การปิดโหมดยังเป็นการลบคุณลักษณะประวัติเชลล์ตอนนี้ฉันไม่สามารถใช้ปุ่มลูกศรขึ้น / ลงเพื่อดูประวัติคำสั่ง :(
rsjethani

2
มันไม่ได้นำคุณสมบัติประวัติเชลล์ออกไป คุณยังสามารถดูประวัติของคุณด้วยhistoryคำสั่งและเรียกใช้คำสั่งก่อนหน้าโดยการใส่หมายเลขของพวกเขาด้วย!อักขระ
jlliagre

ใช่ 'history' n family คำสั่งยังคงใช้งานได้ แต่ปุ่มลูกศรขึ้น / ลงที่ฉันใช้บ่อยขึ้นไม่ทำงาน ทันทีที่ฉันเปิดโหมดใด ๆ บนปุ่มเริ่มทำงาน ... ฉันไม่เข้าใจ?
rsjethani

3
ลูกศรขึ้น / ลงจะได้รับการจัดการโดยเชลล์เท่านั้นหากเปิดใช้งานการแก้ไขบรรทัด (เช่นหนึ่งในโหมด emacs หรือ vi ถูกตั้งค่าไว้) มิฉะนั้นปุ่มลูกศรจะส่งลำดับการหลีกเลี่ยงที่ยังไม่ได้ประมวลผล
jlliagre
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.