私は、メインのエディタとしてVimクローンのneovim を使っています。折りたたみ(fold)を覚えてそこそこ大きなソースコードの編集が楽になりました。しかしながら、nvim起動の度に折りたたみ状況が解除されて手間だったので、バッファ状態保存の方法を調べたら以下の方法に行き当たりました。
https://vim-jp.org/vim-users-jp/2009/10/08/Hack-84.html
以下のコードをvimの設定ファイルに追加するだけです。
" Save fold settings.
autocmd BufWritePost * if expand('%') != '' && &buftype !~ 'nofile' | mkview | endif
autocmd BufRead * if expand('%') != '' && &buftype !~ 'nofile' | silent loadview | endif
" Don't save options.
set viewoptions-=options
mkview
, loadview
と言うVimのコマンドで保存と呼び出しを行っていますこれをバッファの保存と読み出しのタイミングで実行しています。状態の保存は私の場合~/.local/share/nvim/view
にファイルごとに行われていました。vim-auto-save
と併用していますが問題なく動作しています。