Может войдёшь?
Черновики Написать статью Профиль

Мастерство Vim: Быстрый поиск с CtrlP

перевод Laracasts Мастерство Vim

Это перевод видео-урока с Laracasts, серия Мастерство Vim, урок №7Faster Browsing with CtrlP от . Перевод обновлён . Опечатка? Выдели и нажми Ctrl+Enter.

(0:00)
В прошлый раз мы установили Vundle и плагин Vinegar. Теперь для каждодневной работы, когда вы хотите быстро переключаться в файл, мы установим ctrlp. Вы можете посмотреть тут основные варианты применения. Это еще один хороший сайт, можете полистать его. Почему бы нам просто не погрузиться в это и не начать? Мы используем Vundle. Могу просто скопировать этот URL. Переключусь в MacVim, ,ev. Не забудьте, в предыдущем видео мы установили файл plugins.vim.

(0:30)
Я введу тут Plugin и укажу ctrlpvim/ctrlp.vim. Хорошо, теперь Ctrl+^ перенесет меня в предыдущий файл и я выполню :PluginInstall. Однако, вы наверно заметили, он не показывается здесь. Закроем этот буфер. Это потому, что мы обновили plugin.vim, но я еще не сохранил файл. Мы не обновили (source) его. Сделаем это. Теперь я могу запустить :PluginInstall. Теперь он установился и готов к работе.

(1:00)
Давайте попробуем. Закроем вкладку. Если я введу :CtrlP, то появится это. Есть в плагине и еще одна комбинация по умолчанию. Вы угадали, это Ctrl+P. Теперь можем ввести все, что угодно. Если я хочу перейти в свою модель PHPUser, досточно ввести User и мы тут. А что, если перейти в контроллер? Ctrl+P, Controller и мы тут. Очень быстро, не так ли? Теперь позвольте показать несколько других вещей. Чтобы перейти, скажем, к PHPAuthController (AuthCon).

(1:30)
Хорошо. Если мы прокрутим вниз, то, да... У нас есть такие методы, как validator и create. Что, если нам нужен быстрый способ просмотра этих методов? Конечно, вы можете сделать по ним поиск. /create перенесет нас сюда или, по крайней мере, к первому вхождению строки. Введу , и пробел. Это наше собственное сочетание для удаление подсветки. Другой способ... Нажму gg, чтобы перейти наверх. Другой способ — ввести :CtrlPBuffer... И нам нужны, в частности, теги или символы в коде (symbols).

(2:00)
В этом случае мы можем видеть любые переменные, которые мы определили, или любые функции. Т.е. в этом случае я могу ввести create и перейти туда очень быстро. А если нам нужен validator, то можем снова ввести :CtrlPBufTag и затем validator. Мы тут. Что если добавить набор горячих клавиш для этого? Перейдем вниз. Что, если мы введем, например, <c-R>? Или это будет :CtrlPBufTag... Давайте теперь вернемся назад и попытаемся сделать это.

(2:30)
Нажмем вверху Ctrl+R. Теперь мы можем делать это очень быстро. Или введем validator. Вы поняли идею. Теперь еще кое-что. Что, если вы хотите быстро перейти к недавним файлам? Мы можем выполнить :CtrlPMRU (что означает наиболее часто используемые" — Most Recently Used) — :CtrlPMRUFiles. Видите, мы перешли в класс PHPUser, в PHPPasswordController, в PHPAuthServiceProvider. По крайней мере, я тут. Давайте добавим набор горячих клавиш для этого.

(3:00)
Введем... опять, все, что угодно. Если хотите <D-e>, и далее :CtrlPMRUFiles. Хорошо, теперь в любом момент в этом файле... и давайте закроем все... я нажму Ctrl+P для перехода в PHPAuthController. Снова Ctrl+P, чтобы перейти в PHPPasswordController. Ctrl+R для поиска по любым символам. В этом случае у нас есть только конструктор. И Command+E, чтобы вернуться в предыдущий файл.

(3:30)
Например, наш основной файл Controller.php. Есть еще некоторые настройки, которые можно выполнить. Например, вот что. Копируем это. Мы можем создать раздел Plugins (для различных плагинов). Один для CtrlP... Существует способ изменить поисковый механизм. К примеру, если вы знакомы с Ack или Ag... Если вы предпочитаете этот подход, можете делать так. Я сохраню это немного позже.

(4:00)
На данный момент, если мы хотим, например, игнорировать некоторые файлы. Давайте найдем все по слову ignore. Посмотрим... Кажется то, что нужно. Если мы установим let g:ctrlp_custom_ignore, то можем добавить любой список файлов. Почему бы не попробовать. Переключусь обратно. Вставлю эту строчку. И давайте добавим в игноририруемые папку node_modules. Я не часто захожу туда. Обычно там могут быть сотни и сотни файлов там, поэтому лучше не включать их. Еще мы хотим добавить DS_Store для пользователей Mac.

(4:30)
И в конце git — нашу папку git. Там вообще-то много настроек, которые вы можете загрузить. Вы сами можете их изучить. Но давайте поищем match_window. Зайдем в ваши настройки, введем match_window. Не могу найти. А если так — ctrlp match_window. Окей, похоже, это есть в документации. Это то, где мы настраиваем положение выпадающего списка и порядок выдачи результатов.

(5:00)
Мы можем углубиться в это и найти нужные настройки. Но знаете что? Просто повторите за мной. Хорошо, сейчас мы поместим их вверх. Порядок будет сверху вниз. Мне нужно, как минимум, одну, а максимум 30. Я хочу, чтобы выводились по 30 колонок. Если я нажму Ctrl+P сейчас, список появится ближе к верху, чем к низу. Я предпочитаю так. Если вам не нравится, то укажите, что хотите. Обратите внимание, что порядок сейчас сверху вниз.

(5:30)
Одно быстрое замечание. Если я нажму Ctrl+D, то смогу переключаться между поиском по пути к файлу, либо, собственно, по имени файла. Если я нажму Ctrl+D, это найдет Сontroller в папке и покажет его первым. Но если вас интересуют только сами имена файлов, тогда вы можете опять нажать Ctrl+D. Можете продолжить исследовать этот плагин. Помните, настройте Vim под себя. Пройдитесь по настройкам и найдите именно то, что подходит вам и заставьте это работать. Хорошо. В последних двух уроках вы узнали об основах поиска по файлам. В следующем уроке вы узнаете, как очень-очень быстро найти любой метод, почти мгновенно в вашем проекте. Увидимся.

Как вы считаете, полезен ли этот материал? Да Нет

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.