হেলম এবং / অথবা প্রক্ষিপ্ত সঙ্গে ডিরেক্টরিতে পুনরাবৃত্তি গ্রেপ?


11

কোনও ডিরেক্টরিতে পুনরাবৃত্ত হওয়া গ্রেপটি সহজ জিনিস হওয়া উচিত, তবে এটি কাজ করার রেসিপিটি আমি এখনও পাইনি। আমি নিম্নলিখিত কমান্ডগুলির মধ্যে জাগ্রত করছি এবং নিশ্চিত নই যে এর মধ্যে কার্যকারিতাটি কবরস্থ হয়েছে:

  • helm-find-files: সমস্যাটি হ'ল এটি পুনরাবৃত্তভাবে ডিরেক্টরি খুঁজে পাওয়া সত্যিই খারাপ।
  • projectile-find-dir: দির সন্ধানে এটি দুর্দান্ত! তবে হেলম সম্পূর্ণ ব্যবহার করা সত্ত্বেও আপনি হেলম মোডে বাধা না রাখেন, সুতরাং C-u C-sকমান্ডটি এখানে কাজ করে না।
  • helm-find: পুনরাবৃত্তিটি সঠিক হয় তবে ফাইলগুলি লক্ষ্য করে, ডিরেক্টরি নয়
  • helm-projectile-find-dir: আমি যা চাই তাই মনে হচ্ছে।

1
আমি এগ্রি এবং এগ্রি-মোডকে পছন্দ করি, রৌপ্য অনুসন্ধানকারী তার পিঠে এক হাতে বেঁধে গ্রেপ্তার করে :-), কীভাবে এটি
স্পর্শী

