vim에서 글자 삭제하기


vim에서 글자를 삭제하는 것은 쉽다. 다른 텍스트 에디터와 마찬가지로 [Delete] 키나 [Backspace] 키를 누르면 된다. 하지만 항상 그렇듯이 vim에서는 효율적으로 다양한 삭제 작업을 수행할 수 있는 단축키를 갖고 있다.  이를 확인해보자. 


가장, 기본적인 키는 x 로 현재 커서가 위치한 글자를 지운다. 우리가 흔히 사용하는 [Delete]와 비슷한 작용을 한다.


x 커서가 아래에 있는 한 글자를 삭제

name age phone etc x

      ↓

name ge phone etc


소문자 x키를 제외하면 삭제와 관련된 대부분의 키는 소문자 d키와 관련이 있다. 


dw → 현재 커서 위치에서 부터 다음 단어의 첫글자 바로 앞까지 삭제

name age phone etc  dw

      ↓

name aphone etc 

 다음 단어의 첫 글자 바로 전까지 삭제되고 커서는 다음 단어의 첫 글자에 위치하게됨


dd → 커서가 놓여 있는 행 전체를 삭제하고 다음 행이 현재 행으로 끌어올려진다.

아래와 같이 커서가 위치해 있는 상황에서 명령 모드에서 dd 키를 누르면 

1 name age phone etc 

2 name age phone etc

         ↓

2 name age phone etc

 원래 커서가 있던 1행이 지워지고 2행이 위로 끌어올려진다. 그리고 커서는 그 행의 장 첫 글자에 위치한다.


※ 커서 아래에 행이 더이상 없다면 커서가 위치한 행이 지워지고 커서는 이전행으로 올라가 가장 첫 글자에 위치한다.

name age phone etc

2 name age phone etc

         ↓

1 name age phone etc


명령 모드에서 x, dw, dd 키는 앞에 숫자를 붙일 경우 해당 숫자 만큼 명령을 반복한다.


8x 현재 커서 위치에서 8글자가 삭제

5dw 현재 커서 위치에서 5단어가 삭제

7dd 현재 커서 위치에서 7이 삭제


이제 d 키와 다른 키를 조합해서 사용할 수 있다. 


d^ → 캐럿(^)은 행의 첫 글자로 이동하는 키이므로 커서 위치에서부터 그 행의 첫 글자까지 삭제

d$ 달러($)는 행의 마지막 칸으로 이동하는 키이므로 커서 위치에서부터 그 행의 마지막까지 삭제

dk k는 커서를 위로 1행 움직이는 키이므로 커서가 있는 행과 그 위의 행을 전부 삭제

dj j는 커서를 아래로 1행 움직이는 키이므로 커서가 있는 행과 그 아래의 행을 전부 삭제


그 외의 기타는 다음과 같다.


D → d$와 동일하게 커서 위치에서부터 그 행의 마지막까지 삭제

d0 → 커서 위치부터 행의 처음까지 삭제

d^은 행의 첫 글자까지 삭제이므로 첫 글자 앞에 공백이 있을 경우 공백을 지우지 않는다. 하지만 d0의 경우 행의 처음까지 삭제이므로 공백이 있을 경우 공백까지 깔끔하게 삭제한다. 



Anki 파일


아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 



+ Recent posts