将多行的部分同时移动到vim中的新行

时间:2013-04-04 13:11:25

标签: vim newline textblock shift

我有一段代码,例如

    ...
    elseif a:flag ==# "replace" return "fg"
    elseif a:flag ==# "visual"  return "#b58900"
    elseif a:flag ==# "insert"  return "#268bd2"
    elseif a:flag ==# "normal"  return "#859900"
    elseif a:flag ==# "replace" return "#dc322f"
    elseif a:flag ==# "visual"  return 3
    elseif a:flag ==# "insert"  return 4
    elseif a:flag ==# "normal"  return 2
    elseif a:flag ==# "replace" return 1
    ...

现在,我想立即将return部分移到所有行的ìf语句下方。这可能在vim? 我试过了<C-v>I<CR><ESC>。但这只会将第一个return移动到新行。

1 个答案:

答案 0 :(得分:2)

在命令模式下:

:%s/return/\r\t\treturn/gc

省略尾随gc以避免确认。