vim을 공부하고 있습니다. 왜냐? 조만간 해피해킹 키보드를 살 예정이기 때문이죠
맥북 기본 키보드를 계속 쓰려고 해봤는데, 더 나은 생산성을 위해 외장 키보드를 좀 사야 할 것 같습니다 ㅠ
아무튼 해피해킹을 쓰면 vim 키매핑을 쓰거나 아예 vim으로 이주하는 것도 고려하고 있기에 vim 공부의 필요성을 느끼고 있던 와중, vim에서 vimtutor라는 튜토리얼이 있다고 해서 해봤는데 괜찮네요.
맥 터미널에서 vimtutor를 입력하면 이런 빔 길잡이(Vim Tutor) 창이 나옵니다.
위에서부터 쭉 읽으면서 따라하면 됩니다. 이 튜토리얼을 다 따라하는데는 25~30분 정도가 든다고 하네요.
전체 내용을 보고싶은 분은 깃허브(github.com/vim/vim/blob/master/runtime/tutor/tutor.ko.utf-8)에서 확인하시면 되겠습니다.
아래는 vimtutor의 요약 부분중에 제가 공부한 부분만 갖고 온 겁니다. (~ Lesson 4)
-> 다 했습니다~ 이제 기초는 다 뗐네요
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 1 요약
1. 커서를 움직일 때에는 화살표 키나 hjkl 키를 이용합니다.
h (왼쪽) j (아래) k (위) l (오른쪽)
2. 쉘 프롬프트에서 빔을 시작하려면 vim FILENAME <ENTER>
3. 수정한 내용을 무시한 채로 빔에서 빠져나가려면 <ESC> :q! <ENTER>
저장한 후 빔에서 빠져나가려면 <ESC> :wq <ENTER>
4. 명령 모드에서 커서가 위치한 곳의 글자를 지우려면 x 를 입력합니다.
5. 명령 모드에서 커서가 위치한 곳에 텍스트를 삽입하려면
i 를 누른 후 텍스트를 입력하고 <ESC> 커서 앞에 삽입합니다.
A 를 누른 후 텍스트를 입력하고 <ESC> 문장 뒤에 추가 합니다.
참고: <ESC>는 명령 모드로 돌아가는 데 쓰며, 원치 않는 명령이나 완전히 입력되지
않은 명령을 취소하는 데에도 씁니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 2 요약
1. 커서가 위치한 곳부터 단어의 끝까지 지우려면: dw
2. 커서가 위치한 곳부터 줄 끝까지 지우려면: d$
3. 줄 전체를 지우려면: dd
4. 횟수와 함께 대상을 반복 시키려면: 2w
5. 명령 모드에서 내리는 명령의 형식은 다음과 같습니다:
[횟수] 명령 대상 또는 명령 [횟수] 대상
여기서:
횟수 - 그 명령을 몇 번 반복할 것인가
명령 - 어떤 명령을 내릴 것인가 ( 예를 들어, 삭제인 경우는 d )
대상 - 명령이 동작할 대상, 예를 들어 w (단어), $ (줄의 끝) 등.
6. 커서를 문장 맨 앞으로 옮기려면: 0
7. 이전 행동을 취소하려면: u (소문자 u)
한 줄에서 수정한 것을 모두 취소하려면: U (대문자 U)
취소한 것을 다시 실행하려면: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 3 요약
1. 이미 지운 내용을 되돌리려면, p 를 누르십시오. 이 명령은 커서 *다음에*
지워진 내용을 붙입니다(PUT). (한 줄을 지운 경우에는 커서 다음 줄에
지워진 내용이 붙습니다.)
2. 커서 아래의 글자를 치환하려면(REPLACE), r 을 누른 후 원래 글자 대신
바꾸어 넣을 글자를 입력합니다.
3. 변환 명령(CHANGE)은 커서에서 부터 지정한 대상의 끝까지 바꿀 수 있는
명령입니다. 예를 들어, 커서 위치에서 단어의 끝까지 바꾸려면 ce 를
입력하면 되며, c$ 는 줄 끝까지 바꾸는 데 쓰입니다.
4. 변환 명령의 형식은 다음과 같습니다:
[횟수] c 대상 또는 c [횟수] 대상
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 4 요약
1. CTRL-G 파일의 상태와 파일 내에서의 현재 위치를 표시합니다.
G 파일의 끝으로 이동합니다.
숫자 G 해당 줄로 이동합니다.
gg 첫 번째 라인으로 이동합니다.
2. / 를 입력한 후 문구를 입력하면 그 문구를 아랫방향으로 찾습니다.
? 를 입력한 후 문구를 입력하면 윗방향으로 찾습니다.
검색 후, n 을 입력하면 같은 방향으로 다음 문구를 찾으며,
Shift-N 을 입력하면 반대 방향으로 찾습니다.
CTRL-O 는 과거의 위치로, CTRL-I는 새로운 위치로 옮겨줍니다.
3. 커서가 (,),[,],{,} 위에 있을 때에 % 를 입력하면 상응하는 짝을
찾아갑니다.
4. 어떤 줄에 처음 등장하는 old를 new로 바꾸려면 :s/old/new
한 줄에 등장하는 모든 old를 new로 바꾸려면 :s/old/new/g
두 줄 #,# 사이에서 치환을 하려면 :#,#s/old/new/g
파일 내의 모든 문구를 치환하려면 :%s/old/new/g
바꿀 때마다 확인을 거치려면 'c'를 붙여서 :%s/old/new/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 5 요약
1. :!command 를 이용하여 외부 명령을 실행합니다.
유용한 예:
(MS-DOS) (Unix)
:!dir :!ls - 디렉토리의 목록을 보여준다.
:!del FILENAME :!rm FILENAME - FILENAME이라는 파일을 지운다.
2. :w FILENAME 하면 현재 빔에서 사용하는 파일을 FILENAME이라는 이름으로
디스크에 저장합니다.
3. v 명령 :w FILENAME 은 비주얼 모드에서 선택된 문장들을 파일 FILENAME에 저장합니다.
4. :r FILENAME 은 디스크에서 FILENAME이라는 파일을 불러들여서 커서 위치
뒤에 현재 파일을 집어넣습니다.
5. :r !dir 는 dir 명령어의 결과값을 현재 커서의 위치 아래에 붙힙니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 6 요약
1. o 를 입력하면 커서 *아래에* 한 줄이 열리며, 커서는 편집 모드로
열린 줄 위에 위치하게 됩니다.
대문자 O 를 입력하면 커서가 있는 줄의 *위로* 새 줄을 열게 됩니다.
2. a 를 입력하면 커서 *다음에* 글을 입력할 수 있습니다.
대문자 A 를 입력하면 자동으로 그 줄의 끝에 글자를 추가하게 됩니다.
3. e 를 입력하면 단어의 끝으로 움직입니다.
4. y 를 입력하면 복사(yank (copy))를, p 를 입력하면 붙여 넣기가 됩니다.
5. 대문자 R 을 입력하면 <ESC> 를 눌러서 나가기 전까지 바꾸기 모드가 됩니다.
6. ":set xxx" 를 하면 "xxx" 옵션이 설정됩니다.:
'ic' 'ignorecase' 검색시 대소문자 구별을 하지 않습니다.
'is' 'incsearch' 검색어에서 부분 검색 결과를 보여줍니다.
'hls' 'hlsearch' 검색 결과값을 하이라이트해줍니다.
옵션은 전체 이름 혹은 줄인 이름 모두 사용 가능합니다.
7. 앞에 "no"를 붙여 옵션을 끌 수 있습니다: :set noic
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lesson 7 요약
1. 도움말을 열기 위해 :help 혹은 <F1> 혹은 <Help> 를 누릅니다.
2. cmd 에 대한 도움말을 보기 위해서는 :help cmd 를 입력합니다.
3. CTRL-W CTRL-W 를 이용해 다른 윈도우로 넘어갑니다.
4. :q 로 도움말 윈도우를 빠져나옵니다.
5. vimrc 시작 스크립트를 이용해 선호하는 세팅을 유지할 수 있습니다.
6. : 명령어를 입력할때, CTRL-D 를 눌러 가능한 명령어들을 볼수 있습니다.
<TAB> 을 눌러 완성 가능합니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
이것으로 빔 길잡이를 마칩니다. 이 길잡이는 빔 편집기에 대한 간략한 개요를
보여주기 위한 의도로 제작되었으며, 이 편집기를 정말 간단히 사용하기에
충분할 뿐입니다. 빔에는 이 길잡이와는 비교할 수 없을 만큼 훨씬 많은 명령이
있습니다. 다음 사용자 매뉴얼을 읽으십시오: ":help user-manual"
보다 자세히 읽고 공부하려면, 다음 책을 추천해 드립니다:
Vim - Vi Improved - by Steve Oualline
출판사: New Riders
이 책은 완전히 빔에 대해서만 다루고 있습니다. 특히 초보자들에게 유용합니다.
많은 예제와 그림이 있습니다.
다음을 참고하십시오: http://iccf-holland.org/click5.html
다음 책은 좀 오래된 책으로 빔보다는 Vi에 대해 다루고 있지만, 역시 추천할 만
합니다:
Learning the Vi Editor - by Linda Lamb
출판사: O'Reilly & Associates Inc.
Vi로 하고 싶은 거의 모든 것에 대해 알 수 있는 좋은 책입니다.
여섯번째 개정판은 빔에 관한 내용을 포함하고 있습니다.
이 길잡이는 Colorado School of Mines의 Michael C. Pierce 와
Robert K. Ware 가 Colorado State University의 Charles Smith 의 아이디어에
착안하여 썼습니다.
. E-mail: bware@mines.colorado.edu.
Modified for Vim by Bram Moolenaar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
휴우.. 참 쉬운게 없네요.
vim 배워두면 개발 생산성이 무진장 올라갈 것 같긴 합니다.
반응형
'Software > development' 카테고리의 다른 글
[VSCode] 쉘에서 code 명령어로 visual studio code 열기 (0) | 2021.02.28 |
---|---|
[iTerm2] 키매핑 설정방법 (0) | 2021.01.26 |
[VSCode] Auto Fix is enabled by default. Use the single string form (0) | 2021.01.10 |
[PyCharm] Python version 2.7 does not support ~가 나올 때 (0) | 2021.01.09 |
[Slack] Notion 페이지 알림 받도록 설정하는 법 (0) | 2021.01.09 |