はじめに
Neovimで :checkhealth
コマンドとかを実行した時に開かれたファイルを保存しようとしたら、以下のエラーメッセージが出て保存できない状態に遭遇しました。
E382: 'buftype' オプションが設定されているので書き込めません
バッファと buftype
バッファはメモリに保持されているファイルの内容であるとのことです。
いろんな種類のバッファがあるようで、それが buftype
に格納されるようです。
buftypは以下のコマンドで確認できます。
:set buftype?
普通に Vim/Neovim で開いたファイルの buftype
は空ですが、:checkhealth
コマンドとかを実行した時に開かれたファイルは特殊なバッファに保持されるようです。
今回の場合は nofile
となっていました。
ドキュメントによると以下とのことでした。
nofile ファイルと関連がなく、書き込まれる予定のないバッファ
保存するには
以下のコマンドでbuftypeを空にすれば普通のファイルとして扱えるようになり、保存可能になりました。
:set buftype=
:saveas /tmp/hogehoge.txt