How would I move the current line behind the line above it? Say I have:
function foo()
{
^ Cursor is here
And want to turn that into:
function foo() {
I am still new to vim, so what I do now is i[backspace][backspace]...etc. :)
Several ways:
kJ or kgJ or VkJ or VkgJ (the last two commands do the same in visual mode).k will go to previous line, and J or gJ will merge with next line (J inserts a space inbetween, gJ just removes the EOL characters):-,j or :-,j!-, is a range that is abbreviation for .-1,. which means “from previous line to current line”j is the ex command for concatenating lines in a range. The banged (with exclamation mark) version acts like gJ.:-s/\s*\n\s*//- means previous line:s is probably known to you, else you should run vimtutor.
/\s*\n\s*/ is pattern for as many spaces as possible plus line terminator (matches different byte sequences according to the file format: LF, CR or CRLF) plus as many spaces as possible.CTRL-W twice (each time it deletes a word, or leading whitespace on a line, or newline) (as ib. suggests, this depends on the backspace setting).References:
:help J:help gJ:help k:help range:help :j:help pattern:help i_CTRL-WIf you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With