2016-10-06 2 views
0

Что такое хороший способ автоматизации подстановки команд в vim?Автоматизация замещающих выражений в vim

Предположим, у меня есть что-то вроде:

s/foo/bar/g 

за исключением гораздо более сложным, и я хочу, чтобы запустить его на выбранных диапазонах без , чтобы набирать команду подстановки?

Как сохранить команду substitute и дать ей короткое удобное имя, которое я могу вызвать?

+0

Вы также можете посмотреть в авто команд – SibiCoder

ответ

1

Вы можете создать функцию с поддерживаемым диапазоном, а в функции сделать замену. Также создайте пользовательскую команду для вызова функции с диапазоном.

Однако самый простой способ я думаю, создает в файле vimrc в abbrev:

cab RR s/foo/bar/g 

Таким образом, при выборе строки, или в командной строке дал диапазоны (например, 3,5 or % ...) при нажатии RR<space>s/foo/bar/g будет заполняется автоматически. Вы можете выполнить некоторую настройку или просто нажать Enter, пусть это уйдет.

1

Вы можете попробовать картирование ниже нажав клавишу пробела дважды на конкретное слово будет автозаполнения заменяющей команду со словом под курсором и ждать, пока вы ввести имя замены

" super quick search and replace 
nnoremap <Space><Space> :'{,'}s/\<<C-r>=expand('<cword>')<CR>\>/ 
nnoremap <Space>%  :%s/\<<C-r>=expand('<cword>')<CR>\>/ 

в вашем случае просто поставить курсор на слово foo и дважды нажмите пробел. Вы должны увидеть

:'{,'}s/\<foo\>/ 

Затем введите строку слово

'{,'}s/\<foo\>/bar 

все вхождения обув будут заменены бар

Смежные вопросы