ঠিক আছে, একটু ব্যাকগ্রাউন্ড: আমি একটি ম্যাক ব্যবহার করি, এবং আমি সি এল এলিতে যতটা সম্ভব সম্ভব করি।
বিশেষত, আমি প্রায়শই একটি ইউএসবি স্টিক, cp
বা mv
একটি ফাইলের মধ্যে পপ করি এবং তারপরে অবিলম্বে এটি বের করে আনার (আনমাউন্ট এবং সংযোগ বিচ্ছিন্ন) করতে চাই wish এটি আনমাউন্টিং ব্যতীত মুষ্টিমেয় কীস্ট্রোকের সাহায্যে সম্পন্ন করা যায়, যার জন্য (10.7-এ) একটি ফাঁকা ডেস্কটপ স্পেসে যেতে হবে (সাধারণত কমপক্ষে দুটি স্পেস দূরে থাকে), ডিস্কটি নির্বাচন করে এবং "কমান্ড-ই" টিপুন। সত্যই, এই আনমাউন্ট প্রক্রিয়াটি প্রগতির বেশ কয়েকটি আদেশের দ্বারা, প্রক্রিয়াটির সবচেয়ে সময় সাশ্রয়ী এবং ক্লান্তিকর অংশ।
কেবল টাইপ করতে সক্ষম হওয়াই এটি আরও বেশি প্রাকৃতিক এবং দক্ষ হবে, বলুন:
ej<tab> J<tab>
আমার ইউএসবি স্টিকটি / ভলিউম / জেফারসনে মাউন্ট করুন বলুন। আমার 6 কী-স্ট্রোকগুলি থেকে আমি কী পেতে চাই তা নিম্নলিখিত:
eject /Volumes/Jefferson
এটি কমান্ড চালানো উচিত:
diskutil unmount /Volumes/Jefferson
সুতরাং, আমি একটি সুন্দর সামান্য ফাংশন লিখেছি:
eject() {
diskutil unmount /Volumes/$1
}
এবং এটির সাথে যেতে একটি সমাপ্তির ফাংশন:
compdef '_files -g "/Volumes/*"' eject
তবে এটি নিয়ে সমস্যা আছে। _files
ফাংশন সম্পূর্ণ পাথ তৈরি করে। এখন, আমি আমার "ইজেক্ট" ফাংশনটিতে লাইনটি পরিবর্তন করতে পারলাম diskutil unmount $1
এবং জিনিসগুলি কাজ করবে তবে তারপরে আমার / মাউন্ট পয়েন্ট নামের প্রথম অক্ষরটি টাইপ করার ক্ষমতা নেই, যেহেতু পথটি / ভলিউম / দিয়ে শুরু হয়। উদাহরণস্বরূপ, যদি আমি টাইপ করি তবে আমি J<tab
পিডাব্লুডিতে ফাইলগুলির জন্য স্বতঃপূরণ পাব। /Volumes/J<tab>
পছন্দসই সমাপ্তির জন্য আমাকে টাইপ করতে হবে।
সুতরাং, এমন কোনও সমাপ্তি কার্যকারিতা রয়েছে যা পুরো পথ তৈরির পরিবর্তে পূর্বনির্ধারিত, নির্দিষ্ট অবস্থান থেকে ফাইলের নাম ধরে ফেলে?
আমি সত্যিই এটি 6 টি কিস্ট্রোক নামাতে চাই।