Vim-тегі нақты түрін іздеңіз

Міне, менің мәселе. Мен Vim-мен жұмыс істейтін жан-жақты әңгімелер алдым, және ол үлкен, көп уақыт жұмыс істейді. Маған тағы бір нәрсе әсер етеді, бірақ мен айнымалы атаумен бірдей аталатын функцияны іздеуге тырысамын. Кейде мен бірінші рет тырнақшаға ие боламын, кейде жоқ. Содан кейін : tselect деген балама тегтер тізімін шығарғаннан кейін, ол функция анықтамалары немесе айнымалы анықтамалар/тапсырмалар үшін тегтер тізімі арқылы келеді. (PHP-ге кіремін, сондықтан анықтамалар мен тапсырмалар синтаксистік түрде ажыратылмайтын болып табылады).

Дегенмен, функция мен айнымалы мәндер үшін сәйкесінше 'f' немесе 'v' мәні бар «бағынатын» баған бар екенін байқаймын. Мен бұл өріс туралы көп ақпарат таба алмаймын, ол дәл стандартталған немесе кеңінен пайдаланылмауы мүмкін. Менің сұрағым: Vim түріндегі тегтер нәтижелерін «kind» арқылы сүзе аласыз ба?

Ең дұрысы, барлық тегтер файлын іздеу, әйтпесе, кейбір қосымша жалауды көрсету арқылы нақты ('f' немесе 'v') түрін іздей аласыз.

Бұл мен үшін кішкентай мәселе, себебі бұл жиі пайда болмайды, бірақ кейде сізді шынымен тітіркендіретін шағын мәселелер.

6
Тіпті бәрін ажырату үшін жеткілікті ақпарат бар тегтер файлын шығара алатын болсаңыз да, бұл тек жартысы ғана, ал екінші жартысына ешкім назар аудармайды. Екінші жартысы Vim үшін тегті іздеуге болатын мәнмәтінді ескеру және мәтінмәнге негізделген тегтің белгілі бір түрін ғана іздеу. Менің білуімше, Vim автоматты түрде осыған байланысты ештеңе жасамайды және мен ешқашан Вимді осы жолмен жұмыс істеуге теңестіруге тырысқан емеспін.
қосылды автор still_dreaming_1, көзі
Бұл блог блогы сіз (мен мен) кейінгі жолдар бойында перспективалы болып көрінеді: andrewradev.com/2011/10/15/…
қосылды автор icc97, көзі

3 жауаптар

Сіз, ctag файлдарын өзіңіз қалаған php-түрлердің кез-келген тіркесімімен жасай аласыз ( ctags --list-types пәрменін қараңыз).

Егер сіз күш-жігердің құнды екенін сезсеңіз, vim функциясын tagkind етіп жасауға және оны пәрменге қосуға болады. tagkind функциясы ағымдағы tags айнымалы мәнін тек тегтің файлына ғана қызықтыратын және : tag. Қажет болған жағдайда ол tags айнымалысының алдыңғы нұсқасын сақтай және оны бір рет кейін қалпына келтіруі мүмкін.

Өкінішке орай, мен бұған басқа ештеңе білмеймін. Мүмкін, тағы біреу білетін шығар.

5
қосылды
Қызықты идея - мен үшін жұмыс істейді. Егер кімге қамқорлық жасалса, .vimrc кодының үзіндісін gist.github.com/1349053 Мен виммскте өте жақсы емеспін, бірақ маған жеткілікті жақсы.
қосылды автор Jonathan, көзі

Импорттау мәлімдемелеріне арналған тегтерді болдырмау үшін - python-types = -i көмегімен python ctags жасаймын (олар пайдасыз). Мүмкін сіз - php-types = -v түрінде генерациялай аласыз және тегтердің сыныбын толығымен тастай аласыз.

: help tag priority-ді деп оқи аласыз. Шамасы, «ең жоғарғы басымдық» тегі кейбір қатты кодталған логикаға негізделген.

5
қосылды

fzf бар fzf.vim : Tags (барлығы үшін жоба) және : BTags ағымдағы файлды таңдауға мүмкіндік береді.

« Плагинадағы көтерілген мәселе: BTags және: Tags 'дегеніміз белгілі бір түрдегі тек жасалынған тегтерді пайдалануға болатын келесі кодты береді. Мен PHP f түрін ғана іздестіру үшін, төменде өзгертіп қойдым.

command! BTagsEnhanced
        \ call fzf#vim#buffer_tags(, [
        \ printf('ctags -f - --sort=no --php-kinds=f --excmd=number --language-force=%s %s', &filetype, expand('%:S'))], {})

Сұраққа қатысты түсініктемеге сәйкес ескертіңіз, ықтимал Vim tagfinder.vim blog post арқылы плагин Vim және Ctags: Тег анықтамаларын табу . Бірақ мен оны көрмедім.

0
қосылды