फ़िज़ में फ़ाइल के भीतर फ़ज़ी पाते हैं


21

मैं filenames के लिए फजी खोज करने के लिए विम में कमांड-टी प्लगइन का उपयोग कर प्यार करता हूँ। मुझे यह इतना पसंद है कि मैं एक खुले बफर के भीतर मनमाने तारों के लिए एक ही फजी खोज करना चाहता हूं।

उदाहरण के लिए, यदि मैं एक सीएसएस फ़ाइल का संपादन कर रहा हूं जिसमें चयनकर्ता शामिल है #support-main .question .answer-rating, तो मैं वर्तमान में /support-main .questionउस पंक्ति को खोजने के लिए टाइप कर सकता हूं ।

मैं एक फजी खोजक को आमंत्रित करने में सक्षम होना चाहता हूं और बस supmaiqueउसी तरह की रेखा (दूसरों के बीच) खोजने के लिए कुछ टाइप करना चाहता हूं । मुझे पता है कि मैं /sup.*mai.*queएक ही प्रभाव के लिए टाइप कर सकता हूं लेकिन टाइप करने से .*मेरी एकाग्रता भंग होती है।

क्या इसे करने का कोई तरीका है?

जवाबों:


23

Vim ( ctrlp ) के लिए नवीनतम Ctrl-P प्लगइन में "लाइन" एक्सटेंशन है जो फजी लाइन खोज कर सकता है। आपको मैन्युअल रूप से एक्सटेंशन को सक्षम करने की आवश्यकता है। यहाँ मेरा विन्यास है .vimrc:

let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlPLastMode'
let g:ctrlp_extensions = ['buffertag', 'tag', 'line', 'dir']

उसके बाद आप Ctrl-pमेनू लाने के लिए दबाएँ , फिर Ctrl-fकई बार दबाएँ जब तक कि लाइन मोड चालू न हो। अपनी फ़ज़ी स्ट्रिंग टाइप करें:

यहाँ छवि विवरण दर्ज करें

अद्यतन 27 फरवरी 2014

एक वैकल्पिक समाधान जो मैं वर्तमान में खुद का उपयोग कर रहा हूं वह एकजुट होना होगा । फजी लाइन खोज करने के लिए आपको थोड़ा एकजुट होने की आवश्यकता है:

call unite#filters#matcher_default#use(['matcher_fuzzy'])
call unite#filters#sorter_default#use(['sorter_rank'])
call unite#custom#source('file,file/new,buffer,file_rec,line', 'matchers', 'matcher_fuzzy')
nnoremap <C-k> :<C-u>Unite -buffer-name=search -start-insert line<cr>

अब दबाएँ Ctrl-kऔर टाइप करें:

यहाँ छवि विवरण दर्ज करें

वैसे, एकजुट भी नाम से फजी फ़ाइल खोज कर सकते हैं।

अद्यतन 03 अगस्त 2016

लाइन सर्च करने का एक और तरीका है fzf के साथ-साथ vim plugin का इस्तेमाल करना । यहां स्थापना निर्देश देखें: https://github.com/junegunn/fzf.vim#installation

आपके द्वारा fzf और fzf.vim दोनों स्थापित करने के बाद, आप :BLinesवर्तमान बफर में खोज लाइनों का उपयोग कर सकते हैं :

नमूना उत्पादन

आपने देखा होगा कि यह बिल्कुल फ़िज़ी खोज नहीं है जिसका अर्थ है कि मुझे रिक्त स्थान का उपयोग करने की आवश्यकता है। यह आपके काम नहीं आ सकता है।


वैकल्पिक समाधान के रूप में एकजुट हुए।
बाल्टज़ार

वैकल्पिक समाधान के रूप में fzf जोड़ा गया।
बाल्टज़ार

1

जैसा आप चाहते हैं वैसा नहीं, लेकिन set incsearchजैसा आप लिखते हैं, आपके पैटर्न से मेल खाता है। यह वास्तव में फजी मिलान नहीं है, लेकिन भावना समान है।


आह येस। incsearchमहान है, लेकिन वह नहीं है जिसकी मुझे तलाश है।
adamesque
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.