(0:00)
Давным-давно, когда я только-только изучал Vim, обнаружение плагина surround.vim от Tim Pope (tpope) сэкономило мне кучу времени. Позвольте показать, как это удобно. Начнем, как обычно, с его установки. Напишем здесь Plugin и вставим ссылку из GitHub. Теперь перезапишем наш файл .vimrc. Запустим установку плагина. Давайте перейдем в произвольный файл, например, этот класс PHPAuthenticate
в Laravel.
(0:30)
Как вы могли догадаться, плагин surround предназначен для изменения окружающих символов, апострофов, скобок и прочего подобного. Очень легко. Скажем, я хочу заменить эти одинарные кавычки с обоих сторон на двойные. Итак, вы можете ввести букву r для замены на двойную кавычку. Далее используете букву h для перемещения влево к другой кавычке, и снова r для замены. Мы не хотим делать так. Отменим это действие (u).
(1:00)
Вместо этого, у нас есть установленный плагин surround. Поэтому я могу нажать c s ' " — довольно круто, не так ли? Они заменились. %%(t)cs% (change surrounding) для замены окружающих символов. Далее, символ, который нам нужен, — одинарные кавычки... И затем то, на что его нужно заменить, — двойные кавычки. Вот и все. А если мы хотим выполнить обратную замену, — двойные кавычки на одинарные... Или, возможно, мы хотим удалить кавычки вовсе...
(1:30)
Тогда нажмем d s '. А если нужно удалить окружающие круглые скобки, то d s ) и готово. Теперь, что еще... Представьте, что мы внутри файла-представления. Сохраним и закроем это. Тут, внизу... Да, вы можете делать прикольные вещи также с HTML. Например, возможно, я хочу удалить этот <div>. Если я нажму d s t (delete surrounding tag), это удалит обрамляющий тега.
(2:00)
Здорово, не так ли? Проделаем это снова — d s t для удаления обрамляющего тега. Это полезно. Если у вас есть, что-то вроде этого — слово обрамлено тегом <span>. Иногда раздражает это удалять. Но не с этим плагином. d s t, — и все готово. Или, может быть, (я сделаю отмену, нажав u), вы хотите не удалить их, но вместо этого просто выделить тегом <strong>. Хорошо, в этом случае c s t заменяет тег. И, обратите внимание на курсор внизу — теперь я могу ввести новый тег.
(2:30)
Итак <stong>, Enter — и готово. Проделаем это еще раз. c s t, <div> — готово. В процессе вы можете также задать имя класса, кстати. Итак, снова, — c s t, <strong class="foo"> — и это фраза будет автоматически и правильно заменена. Теперь, что если у вас нет тега вовсе, но вы хотите добавить его? d s t, чтобы удалить это. Теперь давайте выделим все и нажмем заглавную S, %%(t)<strong>% и готово.
(3:00)
Итак, выделим в визуальном режиме (v) текст, нажмем S... Вы не можете использовать строчную s в этом случае, потому что она предназначена для включения режима вставки по умолчанию. Вместо этого — S и, далее, выбираете ваш тег. Очень полезно. Я использую это постоянно. Установите плагин и пользуйтесь в своей практике.