আমি কীভাবে ইমাক্সের কোনও প্রকল্প জুড়ে রিফ্যাক্টর করব (সর্বত্র পরিবর্তিত পদ্ধতির নাম)?


15

আমি একটি ওপেনসোর্স প্রকল্পের অংশগুলি আবার লিখতে চাই। এর মধ্যে নামকরণের পদ্ধতি অন্তর্ভুক্ত রয়েছে। আমি কীভাবে পুরো প্রকল্প জুড়ে ইম্যাকগুলিতে দক্ষতার সাথে এটি করতে পারি?

আমি বরং অনুসন্ধান এবং প্রতি বাফারে প্রতিস্থাপনের মতো হ্যাক ব্যবহার করব না।


1
কোন ভাষা?
515

আপনি কি এজি / গ্রেপ + ডাব্লুগ্রাইপ + অনুসন্ধান / প্রতিস্থাপনের দিকে তাকিয়েছেন? আপনি পৃথকভাবে বাফার খুলবেন না। সম্পর্কিত: emacs.stackexchange.com/a/243/115
দক্ষ মোদী

পাইথন। আমি বুঝতে পারি আমার প্রশ্নটি সেরা ছিল না, দুঃখিত।
আনফুন বিড়াল

যেহেতু এই প্রশ্নটি শীর্ষে পৌঁছেছে (গুগলের কাছ থেকে কেউ যদি এ বিষয়ে হোঁচট খায়), সেখানে রোপ নামক রিফ্যাক্টরিংয়ের জন্য একটি ডেডিকেটেড পাইথন লাইব্রেরি রয়েছে। এটি প্রস্তাবিত অন্যান্য সমাধানগুলির তুলনায় এটি আরও বুদ্ধিমান যেহেতু এটি অ্যাকাউন্টের প্রসঙ্গে বিবেচনা করে। এটি ইম্যাক্সে কল করা একটি প্যাকেজে প্রয়োগ করা হয় ropemacs
jcaw

@TheUnfunCat আপনি কি আপনার প্রশ্নে আরও প্রসঙ্গ যুক্ত করতে পারবেন? আপাতত এটি বেশ অস্পষ্ট এবং আপনি একটি অজগর প্রকল্পে এটি করতে চান তা যুক্ত করে অনেক কিছু পরিষ্কার হয়ে যাবে।
DoMiNeLa10

উত্তর:


14

আমি এখন ব্যবহার helm-ag ফাংশন নামের সমস্ত দৃষ্টান্ত খুঁজে পেতে (সমস্ত ফাইলগুলিতে অনুসন্ধান, অন্তর্ভুক্ত সাবডিয়ার্স, কেবল ওপেন বাফারগুলিতে নয়) এবং তারপরে আমি C-c C-eএমন একটি বাফার প্রবেশ করানোর জন্য ব্যবহার করি যা সমস্ত ম্যাচ তালিকাভুক্ত করে এবং সেখানে আমি ফাংশনটির নাম পরিবর্তন করি। আমার কাজ শেষ হয়ে গেলে আমি C-c C-c (helm-ag--edit-commit)সমস্ত খোলা ফাইলগুলিতে পরিবর্তনগুলি সংরক্ষণ করতে টিপুন ।

এটি বিভ্রান্তিকর লাগতে পারে তবে দয়া করে https://github.com/SingoFukuyama/helm-sooop দেখুন

যখন আপনি এটি আঁকবেন আপনি আনন্দের অশ্রু কাঁদবেন যে এই জাতীয় চমত্কার কার্যকারিতা বিদ্যমান exists


1
এটি আমার গালে টিয়ার ছিঁড়ে গেছে।
মিহাই

1
প্রথমবার এই ওয়ার্কফ্লোটি সম্পাদন করার সময় আক্ষরিক অর্থে আমার চোখে জল এসেছিল, কোনও মজা নেই
পল

দুর্দান্ত সমাধান!
ফ্রেমেচার

6

যেহেতু আপনি ভাষাটি নির্দিষ্ট করেননি, তাই "অনুসন্ধান এবং প্রতিস্থাপন" এর চেয়ে ভাল উত্তর দেওয়া শক্ত।

Wgrep ব্যবহার করা হচ্ছে

আপনি যদি কেবলমাত্র (ইন্টারেক্টিভভাবে) কোনও চিহ্নের সমস্ত দৃষ্টান্ত অন্যটির সাথে প্রতিস্থাপন করতে চান তবে ডাব্লাগ্রেপ আপনার সেরা বাজি। এটি আপনাকে ইন্টারেক্টিভভাবে গ্রেপ ফলাফল বাফার সম্পাদনা করতে দিন।

  1. কি M-x package-install RET wgrep
  2. চালান M-x rgrep। এটি আপনাকে কয়েকটি সহজ প্রশ্ন জিজ্ঞাসা করবে এবং তারপরে আপনি যে ডিরেক্টরিটি তৈরি করেছেন তার ভিতরে অনুসন্ধান-শব্দটির জন্য একটি পুনরাবৃত্ত অনুসন্ধান করবে।
  3. ফলাফলের বাফারে স্যুইচ করুন এবং করুন M-x wgrep-change-to-wgrep-mode। এই বাফারটি এখন সম্পাদনযোগ্য। আপনি এখানে যে কোনও পরিবর্তনগুলি ফাইলগুলিতে প্রতিফলিত হবেন।
  4. রিফ্যাক্টরিং করতে এই বাফারটিতে একটি replace-regexpবা একটি চালান query-replace-regexp
  5. M-x wgrep-save-all-buffersএবং দিয়ে আপনার সম্পাদনা শেষ করুন M-x wgrep-finish-edit

3

কিছু জেনেরিক পদ্ধতির জন্য, ইম্যাকস উইকি অনুসন্ধান এবং প্রতিস্থাপন পৃষ্ঠাটি শিরোনামের মধ্যে " ফাইলগুলি জুড়ে প্রতিস্থাপন করুন " এর শিরোনামটি দেখুন: http://www.emacswiki.org/emacs/CategorySearchAndReplace

এর উত্তরগুলিও দেখুন: ইতিমধ্যে খোলা হয়নি এমন পাঠ্য ফাইলগুলিকে পুনরাবৃত্তভাবে অনুসন্ধান এবং প্রতিস্থাপন করতে ইম্যাক্স ব্যবহার করা


3

আপনি বাফারে সমস্ত প্রার্থীর তালিকা পেতে counsel-rgঅনুসরণ করতে পারেন C-c C-owএগুলি সম্পাদনা করতে টিপুন wgrep। আমি ieditপ্রতীক নামের জন্য প্রস্তাব দিই । প্রেসC-c C-c

নির্ভরতা:

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