Fragments of verbose memory

冗長な記憶の断片 - Web技術のメモをほぼ毎日更新(準備中)

Feb 6, 2021 - コメント - 日記

Vimのバッファの表示状態を自動で保存する

私は、メインのエディタとして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 と併用していますが問題なく動作しています。