Code Review from the comfort of vim | Diffurcate ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ I often review Pull requests from the browser as it just makes it so easy to see the diffs and navigate through them, but there comes a time when the diffs... Date: December 4, 2021 I often review Pull requests from the browser as it just makes it so easy to see the diffs and navigate through them, but there comes a time when the diffs get really big and hard to follow. That’s when its time to bring in the comforts of vim. https://youtu.be/5NKaZFavM0E Plugins needed ────────────── This all stems from the great plugin by AndrewRadev . It breaks a down into a project. So rather than poping into a pager from git diff, you can pipe to diffurcate and it will setup a project in a tmp directory for you and you can browse this project just like any other except it’s just a diff. ``` Plug 'AndrewRadev/diffurcate.vim' ``` My aliases ────────── First to quickly checkout PR’s from azure devops I have setup an alias to fuzzy select a pr and let the az command do the checkout. ``` alias azcheckout='az repos pr checkout --id $(az repos pr list --output table | tail -n -2 | fzf | cut -d " " -f1)' ``` Next I have a few aliases setup for checking diffs. The first one checks what is staged vs the current branch, the others check the current branch vs main or master. ``` alias diffstaged="git diff --staged | nvim - +Diffurcate '+Telescope find_files'" alias diffmain="git diff main.. | nvim - +Diffurcate '+Telescope find_files'" alias diffmaster="git diff master.. | nvim - +Diffurcate '+Telescope find_files'" diffcommit() { git diff $1 | nvim - +Diffurcate '+Telescope find_files' } ``` Links ───── - diffurcte.vim