আমি প্রায়শই নিজেকে বুফের foo
সাথে bar
এবং এর bar
সাথে প্রতিস্থাপনের চেষ্টা করতে দেখি foo
।
আমি সাধারণত যেভাবে এটি করি তা হয়:
- 3 ক্যোয়ারী-প্রতিস্থাপিত:
aaa -> @@@
,bbb -> aaa
,@@@ -> bbb
- অটোমেশন ছেড়ে দিন এবং কেবল হাতে প্রতিস্থাপন করুন do
আমি অনুমান যে এটা কিছু ব্যবহার কাজ পাওয়ার সম্ভাবনা আছে ,
সিনট্যাক্স query-replace-regexp
পরীক্ষা হলে মিলেছে স্ট্রিং aaa
বা bbb
। তবে ফলাফলের বাক্য গঠনটি খুব জটিল হয়ে উঠবে, তাই আমি সত্যিই এটি চেষ্টা করে দেখিনি।
জিনিসটি হ'ল এটি কত সাধারণ কাজ, আমি মনে করি এটির একটি আরও ভাল, একক পদক্ষেপ, এটি করার পদ্ধতি অবশ্যই অন্তর্নির্মিত বা বিদ্যমান প্যাকেজের মধ্যে থাকতে হবে। আছে?
query-replace
, আমি জানি যে M-% str1 str2
পয়েন্টটি সরানো এবং হাত দিয়ে পরিবর্তনটি করা তার চেয়ে সাধারণত দ্রুত হয় । এটি দুর্দান্ত, কারণ কেবলমাত্র একটি ঘটনা ঘটলেও, দ্রুততম কী হবে তা নিয়ে ভাবতে আমার সময় নষ্ট করতে হবে না str1
। আদর্শভাবে, আমি পাঠ্য বিপর্যয়টি ঠিক তত দ্রুত হওয়া চাই, যাতে আমি এটির বিষয়েও চিন্তা না করেই এটি ব্যবহার করতে পারি।
(setq a (prog1 b (setq b a)))
। এবং এমনকি একটি সহজ উপায় হতে পারে।
\,(if \1 "b" "a")
বিশেষত কুরুচিপূর্ণ (কোনও রেজিপ্সপের বিপরীতে \(a\)\|b
) খুঁজে পাই না , তবে এখনও যদি শব্দটি বিরক্ত করে তবে শব্দগুলি দু'বার টাইপ করতে হবে।
\(aaa\)\|bbb
?