ในบทช่วยสอนนี้ ฉันจะสำรวจโหมด Zsh vim วิธีตั้งค่าใน Zsh และ Oh My Zsh และตัวเลือกการสนทนาอื่น ๆ เพื่อปรับปรุงโหมด vim ใน Zsh
บันทึก: โดยทั่วไป, เราแฟชั่น มีการใช้คำ; ในคู่มือนี้ ฉันจะใช้ทั้งโหมด vi และโหมด vim สลับกันได้
โหมด Zsh Vim
คุณต้องคุ้นเคยกับฟังก์ชันทั่วไปของ Vim หากคุณใช้เพื่อแก้ไข พัฒนา หรือจัดการเอกสาร Vim มีโหมดการแก้ไขต่างๆ เช่น โหมดปกติ โหมดแทรก หรือโหมดบรรทัดคำสั่ง Vim ยังมีการผูกคีย์การนำทางไฟล์ของตัวเองด้วย หากคุณต้องการใช้ประสบการณ์เดียวกันภายใน Z-Shell ก็สามารถทำได้โดยใช้โหมด vi การผูกคีย์เหล่านี้สามารถตั้งค่าสำหรับ Z-Shell, Oh My Zsh และ Bash ได้เช่นกัน
บันทึก: เพื่อปฏิบัติตามคำแนะนำที่ให้ไว้ในคู่มือนี้ ฉันใช้ Linux (Ubuntu 22.04) ซึ่งมีการติดตั้ง Zsh ล่าสุด ปลั๊กอินที่ติดตั้งในคู่มือนี้เป็นเฉพาะสำหรับ Linux ดังนั้นคำสั่งเหล่านั้นจะไม่ทำงานใน macOS
เปิดใช้งานโหมด Zsh Vim
หากต้องการเปิดใช้งานโหมด vim ชั่วคราวใน Zsh บน Linux หรือ macOS ให้ดำเนินการ ไบนด์คีย์-v สั่งการ.
ผูกกุญแจ - - ใน
หากต้องการตั้งค่าโหมด vim แบบถาวรใน Zsh ขั้นแรกให้เปิดไฟล์ หด ไฟล์.
มีสอง หด ในระบบที่คล้ายกับ Unix โดยไฟล์หนึ่งเป็นไฟล์ทั้งระบบใน /ฯลฯ ไดเร็กทอรีและอื่น ๆ เป็นสิ่งที่ผู้ใช้กำหนดใน บ้าน ไดเรกทอรี ฉันแนะนำให้ใช้เฉพาะผู้ใช้ หด หากคุณไม่พบไฟล์ดังกล่าวในไฟล์ บ้าน ไดเร็กทอรี คุณสามารถสร้างมันขึ้นมาได้โดยใช้ แตะ ~/.zshrc สั่งการ.
สัมผัส ~/. หดตอนนี้เปิด หด ไฟล์ในโปรแกรมแก้ไขข้อความใด ๆ ฉันกำลังเปิดมันในตัวแก้ไข Vim
ซูโดเป็นกลุ่ม ~/. หดใส่ ไบนด์คีย์-v ใน หด ไฟล์.
ผูกกุญแจ - - ในเมื่อคุณเปลี่ยนจากโหมดแทรกเป็นโหมดปกติ อาจมีความล่าช้าเล็กน้อย หากต้องการแก้ไข ให้ตั้งเวลาคีย์เป็น 1 ใน หด ไฟล์.
คีย์ไทม์เอาท์= 1
ตอนนี้ให้บันทึกและออกจากไฟล์โดยใช้ไฟล์ :wq สั่งหรือกด. กะ+zz กุญแจ
ตอนนี้ ใช้การเปลี่ยนแปลงโดยการจัดหา หด ไฟล์โดยใช้คำสั่งต่อไปนี้
แหล่งที่มา ~/. หดรีสตาร์ท Zsh และเปิดใช้งานโหมด Zsh vim ทันที
บันทึก: ที่ หด ไฟล์ถูกซ่อนอยู่ หากต้องการดูไฟล์ที่ซ่อนอยู่ในโฮมไดเร็กตอรี่ให้ใช้ไฟล์ ลส -ก สั่งการ. ชื่อไฟล์ทั้งหมดที่ขึ้นต้นด้วยจุดเป็นไฟล์ที่ซ่อนอยู่
การใช้โหมด Zsh Vim
ไม่มีข้อบ่งชี้พิเศษเกี่ยวกับโหมด vim ที่เปิดใช้งานใน Zsh คุณต้องมีประสบการณ์กับมัน ที่ ฉัน สามารถใช้คีย์เพื่อเปิดใช้งาน แทรก โหมด และ Esc สามารถใช้คีย์เพื่อกลับสู่ค่าเริ่มต้นหรือ ปกติ โหมด.
โหมด Zsh vim มีความสำคัญ โดยเฉพาะอย่างยิ่งในการแก้ไขคำสั่งที่มีความยาว เช่น หากคุณลืมใส่ sudo ที่ต้นบรรทัด ง่ายๆ เพียงกด Esc เพื่อเข้าสู่ ปกติ โหมดและจากนั้น 0 คำสั่งการเคลื่อนไหวเพื่อเริ่มต้นบรรทัด ตอนนี้คุณสามารถพิมพ์ ซูโดะ อีกครั้งโดยเข้าสู่ แทรก โหมด.
นอกจากนี้หากต้องการเลือกข้อความ ให้กด ใน เพื่อเข้าสู่ ภาพ โหมด. หากต้องการลบคำว่ากด พูด เพื่อดึงคำว่ากด ใช่แล้ว . โดยรวมแล้ว คุณสามารถใช้คำสั่ง Vim ทั้งหมดได้ค่อนข้างสะดวก
วว | หากต้องการลบคำสั่ง |
ใช่ | เพื่อดึงคำสั่ง |
vv | เพื่อเปิดคำสั่งในตัวแก้ไข Vim เพื่อแก้ไข |
/ หรือ ? | เพื่อค้นหาคำสั่งในประวัติศาสตร์ |
[นับ]x | หากต้องการลบอักขระ |
ซีซี | ลบคำสั่งและเปิดใช้งานโหมดแทรก |
: : | เพื่อดำเนินการคำสั่งโหมด vi |
บันทึก: หากคุณใช้โหมด vim คำสั่งโหมด vim มากกว่า 400 รายการสามารถแสดงรายการใน Zsh ได้โดยการกดโคลอน : : แล้ว กลับ กุญแจ
ปรับปรุงโหมด Zsh Vim ผ่านปลั๊กอิน Zsh-Vi-Mode
โหมด vim เริ่มต้นใน Zsh นั้นดี แต่ขาดคุณสมบัติที่สำคัญมากมาย ตัวอย่างเช่น ไม่มีข้อบ่งชี้ถึงการเปลี่ยนโหมดซึ่งอาจทำให้คุณหงุดหงิดได้ หากต้องการแก้ไขอย่างรวดเร็ว ฉันแนะนำให้ติดตั้งไฟล์ Zsh-Vi-โหมด เสียบเข้าไป.
หากต้องการรับปลั๊กอินนี้ คุณต้องติดตั้งตัวจัดการปลั๊กอิน Zsh มีตัวจัดการปลั๊กอิน Zsh มากมาย เช่น Antigen, ZPlug, Zgen, Zinit และ Zap สำหรับบทช่วยสอนนี้ ฉันจะติดตั้งตัวจัดการปลั๊กอิน Antigen สำหรับ Zsh
มีวิธีการต่างๆ ในการติดตั้งตัวจัดการปลั๊กอิน Antigen Ubuntu มีตัวจัดการแพ็คเกจเริ่มต้นชื่อ APT ที่ฉันสามารถใช้เพื่อติดตั้งได้
sudo apt ติดตั้ง zsh - - แอนติเจนหากต้องการติดตั้งบน macOS ให้ใช้:
ชงติดตั้งแอนติเจนหากต้องการเรียนรู้วิธีการติดตั้งอื่นๆ โปรดไปที่ ที่นี่ .
หลังจากติดตั้ง Plugin Manager แล้ว ฉันจะทำการติดตั้ง Zsh เราแฟชั่น เสียบเข้าไป. เปิด หด file และวางบรรทัดต่อไปนี้ลงไป
แหล่งที่มา $ บ้าน / แอนติเจน . zshแอนติเจนมัดเจฟฟรีย์ซี / zsh - - เรา - - โหมด
ใช้แอนติเจน
เพื่อให้กระบวนการติดตั้งปลั๊กอินเสร็จสมบูรณ์ แหล่งที่มา ที่ หด ไฟล์.
แหล่งที่มา ~/. หดตอนนี้ติดตั้งปลั๊กอินแล้ว ดังนั้นเมื่อคุณอยู่ใน ปกติ โหมดที่เคอร์เซอร์จะเข้ามา สไตล์บล็อก (▊) ขณะอยู่ใน แทรก โหมดที่เคอร์เซอร์จะเข้ามา รูปแบบลำแสง (▏) . นอกจากนี้ข้อความที่เลือกจะเป็นสีแดง อย่างไรก็ตาม การตั้งค่าทั้งหมดเหล่านี้สามารถปรับแต่งได้โดยใช้ปลั๊กอิน
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชันการทำงาน คุณลักษณะ และตัวเลือกการปรับแต่ง โปรดอ่าน ที่นี่ .
เปิดใช้งานโหมด Vim ใน Oh My Zsh
Zsh ได้รับความนิยมเนื่องจากสามารถปรับแต่งได้และมีคุณสมบัติขั้นสูง หากคุณเป็นผู้ใช้ Zsh คุณต้องเปลี่ยนมาใช้ Oh My Zsh อย่างรวดเร็ว โครงการโอเพ่นซอร์สเพื่อปรับปรุงการทำงานของ vanilla Zsh
ตัวเลือกการปรับแต่งใน โอ้ มาย ซช ไม่มีที่สิ้นสุด ทำให้เป็นตัวเลือกทันทีสำหรับผู้ใช้ Zsh คุณยังสามารถเปิดใช้งานโหมด vim ใน Oh My Zsh ได้โดยใช้ เราโหมด เสียบเข้าไป. Oh My Zsh มี เราแฟชั่น ปลั๊กอิน ซึ่งให้คุณสมบัติเพิ่มเติมนอกเหนือจากตัวเลือกโหมด vi เริ่มต้น เช่น ตัวบ่งชี้โหมด Vim สไตล์เคอร์เซอร์ที่หลากหลาย และตัวเลือกการปรับแต่งอื่น ๆ
เปิด หด ไฟล์ในตัวแก้ไข Vim
ซูโดเป็นกลุ่ม ~/. หดวาง เราโหมด ในตัวเลือกปลั๊กอิน
ปลั๊กอิน= ( เรา - - โหมด )
ตอนนี้ให้บันทึกและออกจากไฟล์โดยใช้ :wq คำสั่งและ แหล่งที่มา มัน.
แหล่งที่มา ~/. หดตอนนี้ คุณจะได้รับข้อบ่งชี้ต่างๆ สำหรับโหมดและการเลือก คุณยังสามารถแก้ไขการแสดงเคอร์เซอร์สำหรับโหมดต่างๆ ได้อีกด้วย
ปกติจะแสดงโดย <<< ที่ด้านขวาของหน้าต่างเทอร์มินัล ในขณะที่ตัวบ่งชี้โหมดการแทรกถูกปิดใช้งานตามค่าเริ่มต้น แต่สามารถเปิดใช้งานได้โดยการระบุใน หด ไฟล์.
INSERT_MODE_INDICATOR= '%F{สีขาว}+%f'ตอนนี้ + เครื่องหมายจะปรากฏเป็นตัวบ่งชี้โหมดการแทรก สามารถปรับสีและสัญลักษณ์ตัวบ่งชี้ได้
อ่านเพิ่มเติมเกี่ยวกับตัวเลือกการปรับแต่งของปลั๊กอินนี้จาก ที่นี่ .
ปิดการใช้งานโหมด Vim ใน Zsh
ในบางสถานการณ์ โหมด vim อาจเป็นอุปสรรคได้ โชคดีที่สามารถปิดการใช้งานได้ Bindkey -e คำสั่งใน Zsh
ผูกกุญแจ - - มันคือคำสั่งนี้เปิดใช้งานการผูกคีย์ Emacs เริ่มต้น แต่เป็นการชั่วคราวสำหรับเซสชันปัจจุบัน หากต้องการให้ถาวร ให้ลบ ไบนด์คีย์-v สั่งแล้วแทนที่ด้วย Bindkey -e ใน หด ไฟล์.
บทสรุป
โหมด vim ใน Zsh เปิดใช้งานการเชื่อมโยงคีย์ที่คล้ายกับ Vim ใน Z-shell ช่วยให้เราสามารถแก้ไขและนำทางคำสั่งโดยใช้การเชื่อมโยงคีย์ Vim มันจะมีประโยชน์อย่างมากสำหรับผู้ใช้ Vim ทั่วไป นอกจากนี้ยังสามารถเปิดใช้งานได้อย่างง่ายดายโดยการวาง ไบนด์คีย์-v คำสั่งใน หด ไฟล์. โหมด vanilla vim ขาดฟังก์ชันการทำงานมากมาย แต่ช่องว่างนี้สามารถเติมเต็มได้ด้วยความช่วยเหลือของปลั๊กอิน โหมด vim ยังมีให้สำหรับ Oh My Zsh; อีกครั้ง ปลั๊กอิน Oh My Zsh ปรับปรุงประสบการณ์โหมด vim พื้นฐาน