Неовим внешние команды для записи и удаления файлов внутри функции - PullRequest
1 голос
/ 10 апреля 2020

Я использую Neovim в среде Linux (Arch Linux). Я написал функцию, которая поможет мне просматривать мои документы с уценкой в ​​формате PDF без использования всего плагина. Я также добавил простую команду с именем «Prev» для вызова этой функции.

Вот соответствующая часть моего файла vimr c:

function! s:pdf_preview()
    ! pandoc % -s -f markdown -t odt -o ~/.cache/%:t:r.odt > ~/.cache/%:t:r_Prev_log.txt 2>&1
    ! soffice --headless --convert-to pdf --outdir ~/.cache ~/.cache/%:t:r.odt >> ~/.cache/%:t:r_Prev_log.txt 2>&1
    ! zathura ~/.cache/%:t:r.pdf >> ~/.cache/%:t:r_Prev_log.txt 2>&1
endfunction
command Prev call s:pdf_preview()

Примечание: я использую soffice конвертировать из odt в pdf, чтобы избежать установки процессора LaTeX (который, я думаю, потребуется pando c для прямого преобразования из уценки в pdf).

Я хотел бы улучшить это Функция выполняется двумя способами:

  1. сохранить текущий файл в папке .cache перед командой "! pando c", чтобы я мог использовать этот временный файл для предварительного просмотра вместо необходимости сохранять мой документ каждый раз;
  2. удаляйте временные файлы (файлы odt и pdf) после закрытия предварительного просмотра с zathura.

Спасибо за любую помощь!

...