
나는 J
여러 줄을 연결하는 명령을 좋아하지만 몇 줄을 연결하고 싶은지 세는 것을 좋아하지 않습니다. 동의를 드리고 싶습니다. 이것은 다음을 사용하여 위조할 수 있습니다 V{motion}J
. 시각적 모드로 들어가지 않고(따라서 레지스터를 손상시키는 *
) 방법이 있습니까?
답변1
기본 조인 연산자가 없는 것 같습니다. 하지만 이 코드를 사용할 수 있습니다.같은 주제에 대한 오래된 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
이 코드 조각을 사용하면 한 쌍의 줄을 연결하는 데 사용할 수 없습니다 J
. 사용해야 합니다 Jj
(또는 JJ
로 인해 omap J j
).
답변2
다음과 같이 할 수 있습니다:
:.,/pattern/join
본질적으로 Vim에게 여러 줄을 연결하라고 지시하는 것입니다. .
현재 커서가 있는 줄이 되고 마지막 줄은 의 첫 번째 일치 항목이 됩니다 pattern
.