Sorting .gitmodules entries with VimEdit

Applying a similar trick to the one in "Sorting functions by name in Vim", we can sort the entries inside a .gitmodules file as follows:

" (1) Collapse each section onto one line.
" Specifically, replace every newline + tab with @@@
:%s/\v\n\t/@@@/

(2) Do the sorting
:%sort

(3) Replace every @@@ by a newline + tab:
:%s/\v\@\@\@/\r\t/g

Note the gotcha here: \n matches newlines in the search pattern, but to insert a newline in the replacement string we use \r.