Gitで過去のバージョンのファイルを単体で見たいときは,
git show <コミットのハッシュ値>:<開きたいファイル(相対パス)>
で見ることができます. (ファイル名は.gitが置いてあるディレクトリからみた相対パス)
これをハイライト付きで見たいときはパイプで渡して,
git show <ハッシュ値>:<開きたいファイル> | vim -c"file ${1##*/}"-c'filetype detect' -
とすることでvimで表示できます.
毎回打ち込むのは手間なので.bashrcなどに設定しておくと楽です.
.bash_aliases
function vimgitshow(){
git show "$1" | vim -M-c'set nomod'-c"file ${1##*/}"-c'filetype detect' -
}
vimgitshow <ハッシュ値>:<開きたいファイル>
参考URL
標準入力を読み込んで編集
https://vim-jp.org/vimdoc-ja/starting.html#vim-arguments
編集できないようにする
https://vim-jp.org/vimdoc-ja/starting.html#-M
https://vim-jp.org/vimdoc-ja/starting.html#-c
https://vim-jp.org/vimdoc-ja/options.html#'nomod'
filetypeを設定する
https://vim-jp.org/vimdoc-ja/editing.html#:file
https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html#Shell-Parameter-Expansion
https://vim-jp.org/vimdoc-ja/filetype.html#filetype-detect