मेरे पास मेरी परियोजनाएं/srv/http/dev फ़ोल्डर में हैं।वीआईएम सेट ctags .vimrc
$ ctags -R --languages=php .
अब मैं ctags पथ सेट:: मैं एक परियोजना के लिए ctags फ़ाइल उत्पन्न
:set tags=/srv/http/dev/proj/tags
और यह ठीक काम कर रहा है।
लेकिन मेरे पास dev/फ़ोल्डर में कई प्रोजेक्ट हैं। मैं .vimrc फ़ाइल में ctags कैसे सेट कर सकता हूं? set tags=tags
ठीक से काम नहीं कर रहा है।
और मैं चयनित NERDTree फ़ोल्डर पर हॉटकी दबाकर टैग फ़ाइल जेनरेट करना चाहता हूं। मैंने कोशिश की:
nmap <silent> <F4>
\ :!ctags -R
\ --languages=php .<CR>
लेकिन यह घर फ़ोल्डर में टैग फ़ाइल बनाता है और स्कैनिंग घर फ़ोल्डर के बारे में चेतावनी से पता चलता ..
संपादित करें: @Alexandru Plugaru सलाह दी जैसा कि मैंने जी का उपयोग करना चाहिए: NERDTreeFileNode.GetSelected () समारोह।
मैं सिर्फ नौसिखिया उपयोगकर्ता हूं, इसलिए मेरे पास एक और सवाल है। मैं अपने .vimrc फ़ाइल में जोड़ लिया है:
function createTags()
let curNodePath = g:NERDTreeFileNode.GetSelected().path.str
exec ':!ctags -R --languages=php ' . curNodePath
endfunction
nmap <silent> <F4> :execute createTags()<CR>
लेकिन F4 पर दबाकर मैं देख रहा हूँ:
E117: Unknown function: createTags
E15: Invalid expression: createTags
संपादित करें 2: धन्यवाद @Alexandru Plugaru को मैं यह मिल गया:
function CreateTags()
let curNodePath = g:NERDTreeFileNode.GetSelected().path.str()
exec ':!ctags -R --languages=php -f ' . curNodePath . '/tags ' . curNodePath
endfunction
nmap <silent> <F4> :call CreateTags()<CR>
और यह काम करता है! F4 दबाकर मुझे प्रोजेक्ट फ़ोल्डर में टैग फ़ाइल मिलती है।
कोशिश करें: कॉल बनाएंगैग() को पूंजी पत्र के साथ फ़ंक्शन नाम देने का भी प्रयास करें। –