Vim 사용법 · 3 min read · Nov 14, 2025

Vim에서 마커를 사용하고 텍스트 선택하는 방법

GUI 기반 텍스트/소스 코드 편집기를 사용할 때, 텍스트 선택과 같은 일부 기능은 당연한 것으로 여겨집니다. 즉, 대부분의 사람들은 더 이상 이것을 기능으로 고려하지 않을 것입니다. 하지만 Vim과 같은 명령줄 기반 편집기에서는 상황이 다릅니다. 특히 Vim에서는 키보드만 사용하여 텍스트를 원하는 방식으로 선택하기 위해 특정 명령어를 배워야 합니다. 이 튜토리얼에서는 이 기능과 Vim의 ‘마크’ 기능에 대해 자세히 설명하겠습니다.

하지만 시작하기 전에, 이 튜토리얼에서 언급된 모든 예제, 명령어 및 지침은 Ubuntu 16.04에서 테스트되었으며, 우리가 사용한 Vim 버전은 7.4입니다.

Vim 편집기에 대한 기본 지식이 있다고 가정하면(없으신가요? 문제 없습니다, 여기로 가세요), ‘d’ 명령어가 한 줄을 잘라내거나 삭제하는 데 사용된다는 것을 알고 계실 것입니다. 하지만 3줄을 잘라내고 싶다면 어떻게 해야 할까요? 답은 ‘명령어를 세 번 반복한다’일 수 있습니다. 좋습니다, 하지만 요구 사항이 전체 단락(또는 몇 개의 단락)을 잘라내는 것이라면 어떨까요? 수동으로 줄 수를 세고 ‘d’ 명령어를 실행하는 것이(심지어 ‘[n]dd’를 사용하더라도) 실용적인 해결책일까요?

아니요, 그렇지 않습니다. 이 경우 더 나은 해결책은 잘라내거나 삭제할 줄을 선택한 다음 ‘d’ 명령어를 한 번만 실행하는 것입니다. 다음은 예시입니다:

아래 스크린샷에 표시된 INTRODUCTION 섹션의 첫 번째 단락 전체를 잘라내거나 삭제하고 싶다고 가정해 보겠습니다:

VIM에서 편집된 텍스트

그래서 제가 할 일은 첫 번째 줄의 시작 부분으로 커서를 가져가고(삽입 모드에서 나와 있는지 확인한 후) ‘V’(Shift+v) 명령어를 입력하는 것입니다. 이렇게 하면 첫 번째 줄이 선택되고 Vim이 비주얼 라인 모드를 활성화합니다.

VIM으로 줄 선택하기

이제 제가 해야 할 일은 아래 화살표 키를 사용하여 전체 단락을 선택하는 것입니다.

Vim으로 여러 줄 선택하기

그래서 우리가 원했던 것이죠? 이제 ‘d’를 눌러 선택한 단락을 잘라내거나 삭제하면 됩니다. 잘라내기/삭제 외에도 선택한 텍스트에 대해 다른 옵션을 수행할 수 있다는 것은 말할 필요도 없습니다.

이제 또 다른 중요한 측면으로 넘어갑니다: 매번 전체 줄을 삭제할 필요는 없습니다; 그런 경우에는 어떻게 해야 할까요? 즉, 우리가 방금 논의한 해결책은 전체 줄에 대한 작업을 수행할 때만 작동합니다. 만약 요구 사항이 단락의 첫 세 문장을 삭제하는 것이라면?

음, 이 경우에도 명령어가 있습니다 - ‘V’ 대신 ‘v’를 사용하면 됩니다(물론 작은 따옴표는 제외). 다음은 제가 ‘v’를 사용하여 단락의 첫 세 문장을 선택한 예입니다:

Vim에서 첫 세 문장 선택하기

계속해서, 때때로 처리하는 데이터가 별도의 열로 구성되어 있을 수 있으며, 특정 열을 선택해야 할 수도 있습니다. 예를 들어, 다음 스크린샷을 고려해 보세요:

