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

VIM: как выполнить содержимое буфера?

У меня есть vim script Я разрабатываю в своем текущем буфере, и я хочу его выполнить. Есть ли простой способ сделать это?

После длительного поиска я нашел только два связанных способа, но не совсем то, что я ищу:

a) "исходная" команда - но для ее использования мне сначала нужно сохранить содержимое в файл, а затем "вернуть" его обратно, что не выглядит просто.

b) команда "вызов" - но я не хочу вызывать свою функцию, я хочу выполнить весь файл, который определяет несколько функций и имеет какой-то код вне функций вообще

4b9b3361

Ответ 1

Использование:

:%y"                      (alternatively: ggyG)
:@"

Он скопирует весь буфер в регистр по умолчанию и затем запустит его.

Смотрите :help :y и :help :@ (а также :help range возможно).

Ответ 2

Автовоспроизведение файла при каждом сохранении может помочь:

autocmd BufWritePost <buffer> source %

Ответ 3

Продолжительность:

:so %

по-прежнему является лучшим способом для источника буфера в одной команде.

OP спрашивает, как объединить сохранение и источники в одну команду. Для этого просто сопоставьте последовательность команд save + source с одним ключом (или запишите макрос).

Пример: map <F4> :w<CR>:so %<CR>

для сохранения и источника текущего буфера с одним нажатием клавиши <F4> (или любым выбранным вами ключом).