作業中のリポジトリの差分を新しいウィンドウですばやく開くために、.vimrc に新しいマッピングを作成しました。
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Quickly see diff
" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Open /tmp/tmp.diff in a new split
" delete the entire content
" read in the diff
nnoremap <leader>d :vsp /tmp/tmp.diff<CR>ggdG<bar>:r !hg diff<CR>
" Automatically write the diff when exiting the buffer so we're not asked to
" save it
autocmd! BufUnload /tmp/tmp.diff :w<CR>
ご覧のとおり、バッファを終了するときに BufUnload autocmd を使用してファイルを保存します。これは、差分を表示するたびに手動で書き込む必要がないためです。しかし、私はむしろ Vim が私に警告しないようにしたいと思っています。
保存されていないコンテンツがあるときに閉じられているかどうかを気にしない、Vim でバッファーを開く方法はありますか? また、特定のファイルを開く必要がなく、匿名のバッファを開く必要がない場合も同様です。
私はむしろ自動書き込みを使用したくありません。
(私は Vim/Vimscript の初心者なので、関数を書く必要がある場合は教えてください)