Ответ 1
Вы можете выбрать строки, выставить выбор и выполнить его с помощью
:@"
Когда я пишу документы, я нахожусь в соглашении о orginization, соответствующем этому документу, и я хотел бы, чтобы vim синтаксис выделил это соглашение. Но создание ftplugin слишком "глобально", я хочу, чтобы синтаксическая раскраска приходила с документом, поэтому, если я отправлю его где-нибудь без этого плагина, они все равно могут получить раскраску. Я обнаружил, что вы не можете сделать это через modeline, потому что он принимает только варианты.
Сейчас я пытаюсь выяснить, есть ли способ выбрать какой-либо текст в визуальном режиме (или что-то еще, но я использую режим визуальной линии для всего, что было бы хорошо) и выполнить его как серию vim команды.
Например, внизу документа есть:
vim highlighting:
syn match Comment "^>.*$"
Как я могу выбрать этот текст и сказать "стрела, выполнить его", а не повторять его?
Вы можете выбрать строки, выставить выбор и выполнить его с помощью
:@"
Мне нравится делать это сопоставление, которое потребует сначала сделать визуальный выбор и не перезаписать ваш неназванный регистр:
vmap <space> "xy:@x<CR>
Если вам нравится писать команды vim с продолжением строки:
vmap <space> :w! /tmp/x.vim<CR>:so /tmp/x.vim<CR>
Я определил несколько сопоставлений на основе lh-vim- lib, которые не содержат никакого регистра. Это действительно решение избыточного уровня, но оно является опрятным для сопоставлений, поскольку оно никогда не будет изменять регистр по умолчанию.