국가의 이름만 선택해야 한다고 가정해 보겠습니다. 즉, 텍스트의 두 번째 열입니다. 이 경우 할 수 있는 것은, 문제의 열의 첫 번째 요소 아래로 커서를 가져가고 Ctrl+v를 한 번 누르는 것입니다. 이제 아래 화살표 키를 사용하여 각 국가 이름의 첫 글자를 선택합니다:

그리고 나서 오른쪽 화살표 키를 사용하여 전체 열 또는 전체 이름을 선택합니다.

*팁: 어떤 이유로 텍스트 블록의 선택을 해제한 경우, 다시 선택하려면 명령 모드에서 ‘gv’를 누르세요.*

때때로 큰 파일(예: 소스 코드 파일이나 셸 스크립트)에서 작업할 때 특정 위치로 전환한 다음 원래 있던 줄로 돌아가고 싶을 수 있습니다. 문제가 되지 않는 경우는 질문한 줄이 멀지 않거나 가끔 이 작업을 수행해야 할 때입니다.

하지만 반대의 경우라면 - 현재 위치와 파일의 여러 멀리 떨어진 줄 사이를 자주 점프해야 한다면 어떻게 해야 할까요? 그런 경우의 해결책은 마크를 사용하는 것입니다. 현재 위치를 마크한 다음, 파일의 어디에서든 마크의 이름을 언급하여 이 위치로 돌아올 수 있습니다.

Vim에서 줄을 마크하려면 m 명령어 다음에 마크의 이름을 나타내는 알파벳(사용 가능한 옵션은 소문자 a-z)을 사용합니다. 예를 들어, ma. 이제 마크 a로 돌아가려면 ‘a 명령어를 사용합니다(작은 따옴표 포함).

: 마크된 줄의 시작 부분으로 점프하고 싶다면 아포스트로피(')를 사용하거나, 마크의 줄과 열로 특정하게 점프하고 싶다면 백틱(()을 사용할 수 있습니다.

Vim 마커의 다양한 유용한 응용 프로그램이 있을 수 있습니다. 예를 들어, 줄에 마크를 두고 다른 줄로 이동한 다음 다음 명령어를 실행할 수 있습니다:

d'[mark-name]

현재 위치와 마크된 줄 사이의 모든 것을 삭제합니다.

계속해서, Vim 공식 문서에서의 중요한 정보가 있습니다:

각 파일에는 소문자(a-z)로 식별되는 마크 세트가 있습니다. 또한 특정 파일 내의 위치를 식별하는 대문자(A-Z)로 식별되는 전역 마크 세트가 있습니다. 예를 들어, 열 개의 파일을 편집하고 있다고 가정해 보세요. 각 파일은 마크 a를 가질 수 있지만, 오직 하나의 파일만 마크 A를 가질 수 있습니다.

따라서 소문자 알파벳을 Vim 마크로 사용하는 기본 사용법을 논의했지만, 대문자 알파벳이 어떻게 유용한지에 대해 설명하겠습니다. 다음 발췌문이 이를 명확히 합니다:

제한으로 인해 대문자 마크는 처음에는 소문자 마크보다 덜 다재다능해 보일 수 있지만, 이 기능은 빠른 일종의 "파일 북마크"로 사용될 수 있게 해줍니다. 예를 들어, .vimrc를 열고 mV를 누른 다음 Vim을 닫습니다. 다음 번에 .vimrc를 편집하고 싶다면, 'V를 눌러서 열면 됩니다.

마크를 삭제하려면 ‘delmarks’ 명령어를 사용합니다. 예를 들어:

:delmarks a

위의 명령어는 파일에서 마크 a를 삭제합니다. 물론 마크가 포함된 줄을 삭제하면 해당 마크도 자동으로 삭제됩니다. 마크에 대한 더 많은 정보는 Vim 문서를 참조하세요.

Vim을 기본 편집기로 사용하기 시작하면, 이 튜토리얼에서 설명한 기능은 많은 시간을 절약해주는 유용한 도구가 됩니다. 여러분도 동의하시겠지만, 여기서 설명한 선택 및 마크 기능은 학습 곡선이 크지 않습니다 - 필요한 것은 약간의 연습입니다.

HowtoForge에서 Vim 관련 기사에 대한 전체 내용을 보려면 여기로 가세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.