Vim에서 줄을 나누는 명령이 있습니까?


답변:


16

아니요, 기본 제공 명령이 없습니다.

에 분할하고 싶을 때는 할 <Space>r<CR>있습니다.

--- 편집하다 ---

@ keith-nicholas의 의견은이 질문에 대해 나에게 상기시켰다. FWIW 나는 그 동안 희망적으로 "유니버설"방법을 생각해 냈습니다.

function! BreakHere()
    s/^\(\s*\)\(.\{-}\)\(\s*\)\(\%#\)\(\s*\)\(.*\)/\1\2\r\1\4\6
    call histdel("/", -1)
endfunction

nnoremap <key> :<C-u>call BreakHere()<CR>

4
사용 r<CR>은 단순히 영리합니다! 감사!
Marcelo

1
대단해! 라인을 삽입하기 위해 인서트로 들어가는 성가신
Keith Nicholas

나는 s<CR>들여 쓰기를 유지하지만 r<CR>그렇지는 않습니다.
toxefa

5

a Enter Esc커서의 오른쪽 i Enter Esc으로 분할 하거나 왼쪽으로 분할합니다.


1
그게 다야. 하나의 줄 바꿈 만 삽입하십시오. 또는 r + <return>을 사용하여 커서 아래의 문자를 줄 바꿈으로 바꿉니다. 하나의 문자 명령을 사용하는 것이 좋을 것입니다.하지만 내가 아는 한 명령이 없습니다.
Tonny

2

Vim에서 줄을 나누는 가장 쉬운 방법은 일반 모드 명령입니다 gq(일반 또는 시각적 모드에서 두 문자를 빠르게 연속해서 입력하십시오).

  • 비주얼 모드에서는 선택한 항목을 분할합니다.
  • 일반 모드에서는 gq동작 을 따릅니다 .

예를 들어 gql한 줄을 현재 설정된 너비로 분할합니다. 분할 선의 너비를 현재 설정과 다르게 설정하려면

:set textwidth=<n>

여기서 n = 10과 같이 한 줄에 원하는 문자 수를 입력 한 후 일반 너비로 다시 변경하십시오.

Kholidfu의 Youtube 비디오에서이 정보를 얻었습니다. Vim Tutorial-Join and Split Lines 모션을 사용하여 일반 모드에서 선을 결합하고 분할하는 방법을 보여줍니다 .


1

당신은지도를 사용하여 자신을 정의 할 수 있습니다. 예를 들어 z를 명령으로 정의하려면 다음을 수행하십시오.

:map z i<CTRL+m>

0

매크로를 기록 할 수 있습니다.

일반 모드에서 "q +"를 입력하여 레코드를 시작하십시오. 기록하고자하는 매크로 "i"를 누르십시오. "q"를 다시 누르면 녹음이 중지됩니다.

매크로를 사용하려면 일반 모드로 이동하여 "@ + letter"를 입력하십시오.

내 경우에는 "b"를 사용하여이 매크로를 사용했습니다. 일반 모드에서 형식을 기록하려면 "qbiq"형식을 사용하여 일반 모드 "@b"

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.