就像 Vim 中的 J 命令一样,但是做个动作

Dan*_*ner 6 vim

我喜欢J加入多行的命令,但不喜欢必须计算我想要加入的行数。我宁愿提出议案。这可以用V{motion}J; 有没有一种不涉及进入视觉模式的方法(因此破坏了*寄存器)?

mMo*_*ntu 5

我认为没有默认的连接运算符。但是您可以使用此代码,来自同一主题的旧 vim 线程

nnoremap J :set operatorfunc=Joinoperator<CR>g@
nnoremap gJ :set operatorfunc=GJoinoperator<CR>g@
onoremap J j
func! Joinoperator(submode)
        '[,']join
endfunc
func! GJoinoperator(submode)
        '[,']join!
endfunc 
Run Code Online (Sandbox Code Playgroud)

请注意,使用此代码段将无法J用于连接一对行 - 必须使用Jj(或JJ由于omap J j)。