事象
Linux環境で.vbaという拡張子のファイルを:wqで保存するも
E382: 'buftype' オプションが設定されているので書込めません
というエラーで保存できない。
環境情報
$ bash --version GNU bash, バージョン 4.4.12(3)-release (x86_64-unknown-cygwin) $ vi --version VIM - Vi IMproved 8.2
原因/解決策
viでファイルを開いた際に「ファイルと関連がなく書き込まれる予定のないバッファ」を意味する値がbuftypeに入ってしまっている。
buftype=nofile
よってvi上にて以下を明示的に行い値を空にしてから保存する。
:set buftype=
以下、補足です。
補足
拡張子を.vbaとしてファイルに変更を加えて保管しようとすると表題のエラーになりました。
他の拡張子では起きえないので仕様だと思いますが、焦らずbuftypeの値を無効にすれば問題なく保存できます。
尚、開きなおすと同じ事象が再現しました。別のLinux環境でも発生したのでCygwinユニークでもなさそうです。
以上、ご参考になれば幸いです。