This question is the same as the following question: How to do a git diff on moved/renamed file? but with the important distinction that I want to see the changes between the version of the file in the previous commit, and the version that is currently staged.
git diff --staged shows the whole file being deleted in one side:
--- a/old_path/main.cpp
+++ /dev/null
@@ -0,0 +1,42 @@
- line 1
- line 2
- line 3
- etc.
and the whole file being added on another:
--- /dev/null
+++ b/new_path/main.cpp
@@ -0,0 +1,42 @@
+ line 1
+ line 2
+ line 2.5
+ line 3
+ etc.
without any convenient way of comparing the actual differences between the two.