(0:00)
Это будет довольно важный урок. Мы приступим к задаче, подразумевающей обзор файловой системы или файлов вашего проекта. Это важно, поэтому нужно все сделать правильно. В версии Vim из коробки, вы можете ввести :e . (после пробела — точка) и это позволит просматривать текущую рабочую директорию. В этом случае у меня есть свежеустановленный Laravel и я могу использовать j, k, h, l для передвижения по папке. А когда я нажимаю Enter, открывается файл. Это все касается наиболее примитивного способа: введите :e . и найдите нужный файл.
(0:30)
Помните, что вы можете искать в списке так, как мы показывали в прошлом видео. Если я хочу открыть файл gulpfile.js, я могу удерживать клавишу j, чтобы пролистать вниз. Или вы можете ввести /gulp + Enter. Я использую это, но кроме этого использую плагин, который немного упрощает процесс. Он называется Vinegar. Плагин добавляет несколько вещей поверх Vim, что позволяет немного улучшить рабочий процесс. Кроме того, я также использую NERDTree — более традиционный менеджер файлов, который работает в боковой панели.
(1:00)
Также я подтягиваю то, что называется ctrlp. Мы разберем все это в следующих двух видео. Давайте начнем с vinegar.vim, дополнительный плагин, который вы можете поставить. Он просто добавляет немного удобства. Видите, для установки мы можем, либо зайти в директорию cd ~/.vim/bundle и клонировать плагин туда, либо, возможно, вы предпочтете использовать отдельный инструмент для управления плагинами. Наверное, вы знакомы с Pathogen или Vundle. Их существует несколько. По моему опыту, Vundle — лучший.
(1:30)
Мы настроим его в этом уроке. Если вы прокрутите вниз, то увидите, что тут сформирован список плагинов, которые вы хотите добавить. Строчки тут относятся к ссылкам на GitHub. Находим их. Пишем простой комментарий, запускаем команду :PluginInstall и они загружаются. Это хорошая практика. Идем к разделу «Quick Start». Самый первый шаг — у вас должен быть установлен git. Это выходит за рамки урока, так что посмотрите видео про git, если вы незнакомы с ним. Будем считать, что вы уже знакомы. Итак, чтобы установить плагины, нам нужно склонировать этот проект...
(2:00)
Заметьте, что мы клонируем его в директорию ~/.vim.bundle. Итак, откроем Iterm, вставим это туда. Теперь он установлен. Если я перейду в .vim/bundle, вы увидите тут список файлов. Далее, нам нужно добавить эту часть кода в наш файл vimrc. Заметьте, тут говорится удалить ненужные вам плагины. Это пример того, что вы можете добавить. Давайте выделим все и скорректируем этот список, когда будем готовы.
(2:30)
Если я вернусь в MacVim... введу ,ev, чтобы перейти в файл vimrc. Я помещу этот кусок наверх, по крайней мере сейчас. Это немного грубовато. Потом мы уберем отсюда и вставим в отдельный файл, который мы будем подгружать. Давайте посмотрим тут. Мы видим set nocompatible. Это означает, что мы всегда хотим использовать последние настройки Vim, а не Vi, если возможно. Потом добавим Vundle в runtimepath. Затем вызовем метод: call vundle#begin(). Это можно удалить.
(3:00)
Далее, позволим Vundle управлять самим собой, поэтому мы добавим сюда Plugin. Занятно: Vundle управляет Vundle. И далее у нас примеры разных форматов. Основная задача — найти нужный плагин. В нашем случае это tpope/vim-vinegar. Далее, возвратимся сюда, введем Plugin и вставим tpope/vim-vinegar. И наконец, нужно запустить команду :PluginInstall. Мы сделаем это через минуту. Но пока давайте эти строки удалим. Нам они не нужны.
(3:30)
Когда мы добавили все наши плагины, мы вызываем метод call vundle#end(). И потом мы включаем настройку filetype. Продолжим. Как я сказал, это выглядит немного грубо. Особенно, когда вы добавляете свои плагины, у вас их будет 20-25 для разной мелочёвки. Это может выглядеть беспорядочно. Давайте сделаем вот что. Я выделю все это и мы добавим тут строку для загрузки отдельного файла: plugins.vim.
(4:00)
Пойдем дальше, создадим его: :e ~/.vim/plugins.vim. Вставляем выделенное. Я введу :bp, чтобы вернуться в предыдущий файл. Или еще я могу всегда ввести Ctrl-^ и это перенесет нас к предыдущей правке. Если я введу это снова, мы вернемся назад. Очень удобно, когда вы переключаетесь между двумя разными буферами или файлами. Уловили? Мы создали файл plugins.vim и добавили в него загрузку Vundle и установку любых плагинов.
(4:30)
Затем мы подгрузили этот файл, т.е. прочитали его. Теперь, если я сохраню его, немного почистим... Давайте запишем: «Мы хотим новейшие настройки/опции в Vim». Проверим это. Сейчас я запущу команду :PluginInstall и мы получим, что нужно. Теперь мы можем использовать Vim Vinegar. Попробуем. Закроем эту вкладку. Фактически я просто перезапущу редактор.
(5:00)
Давайте переключимся в полноэкранный режим. Снова перейдем в приложение. Как насчет работы с исключениями? В любом месте теперь я могу нажать клавишу - (дефис) и немедленно откроется не корневая папка, а директория, в которой расположен текущий файл. Это удобно. Если вы хотите перейти на уровень выше, просто нажмите снова -. Легко и просто. Давайте перейдем к App/Http/Controllers. Допустим, мы работаем тут. Да, теперь всегда, когда мне нужно обратиться к любому контроллеру, я могу нажать знак тире - и затем искать в этом списке.
(5:30)
Кстати, заметьте, как Vinegar избавился от этого громоздкого текста с примерами в самом верху. Этот текст нужно прокручивать вниз. Хороший подход к чистоте кода. Мне это нравится. И, конечно, в любой момент вы можете посмотреть горячие клавиши. Например, я могу создать директорию, нажав d (назову ее my-directory). А если ввести заглавную D, это удалит директорию. Или, если я поставлю курсор на имя файла, то D удалит файл.
(6:00)
Остается только ввести yes для подтверждения. Если же я введу %, это создаст новый файл, new-file.php. Если я сохраню его и нажму тире... он будет отображен тут. Немного подытожим. % создает новый файл, d — новую директорию, а D — удаляет директорию или файл под курсором. Если честно, есть еще горячие клавиши, но я обычно использую только эти.
(6:30)
Давайте просто запомним их. Есть такая хорошая вещь. Все время делаю так, особенно, когда не знаю, какой файл мне нужен — просто просматриваю все. Действительно, существуют ситуации, когда вы хотите взглянуть на ваш проект целиком. Здесь поможет боковое меню с деревом файлов. Можем ли мы получить его в Vim? Да, без проблем. Нужно только добавить плагин NERDTree. Вернемся в Chrome. Давайте просто поищем NERDTree. Вот так. У нас уже установлен Vundle.
(7:00)
Все, что нужно, это скопировать этот URL. Хорошо, переключимся назад. Введу ,ev для правки файла vimrc. Но в этом случае нам нужен plugins.vim. Редактируем его. Не забудьте, вам всегда доступна автоподстановка по Tab. Теперь я должен только ввести Plugin и вставить это сюда. Хорошо, давайте вернемся в наш основной файл. Сохраним его. Он выполнится и перезагрузит плагины. Теперь, если мы установили все, мы получили NERDTree.
(7:30)
Давайте проверим это. Я закрою это. И, снова, эта глупая ситуация со вкладками. Да, пожалуй я бы рекомендовал отключить GUI-вкладки. В любом случае, скажем, мы в этом файле... Теперь введем :NERDTreeToggle. Обратите внимание на заглавные буквы. Если мы запустим это, вы увидите боковую панель, это более привычно. Если мы введем это снова (:NERDTreeToggle)... Или, не забывайте, можно ввести : + Up, чтобы вставить предыдущую команду.
(8:00)
Итак, если мы введем это снова, панель пропадет. Вернем обратно, уберем. Да. Это полезно, когда вы не уверены, что хотите найти. Когда вы просто хотите окинуть взглядом проект. Вы можете просмотреть все файлы, как вам нужно. И, конечно, у нас есть теперь более удобное управление окнами (как мы узнали из предыдущего видео). Я могу нажать Ctrl+H, чтобы перейти в боковую панель и Ctrl+L, чтобы вернуться назад. Если хотите узнать больше, введите здесь знак вопроса и тогда появится много опций.
(8:30)
Но, как я сказал, я обычно использую его для общего осмотра проекта. Для других целей я использую полноценный файловый менеджер, который стоит по умолчанию в Vinegar. Или, как я покажу в следующем видео, ctrlp. Чтобы закончить... Мне не хотелось бы вводить :NERDTreeToggle каждый раз. Это подходящий случай, чтобы создать набор горячих клавиш. Набираем ,ev, прокрутим страницу вниз и в разделе Mappings напишем «Упрощает переключение NERDTree». Введем nmap.
(9:00)
А что если вы пришли из мира PhpStorm, где вы можете вводить «Command+1»? Хорошо, в MacVim мы можем использовать D... Думаю, у терминального Vim проблемы с клавишами-модификаторами. Возможно, вы захотите использовать другие сочетания. Также всегда можете использовать клавишу <leader>. В этом случае, мы будем использовать D. Если я ввожу D+1 — это будет эквивалентом Command+1. И это будет соответствовать NERDTreeToggle и переносу строки (caret return). Итак, у нас всё готово.
(9:30)
Теперь, если мы вернемся, поправим полноэкранный режим и нажмём Command+1, то получим простой способ навигации по файлам. Когда я закончил — Command+1 и я вернулся туда, где был. Хорошо, вы узнали важные концепции из этого урока. Вы узнали, как устанавливать Vundle, который вы будете использовать для каждого нового плагина. Также вы узнали, как использовать основной файловый менеджер (и над ним — надстройку Vinegar) для быстрой работы с файлами.
(10:00)
И, наконец, как загружать NERDTree, когда вам необходимо окинуть взглядом всю структуру проекта. В следующем видео, мы продвинемся на шаг дальше и установим плагин ctrlp, который вы полюбите.