티스토리 뷰

Software Story

Vim 에디터 명령어

gofly 2012. 10. 4. 17:05


명령어설명 모드 
 :w 현재 편집하던 내용을 저장한다. 명령행 모드
 :q 현재 편집내용을 끝내고 에디터를 종료한다.
변경 내용이 있을 때는 :q로 종료할 수 없고 저장하지 않고 끝내기인 :q!로 종료해야 한다.
 명령행 모드
 :wq 편집하던 내용을 저장하고 에디터를 종료한다. 명령행 모드
 명령어 뒤에 붙이는 옵션으로 강제로 해당명령어를 수행한다는 뜻이다.
:q! -> 저장하지 않고 강제종료
:w! -> 강제로 덮어쓰기
:wq! -> 강제로 덮어쓰고 종료.
 명령행 모드 (옵션)
 a, A a : 현재 커서위치에서 한 칸 뒤로 이동 후 입력모드로 전환
 A : 현재 형에서 끝으로 이동한 후 입력 모드로 전환
 일반 모드 (에서 입력모드로 전환시)
 i, I i : 현재 커서위치에서 입력모드로 전환
 I : 현재 행 맨 앞으로 이동 후, 입력모드로 전환
 일반 모드 (에서 입력모드로 전환시)
 o, O o : 현재 행에서 아래 새로운 행 삽입 후 입력모드로 전환
 O : 현재 행에서 위로 새로운 행 삽입 후 입력모드로 전환
 일반 모드 (에서 입력모드로 전환시)
 R 수정 모드로 글자가 덮어 씌어짐. 일반 모드 (에서 입력모드로 전환시)
 x 현재 커서의 문자를 삭제한다.
Delete키와 동일한 기능
 일반 모드
 dd 현재의 행을 잘라내기한다.
잘라낸 행은 vim이 가진 고유한 저장소에 저장된다. dd 앞에 숫자를 붙이면 현재행에서 n의 숫자 만큼 잘라내기한다.
 일반 모드
 yy 현재 행을 복사한다.
복사한 행은 vim이 가진 고유한 저장소에 저장된다. yy 앞에 숫자를 붙이면 현재행에서 n의 숫자 만큼 복사한다.
 일반 모드
 p 가장 마지막에 복사 혹은 잘라내기한 내용을 해당 위치에서 부터 붙여넣기 한다. 일반 모드
 u undo 기능. Vim의 undo 기능은 매우 강력하여 편집기가 열린순간부터 편집한 모든 내용을 되돌리기 할 수 있다. 일반 모드
 ctrl - R redo 기능. 일반 모드
 h 왼쪽 방향키와 같은 기능. 앞에 n의 숫자를 붙인 만큼 이동이 가능. 일반 모드
 j 아래쪽 방향키와 같은 기능. 앞에 n의 숫자를 붙인 만큼 이동이 가능. 일반 모드
 k 위쪽 방향키와 같은 기능. 앞에 n의 숫자를 붙인 만큼 이동이 가능. 일반 모드
 l 오른쪽 방향키와 같은 기능. 앞에 n의 숫자를 붙인 만큼 이동이 가능. 일반 모드


알아두면 더욱 편리한 Vim 에디터 기본 입력키 2번째. 
Advanced. 


 명령어 설명모드 
 ^ 행의 맨 처음으로 이동 하지만 공백은 제외. 일반모드
 Home키 행의 맨 처음으로 이동. 일반모드
 $ 행의 맨 끝으로 이동 (End 키와 같음). 일반모드
 ctrl + B 위로 한 화면 스크롤(PageUP키와 같음). 일반모드
 ctrl + F 아래로 한 화면 스크롤(PageDown키와 같음). 일반모드
 ctrl + U 위로 1/2 화면 스크롤. 일반모드
 ctrl + D 아래로 1/2 화면 스크롤. 일반모드
 #gg #행으로 이동. 없을 시 맨 처음으로 이동. 일반모드
 #G #행으로 이동. 맨 마지막으로 이동. 일반모드
 :# #행으로 이동. 명령행 모드
 ctrl - G, g 현재 문서의 위치정보를 하단에 표시. 일반모드
 :d 현재 행을 잘라내기. 명령행 모드 
 D 현재 위치에서 현 행의 끝부분까지 잘라내기 일반모드
 J 아래 행을 현재 행의 끝에 붙임. 
