Подтвердить что ты не робот

Vim: как выполнить выделенный текст в виде команд vim

Когда я пишу документы, я нахожусь в соглашении о orginization, соответствующем этому документу, и я хотел бы, чтобы vim синтаксис выделил это соглашение. Но создание ftplugin слишком "глобально", я хочу, чтобы синтаксическая раскраска приходила с документом, поэтому, если я отправлю его где-нибудь без этого плагина, они все равно могут получить раскраску. Я обнаружил, что вы не можете сделать это через modeline, потому что он принимает только варианты.

Сейчас я пытаюсь выяснить, есть ли способ выбрать какой-либо текст в визуальном режиме (или что-то еще, но я использую режим визуальной линии для всего, что было бы хорошо) и выполнить его как серию vim команды.

Например, внизу документа есть:

vim highlighting:
    syn match Comment "^>.*$"

Как я могу выбрать этот текст и сказать "стрела, выполнить его", а не повторять его?

4b9b3361

Ответ 1

Вы можете выбрать строки, выставить выбор и выполнить его с помощью

:@"

Ответ 2

Мне нравится делать это сопоставление, которое потребует сначала сделать визуальный выбор и не перезаписать ваш неназванный регистр:

vmap <space> "xy:@x<CR>

Если вам нравится писать команды vim с продолжением строки:

vmap <space> :w! /tmp/x.vim<CR>:so /tmp/x.vim<CR>

Ответ 3

Я определил несколько сопоставлений на основе lh-vim- lib, которые не содержат никакого регистра. Это действительно решение избыточного уровня, но оно является опрятным для сопоставлений, поскольку оно никогда не будет изменять регистр по умолчанию.