zsh ต้องการแก้ไขเสียงเรียกเข้าเป็น. vim


12

ฉันใช้ zsh กับ Gentoo x64 และเมื่อฉันพิมพ์sudo vim /path/to/file จากโฟลเดอร์บ้านของฉัน zsh ถาม:

zsh: correct 'vim' to '.vim' [nyae]?

ฉันต้องการเรียกใช้vimไม่ใช่.vimโฟลเดอร์ของฉัน ฉันจะแก้ไขสิ่งนี้ได้อย่างไร

ฉันเดาว่าsetopt autocdเป็นสาเหตุของสิ่งนี้ สิ่งที่แปลกคือถ้าฉันไม่เพิ่มsudozsh ไม่ขอให้แก้ไขอะไรเลย

คำตอบ:


8

alias sudo='nocorrect sudo'ความพยายาม


2
nocorrectเอ๊ะ ไม่สนใจการแก้ไขสำหรับคำสั่งนั้นใช่หรือไม่ ฉันจะต้องทดสอบสิ่งนี้ในภายหลัง
Rocket Hazmat

15

ตกลงฉันได้รับสิ่งนี้ ปัญหาไม่ได้autocdเกิดcorrectallขึ้น vimในฐานะที่เป็นคำสั่ง ( vim file) ไม่ก่อให้เกิดการแก้ไขใด ๆ * แต่vimในsudo vimการโต้แย้งzshเห็นว่ามันใกล้กับชื่อของโฟลเดอร์ในไดเรกทอรีปัจจุบันและถามว่าคุณต้องการเปลี่ยนเป็นไฟล์หรือไม่ ข้อโต้แย้งทั่วไป ดังนั้นการแก้ปัญหาคือunsetopt correctall(หรือsetopt nocorrectall) ในฐานะที่เป็นภาพประกอบ; หมายเหตุฉันมี.zshโฟลเดอร์:

% unsetopt correctall
% setopt autocd correct 
% vim zsh
% sudo vim zsh
% setopt correctall
% vim zsh
zsh: correct 'zsh' to '.zsh' [nyae]? 
% sudo vim zsh
zsh: correct 'zsh' to '.zsh' [nyae]? 
zsh: correct 'vim' to '.vim' [nyae]? 
%

*: หรือไม่ควรฉันได้ถาม zsh ว่าควรแก้ไขcommandให้ถูกต้อง_commandด้วยคำสั่งสองสามครั้งด้วยเหตุผลบางอย่าง อาจเป็นเพราะมันตรวจสอบชื่อแทนและให้ลำดับความสำคัญสูงกว่า


อ่านั่นสมเหตุสมผลแล้ว ฉันนะเหมือนมีcorrectallอยู่เพราะผมไม่สามารถพิมพ์และผมชอบวิธีการที่จะแก้ไขไปks lsสงสัยว่ามีวิธีการเปลี่ยนวิธีการตรวจสอบ zsh สำหรับ "การแก้ไข"
Rocket Hazmat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.