কীভাবে zsh এর স্বতঃসংশোধন আংশিক অক্ষম করবেন


36

Zsh এর স্বতঃসংশোধন ফাংশনটি আমার পক্ষে খুব সহায়ক তবে এটি সর্বদা সঠিক ফলাফল দেয় না।

~$ sudo vim somefile
zsh: correct 'vim' to '.vim' [nyae]? 

তবুও কি আমি চাই একটি মত কিছু না বিকল্পটি সেই চিরকাল মত সঠিক কমান্ড বন্ধ করতে পারবেন।

কিভাবে আমি এটি করতে পারব?

উত্তর:


53

আপনি zsh কে অবহিত করতে পারেন যে আপনার .zshrc- এর উপসর্গ 'নোকরেক্ট' দিয়ে এটিকে আলাদা করে নির্দিষ্ট কমান্ডগুলিতে স্বতঃসংশোধন করা উচিত নয় (উদাহরণস্বরূপ: http://dzen.geekmode.org/wiki/wiki.cgi/-main/ZshConfigration ) :

alias vim='nocorrect vim' 

বিকল্পভাবে - যদি এই শ্বেত তালিকাটি হতাশাজনক হয়ে ওঠে - আপনি আপনার .zshrc এ নিম্নলিখিতটির সাথে পুরোপুরি স্বয়ংক্রিয় সংশোধন বন্ধ করতে পারেন।

Zsh ব্যবহারের নতুন সংস্করণগুলির জন্য:

 unsetopt correct

zsh ব্যবহারের পুরানো সংস্করণগুলির জন্য:

 unsetopt correct-all

সংশোধন করার জন্য: এখানে এই বিষয়ে একটি পূর্ববর্তী আলোচনা এখানে - zsh करेাল বৈশিষ্ট্য ব্যতিক্রম?


1
যদিও এটি যখন ভিএম কমান্ড শুরু হয় তখন কাজ করে তবে যেমন কমান্ডগুলির জন্য কাজ করে না bundle exec cucumber <some_specific_feature> && bundle exec rspec <some_specific_spec>। আমি আরএসপেকের জন্য একটি উপনাম যুক্ত করেছি। কোন টিপস?
মার্টিন ফুট

@ মার্টিনফুট: আপনি যদি ওহ-মাই-জেডএস ব্যবহার করেন তবে বান্ডিলার প্লাগইন আপনাকে সহায়তা করতে পারে: coderwall.com/p/weixga
brafales

1
নতুন সংস্করণগুলিতে unsetopt correct_allপরিবর্তিত হয়েছেunsetopt correct
এন্টিটক্সিক

@ অ্যান্টিটক্সিক: সংস্করণ সংখ্যার দিক থেকে "নতুন সংস্করণ" বলতে কী বোঝায় আমি তা দেখতে চেয়েছিলাম, কিন্তু আজকের গিট চেকআউটে (zsh 5.0.2 + 31433) ম্যানপেজের zshoptionsজন্যও বলা হয়েছে CORRECT_ALL: সমস্ত আর্গুমেন্টের বানানটি একটি লাইনে সংশোধন করার চেষ্টা করুন । তদ্ব্যতীত, উভয় লোকের জন্য প্রবেশ CORRECTএবং CORRECT_ALLকমপক্ষে ২০০৮ সাল থেকে পরিবর্তন হয়নি So সুতরাং আমি আপনার বক্তব্যটি অনুপস্থিত; আপনি কি আপনার বিবৃতিতে বাড়ে তা ব্যাখ্যা করতে পারেন ?!
এমপি

আমি যুক্ত করতে চাই: লোড অর্ডার বিষয়গুলি! ওহ-মাই-জেডএস স্যুরিংয়ের পরে আপনি আনসটপ্ট যোগ করেছেন তা নিশ্চিত করুন ... আমার অনেক সময় নষ্ট করে।
ওমা

22

আমি মনে করি এটির একটি আরও ভাল উত্তর পেয়েছি।

আমি সংস্করণ এবং কী সম্পর্কে নিশ্চিত নই, তবে মনে correct_allহচ্ছে এটি আদেশ এবং আর্গুমেন্টগুলি correctসংশোধন করবে , যখন কেবলমাত্র আদেশগুলি সংশোধন করে, তাই এই বিরক্তিকর আচরণটি দূর করে।

আমার কনফিগারেশন ফাইলগুলিতে এটি আমার কাছে রয়েছে

unsetopt correct_all  
setopt correct

এটিই আসল উত্তর। correct-allআমি যে ডকুমেন্টেশন খুঁজে পেতে পারি তার মধ্যে সত্যিকারের বিকল্প বলে মনে হয় না, আবার রিয়েল লাইফেও নয়। এটা correct_all। ধন্যবাদ!
জামে


আপনি আমার নায়ক!
মার্টিন কে

আপনি যদি ওহ-মাই-জেডএস ব্যবহার করেন তবে নিশ্চিত করুন যে আপনি দুটি লাইন রেখে দিয়েছেন source $ZSH/oh-my-zsh.shঅন্যথায় এটি কাজ করে না। দেখে মনে হচ্ছে ওহ-মাই-জেডএস সঠিক বিকল্পটি পুনরায় সেট করবে।
ম্যাট

0

rspecমাধ্যমে ব্যবহার করার সময় আমার সমস্যা হয়েছিল zeusএবং আমি স্বতঃ-সংশোধন সেটিংস রাখতে চাই কারণ তারা এগুলি বাদে অন্য যে কোনও কিছুর জন্য কাজ করে বলে মনে হয় rspec, তাই উপরের অন্যান্য পরামর্শগুলির মধ্যে আমি কখনও চেষ্টা করি নি।

আমাকে যা করতে হবে তা হ'ল nocorrectজিউস নিজেই:

ওরফে জিউস = 'নিখরচায় জিউস'


0

আমি অটোকারিকশন ব্যবহার করে অক্ষম করতে সক্ষম হয়েছি

ENABLE_CORRECTION="false"

আমি zsh সংস্করণ ব্যবহার করছি 5.7.1


-1

যদি আপনি ওহ-মাই-জেডএস ব্যবহার করেন:

সংশোধন করুন

সমস্ত স্ব-সংশোধন অক্ষম করবে will

ব্যতিক্রমগুলির জন্য উপকরণ সেট করা (নীচের লিঙ্কটি দেখুন) আমার পক্ষে কৌশলটি করে না।

https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/correction.zsh

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.