LINUX.ORG.RU

vim: поставить скобки/кавычки вокруг выделенного блока текста

 


1

2

Здравствуйте! Хочу иметь возможность выделить блок текста, а потом нажать что-нибудь, чтобы по краям него появились того или иного вида скобочки или кавычки. Использую auto-pairs, но он, вроде, так не умеет. Пожалуйста, подскажите, чем такое можно организовать. Заранее спасибо.

★★

Также стоит упомянуть об аналогичном плагине.

Относительно недавно я перешел с vim-surround на vim-sandwich. Начинать рекомендую именно с него(или хотя бы попробовать), ибо он умеет делать умный surround каждой строки в C-v и подсветку текущей операции, чуть более гибкую настройку(даже умеет в regex). Минусом является то, что он имеет биндинги на s, is, as комбинации, а это ломает дефолтное поведение vim'a. Также плагин имеет набор биндингов в стиле surround'a, хотя лично я начал использовать дефолтные.

Ordy ()
Ответ на: комментарий от Ordy

Спасибо! Пока сарраунд устраивает, ибо юзкейс примитивный у меня, но если перестанет - попробую сэндвич.

Norong ★★ ()

есть еще фишка без выделения, но одно слово, на котором курсор, независимо от длины:

nnoremap  ""           viw<esc>a"<esc>hbi"<esc>lel
nnoremap  ''           viw<esc>a'<esc>hbi'<esc>lel

Т.е. если у тебя например в normal mode курсор на каком-то слове и ты два раза нажмешь любые из кавычек, то оно обрамится в соотв. нажатые кавычки.

Со скобочками сложнее, т.к. по-дефолту они имеют известное забинденное значение.

slon ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.