Топик — вольный перевод статьи Vim Plugins You Should Know About, Part I: surround.vim Петериса Круминса.
UPD: вторая часть
Что такое плагин surround.vim? Вот что говорит о нем автор, Тим Поп (Tim Pope):
Например, вы можете быстро заключить строку в тег html, или убрать пару фигурных скобок, добавить кавычки вокруг слова, etc.
Вот пара примеров, как можно удалить, изменить, или добавить окружение. Символ | означает позицию курсора.
Окружение можно удалить командой «ds». После набора «ds» ожидается ввод цели для удаления. Это может быть кавычка: ', ", или `, скобки:, (, ), {, }, [, ], <, >, и специальная цель 't' которая вызовет удаление крайнего изнутри тега html.
Видите как просто? Всего в три нажатия. Сравните это с тем, как вы бы действовали по-старинке:
Геморройно, согласитесь? (как еще перевести messy я не додумался — прим. пер.)
Чтобы их менять, есть команда «cs». Как и «ds» она требует ввести цель для замещения, а потом то, на что заменяем. Целей для этой команды предусмотрено несколько больше. Есть цель w для слова, W для слова с окружающими символами, s для предложения, p для абзаца.
Можно добавлять окружения командой «cs», которая ожидает ввода цели, или командой «ys» которая принимает как аргумент стандартное тперемещение VIM. Специальная команда «yss» окружает целую строку, а «ySS» размещает окружающие элементы на отдельных строках и паче того добавляет отступ.
Окружения можно добавлять и в режиме ввода, с помощью комбинации <CTRL-s>.
Пожалуйста, осторожнее с CTRL-s. Во многих терминалах это останавливает вывод и сессия замораживается! Если это произошло, используйте CTRL-q чтобы её разморозить. Чтобы убрать сочетание CTRL+s из вашего терминала, добавьте строку «stty stop ''» в файл с настройками терминала(.bashrc, .kshrc, etc).
Заклинаю вас попробовать эти сочитания! Нельзя стать хоккеистом, глядя на игру, надо пробовать самому!
Вот еще полный список команд плагина:
1. Скачайте surround.zip. Архив содержит плагин и документацию.
2. Распакуйте surround.zip в папку ~/.vim (Unix/Linux), или ~\vimfiles (Windows).
3. Перезапустите Vim (или подключите скрипт командой ":so ~/.vim/plugin/surround.vim" в Unix или ":so ~/vimfiles/plugin/surround.vim" в Windows).
4. Сгенерируйте теги справки с помощью ":helptags ~/.vim/doc" в Unix и ":helptags ~/vimfiles/doc" в форточках.
UPD: вторая часть
Что такое плагин surround.vim? Вот что говорит о нем автор, Тим Поп (Tim Pope):
Surround.vim работает со всем, что «окружает»: скобками, кавычками, тегами XML и т.п. Плагин предоставляет сочетания клавиш, которыми можно легко удалять, изменять и добавлять пары таких окружающих элементов.
Например, вы можете быстро заключить строку в тег html, или убрать пару фигурных скобок, добавить кавычки вокруг слова, etc.
Вот пара примеров, как можно удалить, изменить, или добавить окружение. Символ | означает позицию курсора.
Примеры удаления окружений:
Окружение можно удалить командой «ds». После набора «ds» ожидается ввод цели для удаления. Это может быть кавычка: ', ", или `, скобки:, (, ), {, }, [, ], <, >, и специальная цель 't' которая вызовет удаление крайнего изнутри тега html.
Text Command New Text
--------------- ------- -----------
'Hello W|orld' ds' Hello World
(12|3+4*56)/2 ds( 123+4*56/2
<div>fo|o</div> dst foo
Видите как просто? Всего в три нажатия. Сравните это с тем, как вы бы действовали по-старинке:
Text Command New Text
--------------- ------- -----------
'Hello W|orld' F'x,x Hello World
(12|3+4*56)/2 Bxf)x 123+4*56/2
<div>fo|o</div> Bdf>wdf> foo
Геморройно, согласитесь? (как еще перевести messy я не додумался — прим. пер.)
Примеры изменения окружений:
Чтобы их менять, есть команда «cs». Как и «ds» она требует ввести цель для замещения, а потом то, на что заменяем. Целей для этой команды предусмотрено несколько больше. Есть цель w для слова, W для слова с окружающими символами, s для предложения, p для абзаца.
Text Command New Text
--------------- ------- -----------
"Hello |world!" cs"' 'Hello world!'
"Hello |world!" cs"<q> <q>Hello world!</q>
(123+4|56)/2 cs)] [123+456]/2
(123+4|56)/2 cs)[ [ 123+456 ]/2
<div>foo|</div> cst<p> <p>foo</p>
fo|o! csw' 'foo'!
fo|o! csW' 'foo!'
Примеры добавления окружений:
Можно добавлять окружения командой «cs», которая ожидает ввода цели, или командой «ys» которая принимает как аргумент стандартное тперемещение VIM. Специальная команда «yss» окружает целую строку, а «ySS» размещает окружающие элементы на отдельных строках и паче того добавляет отступ.
Text Command New Text
--------------- ------- -----------
Hello w|orld! ysiw) Hello (world)!
Hello w|orld! csw) Hello (world)!
fo|o ysiwt<html> <html>foo</html>
foo quu|x baz yss" "foo quux baz"
foo quu|x baz ySS" "
foo quux baz i
"
Окружения можно добавлять и в режиме ввода, с помощью комбинации <CTRL-s>.
Пожалуйста, осторожнее с CTRL-s. Во многих терминалах это останавливает вывод и сессия замораживается! Если это произошло, используйте CTRL-q чтобы её разморозить. Чтобы убрать сочетание CTRL+s из вашего терминала, добавьте строку «stty stop ''» в файл с настройками терминала(.bashrc, .kshrc, etc).
Пример (мы в режиме ввода):
Command New Text
------- ------------
<CTRL-s>" ""
<CTRL-s><CTRL-s><html> <html>
|
</html>
Заклинаю вас попробовать эти сочитания! Нельзя стать хоккеистом, глядя на игру, надо пробовать самому!
Вот еще полный список команд плагина:
Normal mode
-----------
ds - delete a surrounding
cs - change a surrounding
ys - add a surrounding
yS - add a surrounding and place the surrounded text on a new line + indent it
yss - add a surrounding to the whole line
ySs - add a surrounding to the whole line, place it on a new line + indent it
ySS - same as ySs
Visual mode
-----------
s - in visual mode, add a surrounding
S - in visual mode, add a surrounding but place text on new line + indent it
Insert mode
-----------
<CTRL-s> - in insert mode, add a surrounding
<CTRL-s><CTRL-s> - in insert mode, add a new line + surrounding + indent
<CTRL-g>s - same as <CTRL-s>
<CTRL-g>S - same as <CTRL-s><CTRL-s>
как установить surround.vim?
1. Скачайте surround.zip. Архив содержит плагин и документацию.
2. Распакуйте surround.zip в папку ~/.vim (Unix/Linux), или ~\vimfiles (Windows).
3. Перезапустите Vim (или подключите скрипт командой ":so ~/.vim/plugin/surround.vim" в Unix или ":so ~/vimfiles/plugin/surround.vim" в Windows).
4. Сгенерируйте теги справки с помощью ":helptags ~/.vim/doc" в Unix и ":helptags ~/vimfiles/doc" в форточках.