ধরা যাক আমার নামক একটি ফাংশন আছে StripWhitespace
।
আমি ফাইলটি ওপেন করে চালিয়ে একটি একক ফাইলে এটি চালাতে পারি :StripWhitespace
।
আমি কীভাবে ফাইলের ফোল্ডারের বিরুদ্ধে সেই ফাংশনটি স্বয়ংক্রিয়ভাবে চালাতে পারি এবং ফলাফলগুলি চালিয়ে যেতে পারি?
ধরা যাক আমার নামক একটি ফাংশন আছে StripWhitespace
।
আমি ফাইলটি ওপেন করে চালিয়ে একটি একক ফাইলে এটি চালাতে পারি :StripWhitespace
।
আমি কীভাবে ফাইলের ফোল্ডারের বিরুদ্ধে সেই ফাংশনটি স্বয়ংক্রিয়ভাবে চালাতে পারি এবং ফলাফলগুলি চালিয়ে যেতে পারি?
উত্তর:
আপনি -c
আর্গুমেন্টটি শুরুতে একটি কমান্ড চালাতে ব্যবহার করতে পারেন , এ থেকে vim(1)
:
-c {command}
{command} will be executed after the first file has been
read. {command} is interpreted as an Ex command. If the
{command} contains spaces it must be enclosed in double
quotes (this depends on the shell that is used). Example:
Vim "+set si" main.c
Note: You can use up to 10 "+" or "-c" commands.
উদাহরণ:
vim -c ':call StripWhitespace()' file1 file2
পরে ছাড়তে, যুক্ত করুন | :wqa
:
vim -c ':call StripWhitespace() | :wqa' file1 file2
আপনি যদি ইতিমধ্যে ভিমে থাকেন তবে আপনি যথাক্রমে যুক্তি তালিকা বা বাফার তালিকার প্রতিটি আইটেমের উপর একটি কমান্ড কার্যকর করতে :argdo
বা :bufdo
আদেশগুলি ব্যবহার করতে পারেন ।
যেমন :
আর্গুমেন্ট তালিকার প্রতিটি ফাইলে একটি কমান্ড চালানো :
:argdo StripWhitespace
বাফার তালিকার প্রতিটি ফাইল থেকে একটি ফাংশন চাওয়ার জন্য:
:bufdo call StripWhitespace()
বা q
আর্গুমেন্ট তালিকার প্রতিটি ফাইলে ম্যাক্রো চালাতে :
:argdo normal @q
তারপরে আপনি সমস্ত পরিবর্তিত বাফার দিয়ে সংরক্ষণ করতে পারেন :wall
, বা সমস্ত সংরক্ষণ করতে এবং এর সাথে ভিম ছেড়ে যেতে পারেন :wqall
।
আপনি পাশাপাশি যাওয়ার সাথে সাথে ফাইলগুলি লিখতে চান, আপনি :update
যাতে কল করতে পারেন তেমন :
:argdo s/foo/bar/ge | update
ভিমের কাছে ফাইলগুলি প্রথম স্থানে আনার বিভিন্ন উপায় রয়েছে যার মধ্যে রয়েছে:
vim *
(এটি যুক্তি তালিকায় সমস্ত ফাইল যুক্ত করে),:args
আর্গুমেন্ট তালিকাটি জনপ্রিয় করতে কমান্ডটি (যা ওয়াইল্ডকার্ডস এবং ব্যাকটিক এক্সপ্রেশন সমর্থন করে) ব্যবহার করুন বা এতে :argadd
ফাইল যুক্ত করার জন্য আদেশটি,:e
, :Ex
, অথবা একটি ফাইল-খোলার প্লাগইন।'hidden'
সেট করা দরকার ; (২) : update
কমান্ডটি সামান্য উন্নতি হ'ল :w
কারণ এটি কেবল তখনই লিখিত হয় যদি কোনও পরিবর্তন করা হয়েছে, তাই :bufdo update
বা :argdo update
সমস্ত পরিবর্তিত বাফার বা যুক্তি লিখবে।
update
। আমি hidden
উত্তরটি লিখতে গিয়ে উল্লেখ করার বিষয়টি বিবেচনা করেছি, তবে এর বিপরীতে সিদ্ধান্ত নিয়েছি কারণ আমি এটিকে অত্যধিক জটিল করতে চাইনি। প্রতিবিম্বে যদিও এটি থাকা উচিত। আমি উভয় পরামর্শ অন্তর্ভুক্ত করার জন্য উত্তর আপডেট করব।
:wall
, এতে বাফারগুলির মাধ্যমে সাইকেল চালানো এবং আপনি যেখান থেকে শুরু করেছিলেন সেখান থেকে আপনাকে দূরে সরিয়ে নিয়ে যাওয়ার সুবিধা রয়েছে। আমি মনে করি :argdo update
এখনও একটি আলাদা গল্প - সম্ভবত আপনি বাফারগুলিতে লিখতে চান না যা আপনার যুক্তির তালিকায় নেই।