Мне нужно создать файл tmp из текущего буфера, отредактировать новый файл, восстановить результат, выйти из :q!
и, наконец, вставить его обратно в текущий буфер. Это может быть очень полезно в таких случаях, как форматирование ТОЛЬКО визуально выбранного кода:
vnoremap <leader>f d:execute "tabnew /tmp/format.".expand("%:e")<cr>p:Autoformat<cr>:%d<cr>:q<cr>P
Единственное, что раздражает, это то, что последовательность :tabnew /tmp/tmp_file
, редактирование, :q!
и вставка обратно выполняются в фронт, который имеет нежелательный побочный эффект мигания экрана несколько раз в этом процессе. Есть ли способ сделать этот процесс в фоновом режиме?