(아래행의 공백은 무시)
 일반모드
 :pu p와 같은 기능. 현재 행에 붙여넣기. 명령행 모드
 P 현재 행 위에 붙여넣기. 일반모드
 :y 현재 행을 레지스터에 복사. 명령행 모드
 Y 현재 행을 레지스터에 복사. 일반모드
   


범위 지정에 사용하는 특수 기호와 사용법
 . 현재 행. 메타 문자
 $ 마지막 행. 메타 문자
 % 문서 전체. 메타 문자
 +# 현재 위치에서 #만큼 아래 행을 의미. 메타 문자
 -# 현재 위치에서 #만큰 위의 행을 의미. 메타 문자
 :10, 25d 10행에서 25행까지 잘라내기. 명령행 모드
 :%y 문서 전체 복사. (%는 1,$와 동일하다) 명령행 모드
 :.,+20y 현재 행부터 아래로 20행을 복사. 명령행 모드
 :-10,+5d 현재 행부터 위로 10행, 아래로 5행 삭제.  명령행 모드
 :40pu 40번 행에서 레지스터의 내용을 붙여넣기.  명령행 모드

 v 일반 비주얼 모드로 현재 커서 위치에서 블록을 지정. 일반 모드
 V 비주얼 라인 모드. 현재 커서가 위치한 행에서 행 단위로 블록을 지정. 일반 모드
 ctrl-V 비주얼 블록 모드로, 열(Column) 단위로 블록을 지정. ctrl-Q로 대신 할 수 있음. 일반 모드


Vim 에디터를 사용할 때 기본적으로 사용하는 옵션에 대해서 알아보자.

1. 편집기 좌측에 라인숫자 표시.
2. 편집기 사용시 기본적인 문법 검사.
3. 자동으로 들여쓰기
4. Tab의 크기, 블록 이동시 열의 넓이

 명령어 설명 모드
 :set 현재 에디터에 셋팅된 옵션 목록을 볼 수 있다.
:set all 라고 명령하게 될 때 vim에서 셋팅할 수 있는 모든 옵션의 종류를 볼 수 있다.
 명령행 모드
 :set # # 써있는 속성을 on 할수 있다. no# 라고 할 경우 해당 속성을 off 시킬 수 있다.
 #! 이라고 할 경우 해당 값이 반전 된다(on/off)
 명령행 모드
 :set #=값 속성중에 특정 값을 갖는 속성들이 있다. #속성들의 특정한 value 값을 대입하기 위해서 사용한다. 명령행 모드

해당 옵션 값을 설정할 때 앞에 :set을 붙여야 한다.
ex) :set nu

 nu 또는 number 화면에 라인의 숫자를 표시한다.  명령행 모드
 ai 또는 autoindent 자동 들여쓰기를 쓴다. (sw로 설정한 값으로)  명령행 모드
 cindent C언어 스타일의 들여쓰기를 사용.
(sw로 설정한 값으로)
  명령행 모드
 ts=값 또는 tablestop=값 탭(Tab) 크기를 지정하는 값으로 지정한다.  명령행 모드
 sw=값 또는 shiftwidth=값 블록 이동시 지정하는 열의 너비.  명령행 모드

해당 옵션을 셋팅할 때는 :set을 붙이지 않는다.
 :syntax enable 문법검사를 실시한다. (지정된 색깔테마로) 명령행 모드
 :syntax clear 문법검사를 해제한다. 명령행 모드
 :colorscheme 에디터에 색깔 테마를 지정한다. 명령행 모드

------------------------------------------------------------------------------------------------------------------------------------


아래의 그림 파일은 색깔 테마와 문법 검사 그리고 행 표시를 하지 않은 경우이다.




:set nu     (라인 표시)
:syntax enable     (문법 검사 on)
:colorscheme default      (색깔 테마 on) 
(참고로 색깔 테마는 16가지 정도가 더 있으므로 colorscheme라고 친 뒤 한 칸을 띄고 ctrl+D를 치면 셋팅 가능한 다른내역을 확인할 수 있다)

