Как приручить команду vim ": find" - PullRequest
2 голосов
/ 17 сентября 2010

Скажем, у меня есть файлы foo.js и bar.css в моем проекте.В vim есть команда ": find", которая находит файлы, соответствующие строке.Но эта команда, увы, имеет некоторые ограничения.Например, если я запускаю этот путь - «vim», или даже так - «vim».- ничего не найти в подкаталоге js.Но если я запускаю vim таким способом - "vim js / any_file_other_than_foo.js", то вызов ": find foo.js" работает довольно хорошо.

Поскольку он не интуитивен (я работаю в той же директории, "pwd" возвращает тот же путь), мой первый вопрос - кто-нибудь может объяснить, как обойти эту проблему?И, еще шире, есть ли способ напечатать что-то вроде find foo - и открыть первый файл, имя которого соответствует шаблону foo.

заранее спасибо.

Ответы [ 3 ]

7 голосов
/ 17 сентября 2010

Вы можете попробовать

:e[dit] **/*foo*, а затем нажать «tab» для перехода к первому совпадению.

** - это шаблон глобализации каталога, а * - символсоответствие.

Если бы вы были так склонны, вы могли бы написать простую команду нечеткого поиска, для получения дополнительной информации вы можете проверить вики советы vim: http://vim.wikia.com/wiki/Find_files_in_subdirectories

4 голосов
/ 13 июня 2011

Vim's :find работает путем поиска каждого каталога в переменной path (и игнорирует pwd).По умолчанию он не выполняет рекурсивный поиск.Вот почему find работает только тогда, когда вы открываете файл js."."в пути относится к каталогу для текущего файла, а не к pwd.

Вы можете изменить путь для включения желаемых каталогов:

set path+=$PROJECT/js

См. :help path.

Один из магических битов, которые нужно использовать, - добавить ** к пути для рекурсивного поиска по этому пути:

" search recursively in my project
set path+=$PROJECT/**
" search recursively from the current file's directory
set path+=./**

См. :help file-searching для получения дополнительной информации.

2 голосов
/ 18 сентября 2010

Хороший плагин, который выполняет аналогичный эффект: Command-T .

Плагин Command-T обеспечивает чрезвычайно быстрый, интуитивно понятный механизм для открытия файлов с минимальным количество нажатий клавиш. Это называется «Command-T», потому что он вдохновлен окно «Перейти к файлу» привязано к Command-T в TextMate.

Файлы выбираются путем ввода символы, которые появляются на их пути, и упорядочены по алгоритму, который знает, что символы, которые появляются в определенные места (например, сразу после пути разделитель) нужно дать больше веса. нужно дать больше веса.

Вот скринкаст Command-T в действии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...