'vim 파일 열기'에 해당되는 글 1건

  1. 2013.02.05 파일 열기(고급)

파일 열기(고급)

Vim/Tutorial 2013. 2. 5. 02:45 |

버퍼(파일) 목록 보기

:ls, :buffers, :files 이라고 명령하면 열려 있는 파일 목록이 나타난다.

위의 3개 명령어 중에 하나를 선택하여 명령을 내리면 아래의 사진처럼 화면이 나온다.


vim에서는 편집 중인 문서를 버퍼(buffer)라고 부르며, 문서를 불러와서 보거나 작업하는 기억장치라는 의미로 사용된다. 버퍼가 특정 파일과 연결되어 있는 상태에서 불러오거나 저장되는 경우라면 '버퍼 = 파일' 이라고 말해도 큰 무리가 없지만, 빈 문서로 만들어진 경우라면 아직 파일과 연결된 상태가 아니므로 파일이라고 부를 수 없다.

그래서 파일명이 있든 없든 작업하는 문서를 가리켜 버퍼라고 한다. vim 매뉴얼을 읽을 때도 상황에 따라서 버퍼가 문서임을 알아두면 이해하기 쉬울 것이다.


vim은 종료하기 전까지 한 번이라도 열었던 파일의 목록을 모두 유지하고 있다. 위의 그림처럼 파일 목록이 7개이며, 각 파일명 뒤에는 몇 번째 행을 보고 있었는지도 표시된다. 

숫자와 파일명 사이에 표시되는 %나 # 기호는 해당 파일의 상태를 나타낸다.


버퍼 목록에 표시되는 기호

%                현재 편집 중인 버퍼

#                  바로 이전에 열었던 버퍼 혹은 다음에 열도록 예비된 버퍼. <CTRL-^>를 누르면 #이 표시된 파일이 열린다.

a                  활성된 버퍼(현재 화면에 보이는 버퍼). 창 분할 기능을 쓰는 경우에는 여러 파일에 a표시가 나타난다.

+                  변경된 부분이 있는 버퍼


버퍼 목록에 파일 추가하기

일반적으로 버퍼 목록은 열었던 파일들을 자동으로 추가하여 작성된다. 하지만 열지 않았던 파일도 수동으로 목록에 추가할 수 있다. 

사용법은 :n {pattern} 으로, :n 명령의 확장된 방법이다. 예를 들어 :n *.txt 라고 하면 현재 디렉토리에서 *.txt 에 해당하는 모든 파일을 찾아서 목록에 추가한 후, 첫 번째로 검색된 파일을 열어준다.

여기에 하위 디렉토리를 검색하는 기능을 추가하고 싶을 때는 **를 붙여서 :n **/*.txt 라고 명령하면 된다. 

이를 활용해서 :n doc**/*.txt 라고 하면 doc로 시작하는 디렉토리에 대해서만 검색할 수 있다. 

:n 명령어가 확장되듯 이전 파일로 이동하는 명령인 <CTRL-^> 과 :e #{n} 으로 확장되며, N에는 :files에서 보이는 파일 번호를 지정할 수 있다. 


버퍼 관련 명령어들

:ls                                파일 목록을 확인한다.

:buffers

:files

:n {pattern}              지정된 pattern으로 파일을 검색하여 목록에 추가하고 첫 번째 검색된 파일을 열어준다.


{N}CTRL-^                {N} 번째 파일 목록을 연다.

:e #{N}

:0f                             현재 버퍼를 목록에서 제거한다. 연결된 파일이 있다면 해제하여 [No Name]버퍼로 만든다. 

:r[ead] 파일              파일을 끼워 넣는다.



본문에 등장한 파일명 인식하여 열기

본문에 등장하는 파일명을 인식하여 해당 파일을 열 수 있다. 주로 프로그래밍 소스나 스크립트 파일에서 볼 수 있다.

만약, 파일중에 /etc/bashrc 파일이 나오면 이 파일을 불러와서 살펴볼 수 있다. 방법은 :e /etc/bashrc 라고 명령하면 되겠지만, 엔터까지 포함하면 무려 열 다섯 번이나 키보드를 눌러야 한다. 

그래서 더 편리한 방법으로 파일명 위에 커서를 두고 gf 를 입력하면 곧바로 파일을 열 수 있다. (이 명령은 goto file 이라는 의미)


본문의 파일명을 인식해서 열어주는 명령어

gf                                커서 위치의 파일명을 인식해서 열어준다.

<CTRL-W> f             커서 위치의 파일명을 분할된 창에 열어준다.

<CTRL-W> gf           커서 위치의 파일명을 탭에 열어준다.


gf 는 디렉토리가 포함된 경우 경로 전체를 인식할 수 있으며, 경로가 없고 파일명만 있는 경우에는 현재 디렉토리와 path 옵션에 설정된 디렉토리를 순서대로 검색한다.


Tip: 

유닉스 계열의 vim에서는 path에 시스템 헤더 디렉토리가 기본으로 포함되어 있으므로 C 언어 헤더를 검색할 수 있다. 예를 들어 C 언어 소스코드의 #include <stdio.h> 가 있다면 stdio.h 위에 커서를 두고 gf를 누르면 시스템 헤더 파일을 찾아서 열어준다.

만일 사용자가 검색 대상 디렉토리를 추가하고 싶다면 path에 추가하면 된다. 예를 들어 ~/doc 를 추가하고 싶다면 :set path+=~/doc 라고 명령하면 된다. 

자주 쓰이는 파일들이 있다면 설정 파일인 .vimrc 에 경로를 추가해두면 되겠다.


'Vim > Tutorial' 카테고리의 다른 글

오퍼레이션 펭딩 모드 / 약어 매크로 / 레지스터 활용  (0) 2013.02.05
공백 지우기  (0) 2013.02.05
파일 관련 기능  (0) 2013.02.04
문자, 문자열 검색/치환  (0) 2013.02.02
vim 에러 처리  (0) 2013.02.02
Posted by scii
: