2016-07-15 9 views
9

कुछ ऐसी चीजें हैं जिन्हें मैं अभी तक वीआईएम तरीके से नहीं समझता हूं।मैं वीआईएम का उपयोग कर अपने प्रोजेक्ट की सभी फाइलों में कैसे खोज करूं?

इनमें से एक एक परियोजना में खोज कर रहा है की तरह तो (एटम में विम का उपयोग कर):

enter image description here

मैं फ़ाइल नाम के लिए वर्तमान में CtrlP उपयोग करें, लेकिन क्या सामग्री के बारे में?

मैं एक स्ट्रिंग के साथ कैसे खोज सकता हूं, और फिर वीआईएम और/या वीआईएम प्लगइन्स का उपयोग करके सभी घटनाओं की एक सूची देख सकता हूं?

+2

[पावती] (http://beyondgrep.com/) और/या [एजी] (http://geoff.greer.fm/ag/) स्थापित करें, और प्रयोग [CtrlSF] (https://github.com/dyng/ctrlsf.vim) प्लगइन। आप वापस नहीं देखेंगे। –

उत्तर

12

मैं इस के लिए एक और भी बेहतर समाधान मिल गया है: FZF

यह बस अपनी परियोजना में सब कुछ के माध्यम से खोजता एसिंक्रोनस रूप :Ag आदेश का उपयोग।

enter image description here

+0

नोट: इसके लिए silver_searcher को भी स्थापित करने की आवश्यकता है https://github.com/ggreer/the_silver_searcher –

6

फ़ाइल सामग्री खोजने के लिए :grep या :vimgrep का उपयोग करें। परिणाम "स्थान सूची" पर डाल दिए जाते हैं जिन्हें आप :cwटाइप करके खोल सकते हैं दर्ज करें।

:grep के लिए सिंटेक्स डिफ़ॉल्ट रूप से, है, grep(1) आदेश के रूप में ही:

:grep 'my pattern.*' /path/to/dir 

डिफ़ॉल्ट रूप से यह वर्तमान निर्देशिका (:pwd) खोज करेंगे।

:grep और :vimgrep के बीच प्रमुख अंतर यह है कि :vimgrep (:vim छोटे के लिए) विम-संगत नियमित अभिव्यक्ति का उपयोग करता है, जबकि :grep का उपयोग करता है जो कुछ भी नियमित अभिव्यक्ति अपने &grepprg उपयोग करता है।

आप &grepprg को कुछ अलग करने के लिए सेट करके एक कस्टम प्रोग्राम का उपयोग कर सकते हैं। मुझे व्यक्तिगत रूप से ack पसंद है जो पर्ल-संगत रेगेक्स का उपयोग करता है।

+0

हां, और घटनाओं की सूची के बारे में क्या? – Sem

+0

@ सैम मैंने अपना जवाब विस्तारित किया है जैसा कि मैं इसमें बहुत गहराई से कर सकता हूं। – amphetamachine

+0

धन्यवाद, मैं अभी हर चीज की कोशिश कर रहा हूं :) – Sem

संबंधित मुद्दे