를 한 뒤 확인해 보면 아래 문법이 틀린 부분은 색깔이 다르게 표시되거나 강조가 되어 있어서 편집과 동시에 확인할 수 있다.
또한 화면 좌측에 라인에 행별로 라인의 숫자가 표시 된 것을 확인 할 수 있다. 우분투의 경우 syntax와 colorscheme가 기본적으로 셋팅되어 있으니 별도로 셋팅해주지 않아도 괜찮다. 하지만 만약에 꺼져 있을 때 아래의 옵션 셋팅 내용을 기억해 두자.



또한 편집하다가 대괄호를 치고 Enter 키를 치면 행의 처음으로 돌아가게 때문에 자동으로 들여쓰기 등을 옵션으로 셋팅해놓으면 좀 더 편리하게 편집할 수 있다. 또한 그 값도 적당하게 조절해 놓으면 좀 더 손쉽고 편리하게 자신에게 최적화 하여 편집할 수 있게 된다.
이번에는 tablestop(ts) 값과 shiftwidth(sw) 값을 조정하면 어떻게 변화하는지 확인해보면

:set sw=20       (들여쓰기 값 20)
:set ts=2         (탭 크기 2)
:set cindent    (C언어 스타일의 들여쓰기)

일부로 printf 문만 들여쓰기로 하고 나머지는 tab으로 진행해 보았다. int나 for의 경우는 왼쪽 끝과 2칸 정도 밖에 차이나지 않지만 printf문 이후로는 엔터를 쳐서 들여쓰기를 했더니 중괄호로 부터 20의 넓이만큼 벌어져 있는 것을 확인할 수 있다.




:set 을 치면 현재 편집기에 셋팅된 옵션 내용을 확인 할 수 있는데
현재 확인해보면 
cindent
tabstop=2
syntax=c
shiftwidth=20
등이 셋팅 되어 있는 것을 확인 할 수 있겠다.



------------------------------------------------------------------------------------------------------------------------------------
그럼 이렇게 편집기를 열때마다 해당 내역을 저장해야 하는가?
다행이 vim 에디터는 처음 실행될때 자신의 홈디렉토리에 .vimrc 파일을 로드하여 기록되어 있는 내용을 먼저 로드한다.
따라서 내가 항상 위의 내역을 저장해 놓고 사용하고 싶다면. 자신의 홈디렉토리로 가서 .vimrc 파일을 생성(혹은 수정)하여 위의 내용을 기록해서 사용하면 된다. 

주의할 사항은 콜론은 사용하면 안됀다. 아래와 같이 셋팅하여 사용하면 되겠다.
파일명은 .vimrc 이다.   . 을 빼먹으면 안됀다. 


Vim 에디터에는 문자열 검색기능을 지원한다. 
아직은 잘 모르지만 Ctag라는 플러그 인을 사용하면 테크를 검색할 수 있다고 알고 있는데 예전에 선배가 사용하는 것을 보고 뭔가 멋지다라고 생각했던 기억이 난다. 하지만 우선 Vim에 내장되어 있는 간단한 문자열 검색 기능에 대해서 알아보자.


 명령어설명 모드 
 f# 현재 행에서 문자열 #을 전방으로 검색할때 사용한다.일반모드 
 F# 현재 행에서 문자열 #을 후방으로 검색할때 사용한다. 일반모드
 t# 현재 행에서 문자열 #을 전방으로 검색한 뒤, 검색어의 한 칸 앞으로 이동한다. 일반모드
 T# 현재 행에서 문자열 #을 후방으로 검색한 뒤, 검색어의 한 칸 뒤로 이동한다. 일반모드
 ; 가장 최근에 검색한 명령을 재 검색한다. 일반모드
 , 가장 최근에 검색한 명령을 반대 방향으로 
재검색한다.
 일반모드
 * 현재 커서가 위치한 곳에 단어를 검색하고 하이라이트 해준다. 일반모드 
/# # 단어를 검색하고 하이라이트 해준다. 명령행 모드 
n 검색된 단어에서 다음 하이라이트 위치로 이동한다. 일반모드
 검색된 단어에서 반대방향의 하이라이트 된 단어로 이동한다. 일반모드
 /화살표 이전에 검색한 단어내역을 본다. 명령행 모드
 :set hls 검색하는 단어에 하이라이트를 지정한다. 
nohls를 하게 되면 하이라이트가 해제된다.
 명령행 모드

