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

Мастерство Vim: Осматриваемся вокруг

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

Это перевод видео-урока с Laracasts, серия Мастерство Vim, урок №2Finding Your Way Around от . Перевод обновлён . Опечатка? Выдели и нажми Ctrl+Enter.

(0:00)
Перед тем, как приступить к настройке редактора вы должны усвоить основные клавиши для перемещения. Я открою Vim или, повторюсь, я предпочитаю MacVim. Это фактически то же самое. Но этот редактор предоставляет вам хорошую GUI-оболочку. Например, вы можете нажать Command+S (на Mac) или Ctrl+S (Windows/Linux), чтобы сохранить файл. На самом деле, вы можете делать множество вещей, выполнение которых сложнее в обычном редакторе Vim. 95% или даже больше, из того, что я буду тут рассказывать, применимо к обоим редакторам.

(0:30)
Хорошо, давайте начнем. Лично я предпочитаю пользоваться MacVim. Да, в этом отношении люди делятся на две категории. Многие бы сказали «просто используй терминальный Vim». Почему бы и нет? Если так, просто наберите vim — я почти уверен, что он уже установлен на вашем компьютере. Но я из тех, кто предпочитает MacVim. У него привычный функционал. К примеру, вы, вероятно, использовали Command+S, чтобы сохранить файл, уже лет 10, верно? С терминальным Vim вы не сможете делать это.

(1:00)
В MacVim эти обычные горячие клавиши уже подразумеваются. И вам будут говорить, что вы отошли от философии или идеи Vim. Знаете что? Ключ к успеху в Vim — возможность настройки именно под ваш рабочий процесс. Т.е., чтобы удовлетворить именно вас, а не кого-то другого. Если вы работаете в MacVim, можете попробовать использовать его и дальше. В противном случае, просто используйте терминальный Vim. Сначала несколько замечаний. Я буду использовать iTerm 2.

(1:30)
И теперь, вы можете видеть, что это отличается от моих обычных видео-записей. Это потому, что я создал нового пользователя в своей системе. Таким образом, я могу настраивать Vim с нуля вместе с вами. Одну вещь я хотел бы сделать сразу — придать ему более приятный вид. Мне нравится пользоваться инструментом, который называется oh-my-zsh. Если мы прокрутим страницу вниз... давайте просто настроем по-быстрому. Мы будем использовать cURL. Я переключусь на iTerm и вставлю эту команду. И вы увидите, что тут у нас файл .zshrc. Это очень похоже на ваш привычный файл .bashrc.

(2:00)
Но знаете что? Всякий раз, когда мы используем Vim, или MacVim, если последний запущен и настроен в .zshrc, то видим несколько вещей. Мы можем установить свою ZSH_THEME. Мы задействуем несколько плагинов. Их тут на самом деле много. Не останавливаясь на них долго, просто покажу, как улучшить внешний вид. Итак, давайте вернемся и посмотрим, что тут можно сделать. Мы можем включить плагины здесь. Можем выбрать тему, обновив переменную ZSH_THEME.

(2:30)
И тут говорится, если мы откроем новое окно в терминале, настройки вступят в силу. Давайте проделаем это. Command+~ открывает новое окно терминала. Да теперь вы видите, что оно выглядит немножко лучше. Далее, если я нажму Command+Enter, оно развернется на весь экран. Наконец, я зайду в свои настройки и поправлю пару вещей. Я люблю, когда текст немного крупнее. Давайте установим размер, например, 18... погодите, слишком большой... 14. Хорошо, это то, что нужно. На самом деле свой редактор я настраиваю немного больше.

(3:00)
Но нам хватит этого. Теперь я создаю папку practice. Введем cd, чтобы зайти в нее. Если мы откроем ее в Vim, мы увидим вот что. Или опять же, у вас может быть белый фон. Если выйти отсюда и зайти вместо этого в MacVim, это позволит получить некоторые более приятные настройки по умолчанию. Их не так много. К примеру, если я введу :w, то файл сохраниться, как practice.php. Теперь я могу ввести букву i и это переключит меня в режим вставки.

(3:30)
Я могу начать вводить php... наконец, я вижу хоть какую-то подсветку синтаксиса «из коробки». Позже мы настроим здесь каждую деталь. Не переживайте. И еще раз, если мы откроем обратно Vim, я введу :e для правки, practice.php или я могу ввести pr и Tab и сработает автоподстановка. Заметьте, что в этой конфигурации у нас нет ничего из этих настроек. Мы должны добавить их вручную.

