किसी प्रोजेक्ट की सभी फ़ाइलों के लिए इंटरेक्टिव रूप से खोज करने के लिए Ctrl-P का उपयोग कैसे करें?


15

मैंने आज एक परियोजना की हर फाइल पर एक खोज करने की कोशिश की। मैं Ctrl-P का उपयोग करता हूं और इस तरह लाइनों पर खोज करता हूं :

स्क्रीनशॉट

लेकिन खोज का परिणाम केवल पहले से खोली गई फ़ाइल पर है। यहां मैं केवल खोलता हूं main.php

क्या आप सभी फाइलों को एक-एक करके खोलने का तरीका जानते हैं?

धन्यवाद,


1
यह एक ऐसी चीज है जो मुझे भी चाहिए। यदि आप ack या ag का उपयोग कर रहे हैं, तो प्रदर्शन एक मुद्दा नहीं होना चाहिए। इसके अलावा अगर आप नवविराम का उपयोग कर रहे हैं, तो यह async होना चाहिए, इसलिए कोई भी ब्लॉक नहीं होना चाहिए।
मैनिंगटन

अंत में मैं ctrlp कमांड के रूप में ag का उपयोग करता हूं :)
nobe4

जवाबों:


13

:CtrlPLine वास्तव में सूचीबद्ध बफ़र्स पर काम करने वाला है।

आप तो बिल्कुल अपनी परियोजना में हर फ़ाइल पर कि सुविधा का उपयोग करना चाहते हैं, आप की तरह कुछ के साथ तर्क सूची के लिए उन्हें जोड़ सकता है (और इस प्रकार बफर सूची):

:argadd **/*.php

लेकिन यह प्रदर्शन कारणों से बहुत अच्छे विचार की तरह नहीं है।

उपयोग करना :vimgrepया :grepमेरे लिए बहुत अच्छा लगता है:

:vim foo **/*.php
:cw

आप स्पष्ट रूप से CtrlP की "फ़िज़नेस" खो देते हैं, लेकिन आपको बदले में विश्वसनीयता और लचीलापन मिलता है।

संदर्भ:

:help :argadd
:help :vimgrep
:help :grep
:help :cwindow
:help quickfix

CtrlP और vim-grep के बीच एक महत्वपूर्ण अंतर, CtrlP इंटरैक्टिव है
ideasman42

1

आपको थ्रोज़ प्लगइन्स Sidesearch या fzf का उपयोग करना चाहिए

दोनों सिल्वरसर्च-एग का उपयोग करके पुनरावर्ती निर्देशिकाओं में खोज करने की अनुमति देते हैं

fzf उन सूचीबद्ध फाइलों पर खोज करने की अनुमति देता है जिनमें आपकी स्ट्रिंग शामिल है।


1
हाय @MisterBanal, हमारी साइट पर आपका स्वागत है! आपको अपने जवाब में सटीक होना चाहिए अगर इन प्लगइन्स को ओटीपी के रूप में CtrlP के साथ हस्तक्षेप किया जा सकता है। यदि उन्हें इंटरफ़ेयर किया जा सकता है तो आपको यह समझाना चाहिए कि कैसे और यदि वे नहीं कर सकते हैं तो आपको कम से कम एक मूल उदाहरण देना चाहिए कि उनका उपयोग कैसे करें अन्यथा आपका जवाब वास्तव में सवाल का जवाब नहीं देता है। (आप पाठ के नीचे "संपादित करें" बटन के साथ अपना उत्तर बदल सकते हैं)।
statox
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.