------------------------------------------------------------------------------------------------------------------------------------

아래 그림 내용은 명령행 모드에서 /int 로 int 문자열을 가진 모든 부분을 검색해본 경우이다.
원래는 하이라이트가 꺼져 있어서 :set hls 를 사용하여 하이라이트를 줬더니 해당 내용 내에 int 내용은 모두 노란색으로 하이라이트가 표시되어 해당 내용이 어디에 있는지 확인할 수 있다. 이 상태에서 일반모드라면 n 이나 N 을 주면 다음 혹은 이전에 어디에 검색한 문자열이 있는지 커서를 이동시켜줘서 좀 더 편리하게 디버깅 혹은 코드 내용을 검색 할 수 있겠다.


이전에 Vim 에디터로 편집을 할 때, 굉장히 알고 싶었던 내용이 많았는데 '손에 잡히는 Vim' 서적을 보다보니 알고 싶었던 내용이 제법 있다.
이런 기능만 알아도 엄청나게 빠르게 편집을 할 수 있었는데 예전에 그걸 몰랐다는 사실이 조금 아쉽게 느껴진다. 
그렇게 어려운 내용은 아니지만 조금 더 부지런히 찾아보고 공부할 껄 하는 후회가 밀려온다.

하지만 시작이 반이고 가장 늦었다고 할때가 가장 빠르다고 누가 말했던가.
지금이라도 열심히 익혀보자.

------------------------------------------------------------------------------------------------------------------------------------

이번에는 문자열 교체하기에 대해서 알아보자.
크게 내용이 어렵지는 않고 간단하다.

 명령어 설명  모드 
 (범위)s,바뀌어야할 단어,바꿀내용,옵션

ex) 1,$s,man,boy,g
총 4개의 부분을 나뉘어져 있다.
가장 처음에는 문서에서 교체할 범위를 지정하고 s를 그 다음에는 구분자로 ,를 써주고 바꿀단어를 쓴 뒤 구분자를 써준다. 또 바꿀내용 뒤에도 구분자를 쓰고 옵션을 준다.
 
 명령행 모드
 
위의 예시에서 지정된 범위인 1,$ 는 첫 번째 줄에서 마지막행까지 즉 문서 전체인 %를 말한다.
s는 교체 명령어이다. s 다음에 나올 문자는 교체에 사용할 문자로 사용된다.
현재는 s 다음에 ,(콤마)를 사용하겠다고 표시했으며 다른 문자를 사용해도 무방하다.   
저번에 "Vim 에디터에 대해 알아보자 - 1 (기본 입력키2)"에서 간단히 포스핑 했었는데 
Vim 에디터에서 사용하는 범위 지정에 쓰이는 특수기호(메타기호)에 대해서 복습해보자.

 . 현재 행을 의미. 메타기호
 $ 마지막 행을 의미. 메타기호
 +# 현재 위치에서 #만큼 아래 행을 의미. 메타기호
 -# 현재 위치에서 #만큼 위 행을 으미. 메타기호
 % 문서(파일) 전체를 의미. 메타기호

즉 위의 1,$s,man,boy,g 는 %s,man,boy,g 와 같은 역할을 하게 된다.
매우 직관적으로 판단할 수 있다. 문제는 까먹지 않는게 .... ㅡㅡ

그럼 마지막에 붙는 옵션에 대해서 알아보자.
 옵션 설명  메타기호
 g 범위 내에 검색된 모든(global) 문자열을 교체.  메타기호
 i 대소문자를 무시함. 메타기호
 c 문자열을 교체하기 전 교체 여부를 확인.

y/n/a/q/l/^E/^Y 등의 답변을 해야 한다.
y:yes, n:no, a:all, q:quit, l:line 정도 알아두자.
 메타기호
 e 교체 과정 중 에러를 무시. 에러 표시도 안함. 메타기호

그럼 마지막으로 확인해보자.
%s,man,boy,gcie 이렇게 하면 모든 옵션을 붙여서 문서 전체에 man 문자를 교체하는데 교체할때마다 다 물어봐라 이 뜻이 된다.

------------------------------------------------------------------------------------------------------------------------------------

재미있는 팁

