vim : 줄 끝까지 모든 문자를 바꿉니다.


30

어쩌면 나는 멍청하지만 커서가있는 곳에서 줄 끝까지의 모든 문자를 하나의 명령으로 바꿀 수 있습니까? 그런 .다음 다음 행에서 동일한 교체를 수행하는 데 사용 하십시오.

답변:


49

경우 내가 제대로 질문을 이해,이 시도 :

C(자본 C) 커서에서 줄 끝까지 모든 것을 삭제하고 INSERT 모드로 전환 한 다음 대체를 작성하고 INSERT 모드를 종료 .하고 다른 곳에서 프로세스를 반복하는 데 사용 합니다.


벌금. :)천만에요.
sr_

16
궁금한 사람은 수도 C :)
David Silva Smith

1
이것이 대문자 C임을 지정하기 위해 답변을 업데이트하는 것이 좋을 것입니다.
fraxture

14

sr_의 답변에 추가 :

커서가 각 줄에서 동일한 위치에서 시작하면 비주얼 블록 기능에 관심이있을 수 있습니다 .

커서를 초기 위치에두고 다음을 순서대로 입력하십시오.

  • Ctrl+ v: 비주얼 블록 모드로 들어갑니다.
  • $: 줄의 끝으로 가십시오.
  • [X]j: X를 내려 가려는 줄 수로 바꿉니다.

이렇게하면 커서가 첫 번째 줄의 커서에서 아래의 [X] 줄 끝으로 이동합니다.

그런 다음 전체 선택을 바꿀 수 있습니다.

  • c: selction을 삭제하고 삽입 모드로 들어갑니다.
  • 새 텍스트를 삽입
  • Esc: 삽입 모드를 종료합니다. Vim은 선택된 각 라인에서 자동으로 단계를 반복합니다.

가능할 때마다 시각적 블록을 사용하고 공유 할 것이라고 생각했습니다.


실제로 +1 좋은 답변입니다. 그러나 때로는 내 코드가 다음과 같이 멋지게 형식화되지 않았기 때문에 실제로 원하는 것은 아닙니다. ^ _ ~
Sardathrion-복원 Monica Monica

@ 사르 다스리 온; RE 코멘트, '멋지게 형식화'. Markdown 에서 테이블 만들기 Visual Block을 뒤로 선택하여 n+1n을 만든 후 공백으로 줄 을 자동으로 채울 수있었습니다 ! 다시 말해서, 모양은 거꾸로 7 또는 세로로 뒤집힌 L 또는 '정말 형식화되지 않음'과 유사했습니다. lol.
xtian

3

C또는 c$"변경"용이며 R"바꾸기"용입니다.

거의 비슷한 두 가지 동작. 전자는 입력을 시작하기 전에 줄을 삭제합니다. 후자는 문자를 입력하고 표시되는 이전 행 문자의 한계를 초과 할 수 있습니다.


1

명령 모드에서 'C', 즉 대문자 C를 누르고 대체 텍스트를 입력하십시오.


0

다른 답변은이를 놓쳤습니다. 삽입 모드로 들어 가지 않습니다.

  • D 줄 끝까지 삭제
  • d$ 커서에서 줄 끝까지 삭제

그럼 물론 사용 .


삽입 모드로 들어 가지 않기 위해 -1은 특별히 요구 한 것이기 때문입니다. 완전성을 위해 +1.
Sardathrion-복원 모니카

0

유용 할 수 있으므로 줄 끝까지 변경을 시도하면됩니다. 이 작업을 수행하기 위해 삽입 매핑을 만들었습니다. 삽입 D모드에서는이 키가 들여 쓰기를 줄이는 데 사용 되기 때문에 사용하지 않습니다 . 그래서 Ctrl-k

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