Вот что я делаю:
vnoremap <buffer> <leader>sur "zc\surroundingtext{<C-R>z}<Esc>
Это создает отображение в визуальном режиме, в котором вы можете выбрать символьно-визуальный выбор (v
) текста, который вы хотите окружить, введите \sur
(при условии, что по умолчанию mapleader
составляет \
), и текст будет быть в окружении указанного вами текста.
"z
указывает регистр 'z'
c
говорит vim изменить визуально выделенный текст, поместив исходный текст в регистр 'z'
\surroundingtest
это левая сторона
<C-R>z
говорит Vim вставить регистр 'z'
}
- правая сторона
<Esc>
возвращает вас в обычный режим
Я также делаю еще один шаг и создаю сопоставления в обычном режиме и в режиме вставки:
nnoremap <buffer> <leader>sur i\surroundingtext{}<Esc>i
inoremap <buffer> <leader>sur \surroundingtext{}<Esc>i
Вы можете поместить эти сопоставления в файл ~/.vimrc
, но они будут отображаться для каждого filetype
.
Лучшим местом для них будет ваш файл ~/.vim/after/ftplugin/tex.vim
, поэтому они отображаются только тогда, когда ваш filetype
равен tex
. Создайте родительские каталоги, если они еще не существуют.
Предполагается, что тип файла правильно установлен на tex
, и у вас включены подключаемые модули типа файла:
filetype plugin on