سؤال

هل هناك طريقة في همة (أو المساعد) إلى البحث عن مصطلح و تكرار من خلال نتائج البحث (كما في n في همة), العمود, بدلا من الصف ؟ حتى لو كان الملف هذا:

foo1  bar   bar
baz   baz   foo3
baz   baz   foo4
foo2  bar   bar

إذا كنت تبحث عن foo أريد أن تكرار من خلال النتائج في 1,2,3,4.عادة n قد نقل لي من خلال لهم في 1,3,4,2.

أريد هذا على سبيل المثال من خلال تصفح نتائج البحث في ضخم ثابت-عرض ملف البيانات أو ملف CSV ، حيث الأعمدة تمثل المجالات.

(أنا أيضا تسوية طريقة للقيام بذلك في Emacs بدلا من ذلك.:)

هل كانت مفيدة؟

المحلول

بعد رؤية هذا السؤال قررت أن أحاول كتابة همة المساعد التعامل معها.إنه أول همة المساعد, لذلك فمن المحتمل جدا سيئة.ومع ذلك ، فإنه عمل على سبيل المثال الذي أعطيته.

يمكنك تحميل البرنامج المساعد من vim.org: SearchCols.همة

ملاحظة أنه يتطلب أيضا multvals المساعد من نفس الموقع: multvals.همة

فإنه يخلق الأوامر :SearchCols <string>, التي يمكن استخدامها للبحث عن <string> في عرض ثابت من الأعمدة بحيث يبدو البحث في العمود الأول أولا ثم العمود الثاني ، إلخ.بدلا من صف على حدة الصف البحث الذي هو معيار همة.كرر الأمر عن طريق @: ثم @@ لأنه القولون القيادة.

الافتراضات:

  • يفترض أن الملف بتنسيق مع فاصل محدد ثابت عرض الأعمدة ، أيهناك فراغات داخل بنود البيانات فقط بينهما.
  • يفترض أن السطر الأول من الملف مهيأ لذلك أن الأعمدة يمكن استخلاصه من ذلك.

التحسينات الواضحة التي أستطيع أن أفكر في جعل البحث عن البند التالي أسهل من استخدام @: و @@, ، بما في ذلك البحث تسليط الضوء على (رمز هناك لكنه علق بها لأنه يستخدم :match و سيكون لديك لاستخدام :match none إلى إيقاف) ، و القضاء على الاعتماد على multvals.همة.

scroll top