명령 라인에서 범위 지정 명령하기 개요
vim에서는 특정한 범위를 지정하여 해당 부분에만 명령을 적용할 수 있다. 이에 따라 다양한 범위지정 방식을 갖고 있는데 이러한 범위 지정 방식과 명령어들을 결합하여 효과적인 명령을 내릴 수 있다. 앞서 배운 비주얼 모드, 비주얼 라인 모드, 비주얼 블록 모드도 일종의 범위 지정에 해당하지만 지금부터 공부할 것은 명령 라인에 명령어를 입력할 때 필요한 범위를 지정하는 것이다.
명령 라인에 범위를 정하여 명령어를 입력하는 형식은 다음과 같다.
:[시작하는 행],[끝마치는 행][명령어]
[시작하는 행]은 시작하는 행의 행수이고, [끝마치는 행]은 끝마치는 행의 행수이며 쉽표(,)로 구분한다. 가령, 20,30 은 문서에서 20행에서 30행까지 명령어를 적용하라는 뜻이다.
만일, [시작하는 행],[끝마치는 행] 형식이 아니고 그냥 행수 하나만 있을 경우 해당 행에만 명령어를 적용하라는 뜻이다. 다음의 사례들을 보자.
:10d → 10번 행 삭제
:20y → 20번 행 복사
:1,9d → 1번행에서 9번행까지 삭제
범위 지정에 쓰이는 특수기호를 이용하면 좀 더 편하게 범위를 지정할 수 있다. 다음은 범위 지정에 쓰이는 특수 기호들이다.
점(.) → 현재 행을 의미
달러($) → 마지막 행을 의미
+# → 현재 위치에서 #만큼 아래 행을 의미
-# → 현재 위치에서 #만큼 위의 행을 의미
퍼센트(%) → 현재 편집중인 문서(파일) 전체(1,$)
다음은 특수 기호를 이용하여 범위를 지정한 사례들이다.
:%y → 문서 전체 복사
:1,$d → 문서 전체 삭제
:.,+10y → 현재 행에서 다음 아래 10행까지 복사
:-2,+3d → 위의 2행에서 아래 3행까지 삭제
Anki 파일
아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다.
'Anki로 공부하기 > vi 또는 vim 익히기' 카테고리의 다른 글
044 vim 문자열 바꾸기에서 슬래쉬(/) 및 정규표현식 사용 (5) | 2018.07.03 |
---|---|
043 vim 문자열 바꾸기 기본 형식 및 범위와 옵션 (0) | 2018.06.30 |
041 vim의 정규표현식(14) 확장 정규 표현식 4 (0) | 2018.06.27 |
040 vim의 정규표현식(13) 확장 정규 표현식 3 (0) | 2018.06.26 |
039 vim의 정규표현식(12) 확장 정규 표현식 2 (0) | 2018.06.25 |