Как я могу быстро заключить в кавычки/закрыть кавычки слова и заключение в кавычки изменения (например, от '
кому: "
) в Vim? Я знаю о surround.vim плагине, но я хотел бы использовать просто Vim.
Surround.Vim будет вашим самым простым ответом. Если вы действительно настроен на это, вот несколько примеров для того, что вы можете сделать. Не обязательно самый эффективный, но вот почему Surround.Vim был написан.
CiW'CTRL + R "'
CIW
- Удалить слово курсор включен и в конечном итоге в режиме вставки.
- Добавить первую цитату. Ctrl + R "
- Вставьте содержимое реестра »
, ака последний янк / удаление. '
- Добавить цитату закрытия Отказ
di'hpl2x
di '
- Удалите слово, заключенное по одним цитатам. HP
- перемещайте курсор на одно место (сверху открывающегося цитаты) и поместите только удаленный текст перед цитатой. l
- Переместите курсор на одно место (сверху открывающей цитаты). 2x
- Удалите две цитаты.
VA ': S / \% V' \% V / "/ G
VA '
- визуально выберите цитируемое слово и цитаты. : S /
- начать замену. \% V '\% v
- соответствует только одиночным цитатам, которые находятся в визуально выбранной области. / «/ G
- замените их все с двойными кавычками. Вот некоторое сопоставление, которое может помочь:
:nnoremap <Leader>q" ciw""<Esc>P
:nnoremap <Leader>q' ciw''<Esc>P
:nnoremap <Leader>qd daW"=substitute(@@,"'\\\|\"","","g")<CR>P
, если вы не изменили MapLeader Переменная, затем активируйте отображение \ Q »
\ Q '
или \ Qd
. Они добавляют двойную цитату вокруг слова под курсором, одинокая цитата вокруг слова под Курсор, удалить любые цитаты вокруг слова под курсором соответственно.
Дополнение к другим командам, это приложит все слова в строке в двойных цитатах (согласно вашему комментарию)
:s/\(\S\+\)/"\1"/
или если вы хотите уменьшить количество обратных язвище, вы можете поставить \ v
( Очень волшебный) модификатор в начале шаблона
:s/\v(\S+)/"\1"/
Я не знаю какой-либо встроенной команды VIM для этого, но с использованием R "F'R"
, чтобы изменить из «на» и R'F » R '
, чтобы измениться от «на» работает, если вы будете стоять на первом или ». Команда R '
заменяет любой символ под вашим курсором с помощью «, и F»
перемещается вперед к следующему ».