2010-09-10 2 views
5

В Vim это быстрая 3-символьная команда для изменения того, что находится внутри текущей строки (например, ci), но есть простой способ изменить, какой тип кавычек в настоящее время окружает курсор ?Изменение заключенных котировок в Vim

Иногда мне нужно перейти с «бла» на «» «blah» или «blah» на «blah» (в исходном коде Python), и я бы идеально хотел сделать это быстро, используя привязки ключевых слов по умолчанию .

ответ

18

Попробуйте surround.vim плагина. Я считаю, что существенное дополнение к любой установке VIM.

+0

Это хороший плагин! –

+0

выглядит отлично, спасибо! – Mzzzzzz

+0

Чтобы перейти от кавычек к тройным кавычкам, сделайте 'ysa" "wysa" "'. Стоит вставить макрос или привязать его. Например, ': noremap : normal ysa" "wysa" "' свяжет это с 'Ctrl' +' c'. В качестве альтернативы вы можете просто нарисовать ': noremap : normal ysiw" w ', чтобы окружать любое слово кавычками, а затем нажмите' Ctrl' + 'c' или что бы вы не связывали * n * раз, чтобы добавить * n * sets цитаты – Jay

2

Surround.vim велик, но я не думаю, что он будет обрабатывать вашу Tripl е-котируются непосредственно.

То, как я делал вещи в этих строках (когда окружающий не был подходящим), состоял в том, чтобы использовать %, внести изменения, а затем удвоить назад, чтобы вернуться к исходной точке. Например. если курсор находится где-то в одной кавычной строке, сделайте f'%, внесите изменения, затем дважды нажмите кнопку и ..

+0

Не знал о двойном обратном пути, я бы принял тот же подход, за исключением того, что я сделал бы бросок. +1. –

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