আমি ফাইল এবং ডিরেক্টরিগুলির ক্ষেত্রে কেস-সংবেদনশীল अस्पष्ट সমাপ্তি চাই zsh। কয়েক ঘন্টা ম্যানুয়ালটি পড়ার পরে, আমি এটি নিয়ে আসলাম:
zstyle ':completion:*:*:*:*:globbed-files' matcher 'r:|?=** m:{a-z\-}={A-Z\_}'
zstyle ':completion:*:*:*:*:local-directories' matcher 'r:|?=** m:{a-z\-}={A-Z\_}'
zstyle ':completion:*:*:*:*:directories' matcher 'r:|?=** m:{a-z\-}={A-Z\_}'
অতিরিক্তভাবে, আমি TABসম্ভাব্য পরিপূর্ণতা প্রদর্শন করতে একবার টিপতে চাই , কেবলমাত্র যদি একটি সম্পূর্ণতা থাকে তবে আমি যা লিখেছি তা পরিবর্তন করে। তারপরে TABদ্বিতীয় বার টিপলে আমাকে "মেনু সমাপ্তি" মোডে রাখা উচিত। ম্যানুয়ালগুলির উপর ভিত্তি করে, আমি এটি নিয়ে এসেছি:
zstyle ':completion:*' menu select
এখন সমস্ত কিছু এক পরিস্থিতিতে বাদে যেমনটি করা উচিত তেমন কাজ করে। আমার দুটি ফোল্ডার Desktopএবং .rstudio-desktopআমার হোম ডিরেক্টরিতে রয়েছে। আমার যেহেতু setopt globdots, আমি নিম্নলিখিত টাইপ করা আশা করি:
$ cd ~/dktop<TAB>
প্রবেশ হিসাবে আমার কমান্ড ছেড়ে, এবং সম্পূর্ণ প্রার্থী হিসাবে প্রদর্শন Desktopএবং .rstudio-desktop। পরিবর্তে, এটি সরিয়ে দেয় dktop এবং আমাকে নিম্নলিখিতগুলি দিয়ে চলে যায়:
$ cd ~/
আমি প্রাসঙ্গিক সমস্ত ম্যানুয়াল, গাইড, স্ট্যাক এক্সচেঞ্জ প্রশ্নাবলী এবং অন্যান্য বিভিন্ন উত্স দেখেছি। তবে আমি যাই করি না কেন, আমি এই কাজটি করতে পারি না।
মজার বিষয় হচ্ছে, যদিও আমি যদি হোম ডিরেক্টরিতে থাকি এবং নিম্নলিখিতটি টাইপ করি তবে প্রত্যাশা অনুযায়ী সবকিছুই কাজ করে:
$ cd dktop<TAB>
এটি হ'ল পথের অ-নেতৃস্থানীয় বিভাগগুলিতে কেবল এটিই একটি সমস্যা (এবং আপনি দেখতে পাচ্ছেন C-x hযে এটি directoriesট্যাগটি ব্যবহারের পরিবর্তে local-directoriesট্যাগটির সাথে সম্পর্কিত)।
সহজ reproducibility জন্য এখানে একটি হল ~/.zshrcপরিস্থিতি এবং আচরণ (সাথে সতেজভাবে এল ক্যাপটেনের ভার্চুয়াল মেশিন উপর পরীক্ষা উপরে বর্ণিত পুনর্গঠন করা হবে zshHomebrew থেকে)।
zsh 5.3.1ওএস এক্স-এর মাধ্যমে বিষয়টি পুনরুত্পাদন করবে। এটি আকর্ষণীয় যে অপারেটিং সিস্টেমের মধ্যে পার্থক্য রয়েছে।
zsh 5.3.1উপরArch Linux।cd ~/dktop<tab>ফলনcd ~/Desktop।