Как использовать файл emacs для поиска снарядов без полного пути?

Я новичок в Emacs, поэтому недавно столкнулся с проблемой "как быстро найти и открыть файл в emacs?" (что-то вроде Go-to в возвышенном/атоме, Cmd-P). В качестве решения я использую пакет снарядов, но его поведение немного отличается в следующем сценарии. Если я хочу сузить область поиска, предоставив только части пути, он не сможет найти файл, который я ищу. Например.

Учитывая следующий файл в моем проекте:

my-project/lib/something/bananas

в emacs я запускаю M-x projectile-find-file или C-c p f, как мне найти указанный выше файл, содержащий только lib и bananas?

Если я наберу bananas (только), я смогу найти файл, то, что я ищу, - это способ сузить поиск, поскольку у меня может быть несколько файлов с именем bananas

Я пробовал что-то вроде lib/*/bananas, но не сработало.

В основном поведение, которого я пытаюсь добиться, эквивалентно этому:

пример атома (ссылка на пример, поскольку, к сожалению, у меня нет репутации (баллы ) достаточно загрузить фото сюда)


person Anderson Saunders    schedule 26.02.2017    source источник
comment
То, что вы описываете, обычно называется нечетким поиском или гибким сопоставлением. Существует множество пакетов, предоставляющих эту возможность, но emacs не делает этого из коробки.   -  person Randy Morris    schedule 27.02.2017


Ответы (3)


Для меня это работает с

M-x projectile-find-file or C-c p f

Просто разделите поисковые теги пробелом, в вашем примере:

lib bananas
person user3729611    schedule 01.10.2017

Один из пакетов, который вы можете использовать для этого, — helm-projectile.

person Jeeves    schedule 27.02.2017

Я использую для этого ido-ubiquitious (вместе с (setq ido-enable-flex-matching t)). Это заставляет почти любое завершение использовать ido и, таким образом, дает вам нечеткое соответствие. Вы можете использовать M-SPC для постепенного сужения поиска, например. C-c p f l i b M-SPC b a n a n a s M-SPC. Сопоставление все еще нечеткое, поэтому не имеет значения, сужаете ли вы сначала «бананы» или «lib».

person jpkotta    schedule 27.02.2017