1. 어떠한 문자의 ASCII 코드 값을 알고 싶을 때 굳이 인터넷이나 표를 찾아보지 말고 원하는 문자에 커서를 위치시키고 명령행 모드로 :as를 입력해보자. 10진수 8진수 16진수로 표시할 때의 ASCII 코드 값을 알려준다. 

2. 특수문자를 입력하고자 할때 입력모드에서 ctrl-v, V 를 입력하게 되면 특수문자 ^E, ^M ^Y 등을 입력할 수 있다.


이전의 내용은 Vim 에디터의 초급 단계의 내용으로 중급 단계로 가기 위한 작은 첫 걸음을 띄기 위해서는 파일 관련 기능을 필히 숙지해야 한다.
물론 파일 관련 기능을 알았다고 해서 중급사용자라고 할 순 없지만 그래도 Vim 에디터를 조금은 사용할 줄 알게 되는 수준은 되는 것 같다.

이번 파일 관련 기능1 에서는 다양하게 파일을 열고 닫는 법에 대해서 알아보도록 하자. 

------------------------------------------------------------------------------------------------------------------------------------

 명령어 설명  모드 
 :e # 추가로 편집하고자 하는 파일 이름 인 #을 넣으면 이전 편집하던 내용을 잠시 놔두고 다른 파일을 편집한다. 없으면 새롭게 생성한다. 
대신 이전에 수정하던 파일은 반드시 수정하고 넘어가야 한다. 수정하지 않고 강제로 넘어가면 수정했던 내용은 지워진다. 
어떠한 파일을 편집 할 수 있는 한개씩 확인하고 싶다면 tab을 누르면 되고 모두 확인하고 싶다면 ctrl-d 를 누르면 된다. 
 명령행 모드
 ctrl-6 또는 ctrl-^ 이전에 편집했던 내용으로 돌아갈때 누르면 된다. 역시 현재 편집했던 내용은 저장하지 않으면 없어진다. 명령행 모드
 vim #1 #2 #3 #4.... vim 에디터는 여러개의 파일을 동시에 열 수 있다. vim 이후에 여러개의 파일명을 공백과 함께 입력하면 동시에 여러개의 파일을 편집할 수 있다. 명령행 모드
 :#n 여러개의 파일을 동시에 오픈했을 때, 현재 편집하던 파일이 아니라 #1 -> #2 로 가고자 할때 
:n을 누르면 된다. 한번에 여러개를 건너 띌때는 # 숫자를 기업하면 된다. 
ex) :2n 을 입력하면 #1 -> #3 으로 이동함.
 명령행 모드
 :#N :n이 정방향으로 증가한다면 :#N은 뒤쪽으로 이동한다. 
ex) 현재 편집하던 파일이 #4라면 :3N 을 입력하면 #4 -> #1 로 가게 된다.
 명령행 모드
 :qa 여러개의 파일이 열려 있을 때 다른 파일이 편집중이라 닫히지 않을때는 qa를 누르면 모두 닫히게 된다. 혹은 q! 를 눌러서 강제로 종료해도 된다.  명령행 모드
 :w # #에 해당하는 파일 이름을 저장할 수 있다.
w는 write의 약자로 wrie라고 써도 된다.
 명령행 모드
 :sav # #에 해당하는 파일을 다른 이름으로 저장한다.
sav는 saveas로 써도 된다.
 명령행 모드
 :up 현재 바뀐 내용만 저장하게 된다. w는 내용이 바뀌던 안 바뀌던 모두 저장하므로 서버에 터미널이 여러개 붙어 있을 과부하를 주게 되는데 up은 상대적으로 적은 과부하를 주게 되어 유리하다. 명령행 모드
 :x 기능은 up 을 한 다음에 q 를 동시에 한 것과 같다. 즉 wq와 같은 기능을 하지만 wq가 upq 와 같은 효과라서 wq보다 효율적인 명령이다. wq보다 x를 사용하기를 추천한다. 명령행 모드


------------------------------------------------------------------------------------------------------------------------------------

여러개의 파일을 동시에 열었을 때 해당 파일들을 동시에 편집하고 관리하는 좀 더 강력한 기능에 대해서 알아보자

 명령어 설명 모드
 :ls
 :buffers
 :files
 현재 열려 있는 파일 목록을 확인한다. 명령행 모드 
 숫자ctrl-6
 :e #숫자
 숫자번째 파일 목록을 연다.  일반모드 
 :0f 현재 파일을 목록에서 제거합니다.
