I wrote a script that takes two git commits and opens all changed files in vimdiff tabs side by side. I find lots of things too hard to see in github gui. It depends one [tpope's vim-fugitive].
I personally find vimdiff a bit harder to navigate for my usecase. The reason is that I am context unaware of the file often in larger projects and wanted something that allows me to check all lines in a touched file. However, I have to admit vimdiff comes quite close to what I need and is a great tool!
I ran in to a couple problems when trying that script (details below), but I'm really happy that you shared it, because I had not seen ':windo diffthis' before, and that method of scripting diffs. I'll definitely be customising it!
(I found that my mac machine doesn't support the '-printf' option, and also I was attempting to run 'git bvd main' on a branch but it seems it does a recursive directory diff, so I'll use 'git diff --name-only' as the input to the awk command).
Edit: worked nicely! I haven't used tabs much in vim so is a slightly new workflow but otherwise very handy
if its not in Rust or browser-based or a "cloud" service or the result of multi-GWH of LLM "training" or a VSCode plugin or ideally all of the prior then the HN kids wont be interested :-)
I wrote a script that takes two git commits and opens all changed files in vimdiff tabs side by side. I find lots of things too hard to see in github gui. It depends one [tpope's vim-fugitive].
[tpope's vim-fugitive]: https://github.com/tpope/vim-fugitive
I'll paste it next time I'm on that machine.
I personally find vimdiff a bit harder to navigate for my usecase. The reason is that I am context unaware of the file often in larger projects and wanted something that allows me to check all lines in a touched file. However, I have to admit vimdiff comes quite close to what I need and is a great tool!
zr?
vim folds are fully programmable. For me a bigger issue was git calling vimdiff for each file, which I fixed with my own difftool: https://gist.github.com/PhilipRoman/60066716b5fa09fcabfa6c95...
I ran in to a couple problems when trying that script (details below), but I'm really happy that you shared it, because I had not seen ':windo diffthis' before, and that method of scripting diffs. I'll definitely be customising it!
(I found that my mac machine doesn't support the '-printf' option, and also I was attempting to run 'git bvd main' on a branch but it seems it does a recursive directory diff, so I'll use 'git diff --name-only' as the input to the awk command).
Edit: worked nicely! I haven't used tabs much in vim so is a slightly new workflow but otherwise very handy
> For me a bigger issue was git calling vimdiff for each file,
If you configure vimdiff as the difftool in your git config, just doing a `git diff` would show you the diff for each file sequentially.
but is it blazingly fast?
if its not in Rust or browser-based or a "cloud" service or the result of multi-GWH of LLM "training" or a VSCode plugin or ideally all of the prior then the HN kids wont be interested :-)