줄 그룹 끝에 텍스트를 삽입하려면 어떻게해야합니까?


17

텍스트 블록이 있다고 가정 해 봅시다 ...

Lorem ipsum
Lorem ipsum dolor
Lorem ipsum dolor sit
Lorem ipsum dolor sit amet

... .각 줄의 끝에 를 삽입하고 싶었습니다 . 이것을 달성하는 가장 좋은 방법은 무엇입니까?

답변:


13

여러 줄에 텍스트를 추가하려면 다음을 수행하십시오.

  • <c-V> -비주얼 블록 모드로 들어갑니다.
  • j/ k을 사용 하여 선을 선택하십시오.
  • $ -커서를 마지막 문자로 이동하십시오.
  • A -마지막 문자 다음에 삽입 모드로 들어갑니다.
  • 원하는 텍스트를 삽입하십시오.
  • <Esc> -삽입 모드를 종료하고 블록 추가를 완료하십시오.

:norm선택 후 쓰기와 비교할 때 키 누름이 훨씬 적지 만 이것을 사용하는 실제 이유는 이러한 유형의 변경에 대해 Visual Block 모드에서 작업하는 것이 더 본능이기 때문입니다.


텍스트 열 붙여 넣기 와 함께 사용 하면 매우 유용 합니다 .
Paul Rougieux

8

첫 번째 줄에 다음을 입력하십시오. 4:norm A.

4그리고 :당신의 범위를 만든 다음 norm A.각 라인에 점을 추가

더 긴 단락에 대한 또 다른 해결책은 다음과 같습니다. Vip<C-v>$A.<Esc>

첫 번째 단계로 단락 선택하는 Vip다음 시각 블록 모드로 변경하고 각 행의 끝으로 커서를 이동 $한 다음은 추가 .로 각 라인 A.과 함께 통상 모드에있어 <Esc>변화가 각 라인에인가되는 표시 .


:A명령 은 무엇입니까 ? 나는 그것을 통해 찾지 못했습니다:h :A
Peter Rincker

내 잘못이야. 실제로 답을 테스트하지 않았습니다. 업데이트 중입니다. 그냥 @Kritixi Lhitos 응답과 같은 일반 명령을 사용한다
rbernabe

보다 두 문자는 4:norm A.4:s/$/.
필리포스

3

먼저 V텍스트를 사용 하여 시각적으로 선택한 다음 이동 키를 사용하여 전체 텍스트를 선택할 수 있습니다 (또는 텍스트가 단락 인 경우 [첫 번째 줄에서 시작] V}). 그런 다음을 입력하십시오 :. 이것은 :'<,'>커맨드 라인에서 와 같은 것을 가져와야합니다 .

:'<'>normal A.

normal A.선택한 줄에서 실행 됩니다. 일반 모드 키 입력으로 normal A.실행 A.됩니다. 이 A을 ppends .선택한 각 줄의 끝에서.


3

모든 줄의 끝에 점을 추가하려면 다음을 수행하십시오.

:%norm A.

또는 검색 및 바꾸기를 사용할 수 있습니다.

:%s/$/./

%는 전체 파일이고 $는 줄 끝입니다.


@ vim.ryan은 전체 파일 대신 텍스트 블록을 요청했기 때문에 :1,4s/$/./ 마지막 문자를 1-4 행의 점으로 대체합니다.
rjt

1

좀 더 일반적으로 만들려면 매크로를 한 줄에 기록한 다음 시각적으로 선택된 범위의 각 줄에서 재생하면됩니다.

매크로를 레지스터 (이 예제의 q 레지스터)에 기록하십시오.

qqA.<Esc>q

그런 다음 조작하려는 라인을 시각적으로 선택할 수 있습니다.

Vip

그런 다음 각 줄에서 매크로를 재생하십시오 (범위가 자동으로 채워짐).

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