연결된 파일이 있다면 해제하여 이름없음 파일로 바꿉니다. 
 명령행 모드 
 :r 해당파일을 목록에 끼워넣는다.  명령행 모드 
   


또한 비쥬얼 베이직 이나 기타 편집 툴에도 있는 기능에 대해서 소개하겠다.
바로 해당 함수나 헤더파일 등의 정의부로 이동하는 단축키인데, #include<stdio.h>의 경우 stdio.h 파일의 내용을 보고 싶을 때가 있다면 해당 부분에 커서를 옮기고 gf를 눌러보자. 해당 파일의 정의부로 이동할 수 있을 것이다. 물론 :e /usr/include/stdio.h 와 같은 방법으로도 열 수 있지만 좀 더 편리한 단축키 사용법을 알아놔서 나쁠 것 없으니 이 기회에 알아놓자.

 gf  현재 커서 위치의 파일명을 열어준다.
기본적으로 등록된 /usr/include 와 같은 검색 위치를 제외한 추가적인 위치를 등록하고 싶다면 :set path+=경로명을 쳐주거나 .vimrc 파일에 등록해서 사용하면 된다. 
 일반모드
 ctrl-w f  현재 커서 위치의 파일명을 분할된 창에 열어준다. 일반모드
 ctrl-w gf  현재 커서 위치의 파일명을 탭에서 열어준다. 일반모드


 명령어 설명  모드 
 :#sp filename #에 숫자를 넣은 행의 크기 만큼 창이 수평 분할된다. filename을 넣게 되면 해당 파일을 오픈하거나 없으면 새파일을 만든다. 같은 파일에서는 일반모드로 #ctrl-w s 를 치면 #크기 만큼 창이 수평으로 분할된다. 명령행 모드
 :#vs filename #에 숫자를 넣은 열의 크기 만큼 창이 수직 분할된다. filename을 넣게 되면 해당 파일을 오픈하거나 없으면 새파일을 만든다. 같은 파일에서는 일반모드로 #ctrl-w v 를 치면 #크기 만큼 창이 수직으로 분할된다. 명령행 모드
 :#new filename #에 넣은 숫자만큼 상하로 창을 수평 분할하여 위쪽에 창에는 새로운 파일을 생성하여 표시한다. 일반모드에서 #ctrl-w n 를 치면 단축키로 사용할 수 있다.  명령행 모드
 :#vnew filename  #에 넣은 숫자만큼 좌우로 창을 수직 분할하여 왼쪽에 창에는 새로운 파일을 생성하여 표시한다. 명령행 모드
 ctrl-w ctrl-방향키 
또는 ctrl-w 방향키
또는 ctrl-w ctrl-h,j,k,l (소문자)
 현재 창에서 해당 방향의 창으로 이동할 때 사용된다. 방향키 대신 소문자로 h,j,k,l 키를 사용할 수 있다. 대신 대문자를 사용하면 창을 해당으로 보내게 된다. 일반모드
 ctrl-w ctrl-w
 ctrl-w w
 현재 창에서 오른쪽 방향으로 이동합니다. 오른쪽 끝 창이라면 아래로 내려감.  일반모드
 ctrl-w ctrl-p
 ctrl-w p
 바로 이전에 사용한 창으로 이동. 일반모드
 ctrl-w = 모든 창의 크기를 동일하게 조절 일반모드
 ctrl-w #+ #크기만큼 창의 크기를 키운다. #이 생략되어 있을시에는 1로 판단. 일반모드
 ctrl-w #-  #크기만큼 창의 크기를 줄인다. #이 생략되어 있을시에는 1로 판단. 일반모드

명령어 설명  모드 
 :#tabedit filename
또는 :#tabe filename
 #번째 탭에 filename에 해당 하는 파일을 엽니다. #이 생략되면 현재 열려 있는 탭 바로 뒤에 탭을 생성하여 파일을 엽니다. filename이 생략되면 빈 이름의 파일이 생성됩니다. 명령행 모드
 :#tabnew filename #번째 탭에 파일을 생성합니다. #이 생략되면 현재 열려 있는 탭 바로 뒤에 탭을 생성하여 파일을 생성합니다. filename이 생략되면 빈 이름의 파일이 생성됩니다. 명령행 모드
 :#tabclose
