Vim
Move lines matching pattern to the bottom of file
:g/[pattern]/m $
Example
I had a bash file with repeated patterns of:
_some_function () {
# ...
}
alias some_function=_some_function
_another_function () {
# ...
}
alias another_function=_another_function
Wanted to detach function declarations and aliases, so that file would look like:
_some_function () {
# ...
}
_another_function () {
# ...
}
alias some_function=_some_function
alias another_function=_another_function
I used the following command:
:g/^alias/m $
Function declarations remain untouched, while all aliases go down to the bottom of file.
The :g[lobal]
command is neat! :help :global
Reverse order of lines
:g/^/m0