我要这句话:

My, sentence.

要像这样:
My,
sentence.

我的功能是:
function! ParseLine()
   let line = getline(".")
   echom line
   let parsedLine  = substitute(line, ",", "\v\\v\\0\\r\r\\n\r\\<cr>\<cr><cr>\\^M\r&\^@\\^@", "g")
   call setline(".", parsedLine)
endfunction

运行此功能时我得到了什么:
Myvv,^M^M^@^M<cr>^M<cr>^M^M,^@^@ sentence.

最佳答案

最简单的方法:

function! ParseLine()
   exec 's/,\s*/,\r/g'
endfunction

或者,如果您想先调用 substitute() 然后“设置”该行:
function! ParseLine()
   let parsedLine  = substitute(getline('.'), ',\s*', ',\n', "g")
   let o = @o
   let @o = parsedLine
   normal! V"op
   let @o=o
endfunction

关于function - 如何在vimscript替换函数中插入新行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27236267/

10-12 20:46