On 2022-03-18 at 02:00:52, wuzhouhui wrote: > Hi > > When "git rebase" stopped due to conflict, I have to manually open > conflicted > file one by one and resolve conflict, and the typing file path is too > boring. > So, how to automatically open (e.g. use Vim) conflicted files? I agree that in the typical project with a few levels of directories this is a hassle. Fortunately, there are lots of ways to do this. The way I happen to do it is with an alias: [alias] conflicted = "!f() { git status -s | grep -E '^(DD|AA|.U|U.)' | cut -b4-; };f" and then I run this: git conflicted | xargs nvim-gtk To preempt someone pointing this out, you would want to use "git status --porcelain" for scripting instead of "git status -s", but I happen to know what I'm doing in this particular case (and have reasons for it) and can fix things if it breaks. You should probably use --porcelain. My approach also works less well if you have files with spaces or other characters special to the shell. That can be fixed with using NUL-terminated strings if that's a problem for you (it isn't on the projects I work on). -- brian m. carlson (he/him or they/them) Toronto, Ontario, CA
Attachment:
signature.asc
Description: PGP signature