(4:00)
Сейчас я сделаю кое-какую начальную настройку в Vim. А потом, как только выясним, как все настраивается, я переключусь в MacVim. Таким образом, не будет путаницы из-за разницы в том, как это выглядит на моем компьютере и вашем. Резюмируем сказанное. Вы уже узнали чуть-чуть из этих первых минут. Когда я ввожу : — это переключает меня в режим командной строки, где я могу вводить любое число команд. Для примера :w«записать». Это значит «записать файл» или «сохранить».

(4:30)
:q — чтобы выйти, :e — чтобы править. Также мы узнали, что есть автоподстановка в этом режиме, что весьма полезно. И, конечно, вы можете выполнить :pwd. Это покажет текущую директорию («present working directory»). Вы можете быть знакомы с командой :wq. Вероятно, вы постоянно используете ее для выхода, даже если еще не знаете Vim — он наверняка то и дело появляется перед вами и вам нужно как-то из него выйти. Ну, теперь вы знаете, что это значит.

(5:00)
Мы просто говорим «записать файл и затем выйти из терминала». Ладно, попытайтесь запомнить их. Я бы даже рекомендовал иметь под рукой небольшой блокнот, чтобы записывать в него эти команды. В нем вы будете «жить», вероятно, весь следующий месяц. Теперь отредактируем файл. Я перемещусь в свою домашнюю папку и открою .vimrc. Но сначала мы выйдем отсюда. И если мы переключимся в домашнюю директорию и выведем список файлов, то он будет включать также скрытые папки.

(5:30)
Хорошо. Вам нужно знать, что у вас будет этот файл .vimrc в вашей домашней директории. Только здесь вы сможете его найти. Тут вы можете настраивать каждую деталь Vim'а. Если вы вернетесь в нашу директорию practice, введете :e и откроете .vimrc... Обратите внимание, что я тут ссылаюсь на домашнюю директорию. Изначально он будет пустой. У нас чистая начальная конфигурация. Что, если добавить несколько настроек для начала?

(6:00)
Помните, что если я ввожу n или m... то не вижу ничего. Похоже, что у меня тут блочный курсор не работает курсор. Это потому, что я в «нормальном» режиме. И это важно для понимания Vim. Есть несколько разных режимов. К примеру, если я введу i, то переключусь в режим вставки. Текущий режим виден внизу. Если нажму Escape, то выйду из режима вставки. Теперь я в нормальном режиме и могу перемещать курсор. Например, после ввода h курсор перемещается влево.

(6:30)
Введите букву l и он переместиться вправо. А если я добавлю побольше текста здесь… далее нажму Escape, чтобы вернутся в нормальный режим... Если я введу k, то курсор двигается вверх. А если j, то вниз. Наверное, вы спросите, почему нельзя использовать клавиши со стрелками. Дело в том, что в Vim вам не придется постоянно двигать рукой вправо, если нужно переместить курсор.

(7:00)
Теперь вам никогда не придется перемещать вашу правую руку. Понаблюдайте за своей рукой, когда вы перемещаете курсор. Я двигаю его, но никогда не двигаю рукой. Мои руки находятся в одном расслабленном положении. Итак, повторим. j для перехода вниз, k — наверх, l — вправо, h — влево. h, j, k, l. Теперь, что на счет визуального режима? К примеру, я хочу выделить все и удалить. Хм.. Не работает. Обратите внимание, я выделил, нажал Delete, и это не сработало.

(7:30)
Это именно то, сводит людей с ума в Vim. Это потому, что они на самом деле не понимают его. Не пытайтесь применять в Vim все, что знаете, из Sublime или Textmate. Помните, как я уже сказал, в MacVim есть некоторые привычные вещи. И это одна из них. В MacVim я как раз могу выделить это и удалить. Если я ввожу букву v, это переключает нас в новый режим, показанный здесь внизу — в «визуальный» (visual) режим. Теперь давайте введем l, чтобы перейти вправо. Обратите внимание, сейчас мы выделяем символы.

(8:00)
И если я захочу отменить это, то просто нажму Escape. Теперь, давайте введем заглавную V. Мы снова в визуальном режиме, но сейчас мы выделяем построчно. Итак, заглавная V выделяет всю строчку. Сейчас, если я введу j, выделение идет вниз, а если k — конечно, вверх. Ладно, давайте выделим все. Введем букву d, все удалится. Вот что я имел ввиду, сказав, что это язык.

