Help us understand the problem. What is going on with this article?

素のVimでgitのHEADとのdiff

More than 3 years have passed since last update.

ちょっとdiffを見たい時に。

単純な方法ですが、
新しいバッファに git show HEAD を出力して、それを開いているファイルと比較します。

対象のファイルを表示している状態で :new などで新しいバッファを作り、
:r !git show HEAD:#:. でそのバッファにHEADの内容を表示して、
:vert diffs # で先ほど開いたファイルとのdiffをとります。

ただ、:r した内容の先頭に空行が入るのが微妙ですが…。

なお、Windowsの場合はフォルダの区切りをスラッシュにしておく必要があります。

.vimrc
set shellslash

追記
コマンド化してみました。

.vimrc
command! GD :enew | execute "r !git show HEAD:#:." | :1d | :vertical diffsplit #
andouf
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away