또는 :#tabc
 #번째 탭의 파일을 닫습니다. #이 생략되면 현재의 탭을 닫습니다. 명령행 모드
 :#tabnext
또는 :#tabn
 #번째 다음 탭을 봅니다. #이 없으면 바로 다음 탭을 엽니다. 명령행 모드
 #gt #번째 탭을 엽니다. #이 생략되면 바로 다음 탭을 엽니다. 일반 모드
 #ctrl-PageDown #번째 탭을 엽니다. #이 생략되면 바로 다음 탭을 엽니다. 일반 모드
 :#tabprevious
또는 :#tabp
 #번째 이전 탭을 봅니다. #이 없으면 바로 이전 탭을 엽니다. 명령행 모드
 #gT #번째 이전 탭을 엽니다. #이 생략되면 바로 이전 탭을 엽니다. 일반 모드
 #ctrl-pageUp #번째 이전 탭을 엽니다. #이 생략되면 바로 이전 탭을 엽니다. 일반 모드
 :tabmove #
또는 :tabm #
 #번째 탭으로 이동합니다. #이 생략되면 가장 마지막 탭으로 이동합니다. 명령행 모드

사실 모든 Path를 외우지 않는 이상 창을 분할해서 열어서 편집할 때 그 파일이 어디에 위치해 있는지 알기 어렵다.
그래서 Vim에서는 윈도우 탐색기와 같이 디렉터리 탐색기 플러그인 툴을 기본적으로 제공하는데 netrw 라는 툴이다.
이 기능은 창을 분할하여 탐색하고 동시에 편집도 가능하게 해주는 강력한 Vim의 툴로써 그 사용법을 알아두면 매우 이로울 것이다.

------------------------------------------------------------------------------------------------------------------------------------

 명령어 설명 모드
 :e 디렉토리경로 명령행 모드에서 edit 또는 e를 한 다음 디렉토리 경로를 입력하면 해당 디렉토리에 대해서 netrw 툴이 실행된다. 명령행 모드
 <Enter> 해당 디렉토리 또는 파일을 연다. netrw 명령어
 w 또는 j 또는 방향키 ↓ netrw 내에서 아래로 이동하는 방향키 netrw 명령어
 b 또는 k 또는 방향키 ↑ netrw 내에서 위로 이동하는 방향키 netrw 명령어

 i 파일을 표시할 방법을 변경한다.
(한줄 방식, 파일 정보 표시방식, 와이드 방식, 트리 방식)
 netrw 명령어
 s 정렬 방식을 바꿔준다 (time, size, name 방식) netrw 명령어
 o 커서 위치의 파일을 수평 분할된 새창으로 열어준다. netrw 명령어
 v 커서 위치의 파일을 수직 분할된 새창으로 열어 준다. netrw 명령어
 p 커서 이취의 파일을 미리 보기 창으로 열어준다. (미리 보기 파일의 창 닫기는 일반 모드로 CTRL-w z 를 사용한다) netrw 명령어
 P 커서 위치의 파일을 바로 이전에 생성된 창에 열어준다. 바로 이전에 생성된 창이 없을 시에는 수평 분할된 새 창으로 열어준다. netrw 명령어
 R 커서위치의 파일의 파일명을 바꾼다. netrw 명령어
 t 새로운 탭으로 분할하여 열어준다. netrw 명령어
 - 상위 디렉토리로 이동한다. 디렉토리가 보이는 것에서 ../에 커서를 위치시키고 엔터를 눌러도 된다. netrw 명령어



현재 수평분할해서 파일을 하나 열어 놓은것을 확인할 수 있다. (s 키)
수평분할된 창에서 아래창을 보면 Netrw 의 현재 상태를 알 수 있는데
/root 로 현재 위치를 표시하고
Sorted by 즉 정렬방식은 name으로 되어 있고
파일 표시 방식(i 키)를 이용하여 정보표시방식으로 되어 있다.
현재 커서의 위치는 하얀색 가로 줄로써 확인할 수 있다. 
Quick Help라고 써 져있는 부분을 보면 간단한 실행 단축키를 알 수 있다. 더욱 자세한 설명은 F1 키를 눌러 Help를 참고하자.