এমএক্স প্রজেটাইল-এগ্র সম্ভবত? (
J

2
মূল পোস্টারের কাছে: আপনার উদ্দেশ্য কী তা আমি পুরোপুরি বুঝতে পারি না। প্রজেক্টাইল-অ্যাক এবং প্রজেক্টাইল-এজি উভয়ই (সম্পূর্ণ) প্রজেক্টাইল প্রকল্পের মধ্যে দুর্দান্ত recursive গ্রেপস। আপনার কি প্রয়োজন তারা না?
মেক্ক

উত্তর:


10

আপনার দুটি উপায় আছে:

  • ব্যবহার helm-projectile-grep/ack/ag: আপনি প্রকল্পের মূল থেকে শুরু করে সমস্ত কিছু সন্ধান করতে পারেন। পরে আপনি যদি অনুসন্ধানের ফলাফলগুলি সংরক্ষণ করতে চান তবে অ্যাকশন মেনুতে সরিয়ে নিতে তৃতীয় ক্রিয়াটি নির্বাচন করতে টিপুন F3বা টিপুন TABhgrepবাফার নেভিগেট করতে :

    • C-<down>: পরের ম্যাচে যান এবং ম্যাচটি খুলুন।
    • C-<up>: পূর্ববর্তী ম্যাচে যান এবং ম্যাচটি খুলুন।
    • M-<down>: ম্যাচটি না খেলেই পরের ম্যাচে যান।
    • M-<up>: ম্যাচটি না খেলেই পরের ম্যাচে যান।
    • C-o: অন্য উইন্ডোতে বর্তমান ম্যাচ খুলুন।
    • RET: বর্তমান উইন্ডোতে বর্তমান ম্যাচ খুলুন।
  • ব্যবহার করুন helm-projectile-find-dir( helmউপসর্গটি নোট করুন ; আপনার অবশ্যই helm-projectileপ্যাকেজ থেকে সাধারণ হেলম কমান্ডগুলি সাধারণভাবে ব্যবহার করতে হবে ): একটি পছন্দসই ডিরেক্টরিতে সংকীর্ণ এবং C-u C-sসেই ডিরেক্টরিটিতে পুনরাবৃত্তভাবে অনুসন্ধান করতে টিপুন । আপনি যদি টিপেন না C-u, এটি কেবল আরও গভীরে না গিয়ে ডিরেক্টরিটি অনুসন্ধান করে।

আশা করি এইটি কাজ করবে.


1
আপনি একটি সঞ্চারিত অনুসন্ধানের ফলাফলের মধ্যে আমাকে এই "ট্যাব" ক্রিয়া সম্পর্কে অবহিত করে সবেমাত্র আমাকে বিশাল লাভ আনলক করতে সক্ষম করেছেন। ধন্যবাদ. ধন্যবাদ জনাব.
ইমিশ 20'16

5

ডিরেক্টরিতে একটি পুনরাবৃত্তাকার গ্রেপ সহজ জিনিস হওয়া উচিত should

: বর্তমান ডিরেক্টরির ভিতরে একটি সহজ রিকার্সিভ, grep শুধু জন্য M-x grepতারপর, minibuffer ভিতরে: Run grep (like this): grep -nHr "pattern"। (-আর পতাকাটি লক্ষ করুন)।

আপনি আগ্রহী হতে পারে rgrep:

rgrep হ'ল p grep.el 'তে একটি ইন্টারেক্টিভ অটোলয়েড সংকলিত লিস্প ফাংশন

(আরজিআরপিআরেজিএক্সপি এবং alচ্ছিক ফাইলগুলি ডিয়ার কনফার্ম)

ডিআইআর-র মূলী ডিরেক্টরিতে ফাইলে REGEXP এর জন্য পুনরাবৃত্তভাবে গ্রেপ করুন। অনুসন্ধানটি ফাইলের নামগুলির সাথে শেল প্যাটার্নের ফাইলের সাথে সীমাবদ্ধ F ফাইলগুলি grep-files-aliases', e.g. enteringch 'এ সংজ্ঞায়িত সংক্ষিপ্ত বিবরণগুলি `*। [Ch]' এর সমতুল্য হতে পারে।


এটি অনুমানের সাথে লিঙ্কযুক্ত নয় যা এটি প্রসঙ্গে হওয়া উচিত।
রিচিএইচএইচ

2

অন্যান্য উত্তরে উল্লিখিত সরঞ্জামগুলি ছাড়াও, আরেকটি দুর্দান্ত ফাংশন হ'ল find-grep-diredএটি একটি diredবাফার তৈরি করে যা সমস্ত ফাইলগুলিকে পুনরাবৃত্তিযোগ্য গ্রেপ প্যাটার্নের সাথে মেলে।

এটি কেবল চালায় find . \( -type f -exec grep -q -e my-regular-expression \{\} \; \) -lsএবং একটি diredবাফারে ফলাফলগুলি প্রদর্শন করে ।


1

আপনি চেষ্টা করতে পারেন helm-do-grep। এটিকে উপসর্গের আর্গ দিয়ে কল করা আপনাকে পুনরাবৃত্ত গ্রেপ দেয়, যেমন হেল উইকিতে ব্যাখ্যা করা হয়েছে ।

আপনি যদি হেলম-ফাইন্ড-ফাইলগুলি শুরু না করে পুনরাবৃত্তভাবে হেলম-ডু-গ্রেপ চালু করতে চান তবে করুন:

কিউ হেলম-কমান্ড-উপসর্গ-কী এমজি এস

দ্রষ্টব্য: আপনি যদি এমজি এর আগে কিউতে আঘাত করতে ভুলে যান তবে আপনি ফাইল নির্বাচনের পরে এটি করতে পারেন।

কোন বিভাগে ফাইলগুলি অনুসন্ধান করতে হবে সে সম্পর্কে আপনাকে অনুরোধ জানানো হবে: উদাহরণস্বরূপ উইলকার্ড সিনট্যাক্সটি * .el যেমন ব্যবহার করুন (কেবলমাত্র .el ফাইলগুলিতে অনুসন্ধান করুন)।

ডিফল্টরূপে, কার্সার যখন কোনও ফাইলের নামে থাকে তখন পয়েন্টে ফাইলের এক্সটেনশন ব্যবহৃত হয়। কার্সারটি যদি কোনও ডিরেক্টরিের গোড়ায় থাকে তবে ডিরেক্টরিতে পাওয়া সমস্ত ফাইলের নাম এক্সটেনশনগুলি এবং গ্রেপ-ফাইন্ড-এড়ানো-না-করা ফাইলগুলি প্রম্পটে inোকানো হয়।

এটির মতো চেষ্টা করুন:

C-u helm-command-prefix-key M-g s


0

helm-projectile-find-dirসম্ভবত সঠিক কার্যকারিতা। আপনি পারেন

  1. হিসাবে একটি ডিরেক্টরি সন্ধান করুন projectile-find-dir
  2. তবে আপনি হেলম মোডে শেষ করেন যেখানে আপনি C-u C-sপছন্দসই হিসাবে পুনরাবৃত্ত অনুসন্ধানের জন্য চালাতে পারেন ।

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