বেশিরভাগ সময় আমি নিজেকে একটি প্রতিস্থাপন সম্পাদনের প্রয়োজন বলে মনে করি যা একটি বড় ফাইল জুড়ে এবং অ-তুচ্ছ অনুসন্ধান এবং প্রতিস্থাপনের অভিব্যক্তিগুলির সাথে মিলগুলি মিলবে।
উদাহরণস্বরূপ, বলুন আমার মতো কিছু ফাংশন কল রয়েছে okFunction(arg1, arg2 arg3)
। আরোগুলি অবশ্যই প্রতিটি ফাংশন কলের সাথে পৃথক হবে। এখন বলুন আমি একটি আরও ভাল ফাংশন আবিষ্কার করেছি যার প্রয়োজন নেই arg2
। আমি সহজেই এর সাথে পুরো ফাইলটি সামঞ্জস্য করতে পারি
:%s/\<okFunction(\(\w\+\), \(\w\+\), \(\w\+\))/betterFunction(\1, \3)/gc
ধারণাগতভাবে সহজ হলেও, আমি নিশ্চিত নই যে এটির পরিবর্তে দীর্ঘতর প্যাটার্নটিতে আমি সিনট্যাক্সটি ঠিক পেয়েছি। c
পতাকা সত্যিই এখানে সাহায্য করে, কিন্তু সমস্যা হল যখন নিশ্চিতকরণ জন্য জিজ্ঞাসা তেজ দেখাবে না কি ম্যাচ দিয়ে প্রতিস্থাপিত হবে। মানে, এটি প্রতিস্থাপনের প্রকাশটি প্রদর্শন করবে, তবে মূল্যায়িত ফলাফল নয় not যদি আমি বিকল্পটির সাথে নিশ্চিত করে রাখি y
, ভিম সাথে সাথে পরের ম্যাচে ঝাঁপিয়ে পড়বে এবং আমি কোনও ভুল করেছি কিনা তা দেখার জন্য আমি অভুক্ত হব না।
আমি ভিআইএম -ওভার প্লাগইনটি পেয়েছি যা আংশিকভাবে সমস্যার সমাধান করে, তবে আপনি যখন কমান্ডটি টাইপ করেন তখন সমস্ত ম্যাথ স্ক্রিনে দৃশ্যমান হয়। আপনি একবার এন্টার টিপুন, আচরণটি আমি উপরে বর্ণিত ঠিক একইরকম এবং আমি পূর্বরূপ পাই না।
সুতরাং, বিকল্প কমান্ডের বিষয়ে নিশ্চিতকরণ জিজ্ঞাসা করার সময় প্রতিস্থাপনের অভিব্যক্তিটি মূল্যায়ন করার জন্য ভিম পাওয়ার কোনও উপায় আছে কি?
%
করি, ফলাফলটি আমি প্রত্যাশা করছিলাম তা হ'ল এবং তারপরে প্রতিস্থাপনটি ব্যবহার করুন %
(এটি কেবল কয়েকটি কীস্ট্রোক :<up><c-b>%
:)। স্পষ্টতই একটি প্রাকদর্শন বিকল্প তার চেয়ে অনেক বেশি দক্ষ হবে। যদিও কোনও প্যাচ পাওয়া যায় না, এই বিকল্পটির সাহায্যে কেউ কোনও প্রতিস্থাপনের কাজটি একটি উইমস্ক্রিপ্ট ফাংশনটিতে আবদ্ধ করতে পারে তবে এটি প্রচুর পরিশ্রমের মতো মনে হচ্ছে ...