제목:

리눅스 Vim 기본 사용법에 팁 추가

날짜: Posted on

리눅스 Vim 기본 사용법 포스트에서 추가로, 조금 더 편리하게 사용할 수 있는 팁을 서술합니다.

Vim에서는 줄 번호 표시 기능이 있습니다.

#include <stdio.h>

int main()
{
    printf("Hello, world!");
    return 0;
}
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
                                                              1,1          모두

위와 같이 있을 때 여기서 줄 번호도 같이 보여지게 하고 싶다면, 마지막 라인 모드로 진입해서 :set number 또는 줄여서 :set nu라고 치고 Enter를 누르면,

  1 #include <stdio.h>
  2 
  3 int main()
  4 {
  5     printf("Hello, world!");
  6     return 0;
  7 }
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
:set nu                                                       1,1          모두

이렇게 왼쪽 부분에 줄 번호가 표시되면서 편집하기 한결 편해집니다. 물론 줄 번호는 편집할 때만 보여지고 실제로는 저장되지 않습니다. 만약 줄 번호를 다시 숨기고 싶다면 :set nonumber 또는 줄여서 :set nonu라고 칩니다.

만약 Vim을 실행시킬 때마다 항상 줄 번호가 표시되게 하고 싶다면 사용자 디렉터리(~/)에 숨김 파일로 있는 .vimrc 파일을 편집해서

set nu

이 한 줄만 추가하고 저장하면 다음에 Vim을 실행시킬 때부터 항상 줄 번호 표시가 적용됩니다.

명령 모드에서 커서를 빠르게 이동하는 방법 (대소문자를 구별함에 주의 바랍니다.)

  • [b] 키를 누르면 앞 단어로, [w] 키를 누르면 다음 단어로 이동합니다. 만약 대문자로 [B] 또는 [W]를 누르면 온점(.)이나 반점(,)을 무시하고 이동합니다.
  • [e] 키를 누르면 해당 단어의 끝부분으로 이동합니다.
  • [Enter] 키를 누르면 다음 줄의 맨 앞으로 이동합니다.
  • [0] 키(숫자)를 누르면 해당 줄의 맨 앞으로, [$] 키를 누르면 해당 줄의 맨 뒤로 이동합니다. Vim에서는 [Home] 키와 [End] 키로 대신할 수 있습니다.
  • [H] 키를 누르면 현재 화면의 최상단으로, [M] 키를 누르면 현재 화면의 중간 줄로, [L] 키를 누르면 현재 화면의 최하단으로 이동합니다. (그냥 소문자로 hjkl은 한 칸씩 이동입니다.)
  • [Ctrl+f] 키는 다음 화면으로, [Ctrl+b] 키는 이전 화면으로 이동합니다. Vim에서는 [PageUp] 키와 [PageDown] 키로 대신할 수 있습니다.
  • [Ctrl+d] 키는 화면의 절반만큼 다음으로 스크롤, [Ctrl+u] 키는 화면의 절반만큼 이전으로 스크롤입니다.
  • [숫자+G] 키는 해당 줄로 이동합니다. 즉, 10G는 10번째 줄로 이동, 1G는 첫 부분으로 이동입니다. 만약 그냥 G만 누르면 문서의 맨 끄트머리로 이동합니다. 문서의 맨 첫 부분과 맨 끝 부분으로의 이동은 사각괄호( [, ] )를 두 번 연달아 누르는 것으로도 가능합니다. ([[: 문서의 처음으로, ]]: 문서의 끝으로)

명령 모드에서 / 또는 ?를 누르면 마지막 라인 모드로 진입하는데, 이 경우는 / 또는 ? 다음에 입력하는 문자열을 검색하는 의미입니다. 예를 들어, /print의 경우 현재 커서 위치 다음의 ‘print’라는 문자열을, ?print의 경우 현재 커서 위치 이전의 ‘print’라는 문자열을 찾는 의미입니다. 그리고 n을 누르면 현재 커서 위치 다음의 일치하는 문자열을 한 번 더 찾으며, N을 누르면 현재 커서 위치 이전의 일치하는 문자열을 한 번 더 찾습니다.

만약 편집하다가 실수를 해서 편집을 취소하고 싶을 경우가 있는데, 이 경우 마지막 라인 모드로 진입해서 :undo 또는 줄여서 :un이나 :u를 치면 직전의 편집이 취소됩니다. 반대로, 취소한 편집을 다시 실행하고자 할 경우 :redo 또는 줄여서 :re라고 치면 됩니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다