(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Linux】viで保存時にE382: 'buftype'でエラーになる事象

スポンサーリンク

事象

Linux環境で.vbaという拡張子のファイルを:wqで保存するも

E382: 'buftype' オプションが設定されているので書込めません

というエラーで保存できない。

f:id:mtiit:20200906231327g:plain
画面キャプチャ

環境情報
$ 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ユニークでもなさそうです。

以上、ご参考になれば幸いです。