zsh vim को सही करना चाहता है


12

मैं गेंटू x64 पर zsh का उपयोग कर रहा हूं, और जब मैं sudo vim /path/to/file अपने होम फ़ोल्डर से टाइप करता हूं, तो zsh पूछता है:

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

मैं vimअपना .vimफ़ोल्डर नहीं चलाना चाहता / चाहती हूं । मैं यह कैसे तय करुं?

मेरा अनुमान है कि setopt autocdयह कारण है। अजीब बात है, अगर मैं नहीं जोड़ता sudo, zsh कुछ भी सही करने के लिए नहीं कहता है।

जवाबों:


8

कोशिश करो alias sudo='nocorrect sudo'


2
nocorrect, एह? क्या यह सिर्फ उस आदेश के लिए सुधार की उपेक्षा करता है? मुझे बाद में इसका परीक्षण करना होगा।
रॉकेट हज़मत

15

ठीक है, मुझे यह मिल गया। समस्या नहीं है autocd, यह correctallvimएक कमांड (के रूप में 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 चेक कैसे बदल सकता है।
रॉकेट हज़मत
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.