(8:30)
Это на самом деле не лишено здравого смысла. Если я хочу выделить что-то, то нажимаю V и выделяю. Если хочу что-то удалить, то использую букву d и удаляю. Это может показаться лишним и избыточным, но, поверьте, если вы будете придерживаться этого, то без сомнения полюбите. Вы найдете мало людей, которые изучали Vim и сказали бы при этом, что зря потратили время. Большинство становится его приверженцами очень быстро. Итак, мы в нашем файле .vimrc. Как нам добавить конфигурацию? Давайте попробуем.

(9:00)
Я собираюсь включить синтаксис командой syntax enable. Т.е. я хочу активировать подсветку синтаксиса и установить цветовую схему. Что доступно «из коробки»? Конечно, мы можем дополнительно загрузить сотни. Я переключусь в командную строку, введя : и colorscheme. Теперь просто нажму Tab, чтобы найти нужную схему с помощью автоподстановки. Просто посмотрим... как насчет desert? Итак я введу colorscheme desert. Давайте сохраним это.

(9:30)
Введем :w — чтобы сохранить файл. И теперь обратим внимание на еще одну важную вещь. Мы обновили этот конфигурационный файл, но не прочитали его («source it»). Итак, введем :so. Если я ввожу процент, это просто значит текущий файл. Это, кстати, можно делать не только в Vim. Давайте выполним файл .vimrc. Сейчас вы можете увидеть новую подсветку синтаксиса. По мне, так она выглядит не очень хорошо, но мы вернемся к этому позже. Давайте отредактируем practice.php.

(10:00)
Да.. опять же, какая-то уродливая подсветка синтаксиса, но это намного лучше, чем то, что было раньше. Давайте введем i, чтобы перейти в режим вставки. class foobar, Escape и это переводит меня обратно в нормальный режим. И важно, делать именно так, потому что, если я введу i опять, то перейду в режим вставки. Если я хочу подняться наверх... k вставляет букву k. Итак, я хочу переключиться в нормальный режим, где k фактически означает «наверх».

(10:30)
Escape, k и теперь я наверху. Но, что если мы просто хотим удалить текст? К примеру, вернемся в режим вставки. Нажимаю клавишу Delete и ничего не происходит. Это еще одна вещь, которая сбивает людей с толку. Это потому, что, в Vim нет многих настроек по умолчанию. Все, что вам нужно сделать, это подготовить ваш файл .vimrc однажды и после этого можно работать. В этом смысле, да... Странно, что кнопка Backspace не работает, как я привык. Поэтому давайте добавим некоторые настройки.

(11:00)
Помните, что для любой задачи просто используйте Google, чтобы найти какие-то настройки, которые можно использовать. Но я уже знаю, какие мне нужны. Итак, введу :e .vimrc... Обратите внимание, что в этом случае он не позволит редактировать мне этот файл, потому что мы не сохранили его. Ладно, :w, чтобы сохранить файл. И теперь снова, я могу ввести это вручную или я могу нажать стрелку вверх и выбрать из моих предыдущих команд. Теперь мы переключились. Я хочу добавить настройку set backspace. Мы установим это для работы с отступами, концом строки и началом строки.

(11:30)
Таким образом, это будет работать с разрывом строки и подобными вещами. Итак, :w, чтобы сохранить файл. Прочитаем его (source)... И теперь, если мы вернемся к нашему файлу practice и я введу i, Backspace, вы можете видеть, что происходит то же самое что и в любом другом редакторе. Именно так это работает в Vim. Вы ищете что-то, что кажется неудобным, что не работает, как вы хотите. Добавляете настройку, и продолжаете работать.

(12:00)
Потом, спустя месяц или около того, у вас будет редактор, настроенный именно под ваш вкус. В этом случае, я ввожу Еscape, чтобы перейти в нормальный режим. И u, чтобы отменить. Разумно, верно? Это язык. u, чтобы отменить (undo), w — записать (write), q — выйти (quit), e — править (edit). Есть и другие команды. Как вы обнаружите, строчная v и заглавная V — это разные команды. Вот здесь можно поломать голову.. Но каждый раз делайте только один шаг, изучайте несколько новых вещей в день и вы продвинетесь очень быстро.

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

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

Разметка: ? ?

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