Как исправить ошибку «E302: Не удалось переименовать файл подкачки» при использовании neovim в качестве MANPAGER с каталогом подкачки, отличным от заданного по умолчанию?
Я хотел бы использовать neovim для просмотра страниц руководства. Для этого у меня есть следующий набор в моем.bashrc
файл:
export MANPAGER='nvim +Man!'
В моей системе MacOS это не вызывает у меня проблем. Но в моей системе Linux открытие man-страницы в конечном итоге появляется в neovim, но при запуске каждой man-страницы примерно на секунду или две появляется следующее раздражающее сообщение:
Error detected while processing function man#init_pager:
line 20:
E302: Could not rename swap file
Я обнаружил, что это связано с помещением моих файлов подкачки в~/.vim/swap
потому что я предпочитаю их там, а не загрязнять свое рабочее дерево:
" Where to store swap files. By default, they will go into ~/.vim/swap, but
" if that doesn't work, they will go in cwd.
set directory=~/.vim/swap,.
Я вижу это только с neovim, а не с vim.
Есть ли способ заставить эти две настройки (используя neovim в качестве MANPAGER и устанавливая альтернативное место подкачки) работать вместе?
Если это полезно, это можно воспроизвести в минимальной степени следующим образом:
docker pull ubuntu
docker run -it --name test_nvim_manpager ubuntu /bin/bash
apt update
apt install -y neovim man
unminimize
mkdir -p ~/.config/nvim
echo 'source ~/.vimrc' > ~/.config/nvim/init.vim
echo "export MANPAGER='nvim +Man\!'" >> ~/.bashrc
echo "set directory=~/.vim/swap,." >> ~/.vimrc
source ~/.bashrc
man ls
Обновление: теперь это происходит, когда на моем Mac работает vim.v0.7.2
. Я подозреваю, что это происходит из-за обновления vim, но сейчас я не уверен, с какой версии.