본문 바로가기

코딩/Vim

Vim - Buffer (버퍼)

반응형

버퍼란 Vim 실행 중 파일을 메모리에 저장한 공간이다.

Vim에서 파일을 여는 순간 그 파일은 버퍼에 저장된다.

예를 들어, Vim에서 A라는 파일 열면 파일 A는 버퍼에 넣어진다. 창이나 탭에서 닫더라도 파일 A는 닫히지만 버퍼에 상주한다.

 

추가, 버퍼 리스트는 버퍼 메모리에 상주하는 파일들을 관리하는 리스트이다.

목차

버퍼 리스트에 있는 파일 제거

버퍼 리스트에 있는 파일 열기

기타

버퍼 리스트 보기

동작
:ls
:buffers
버퍼 리스트(버퍼에 존재하는 파일) 보기

버퍼 리스트 속 버퍼 숫자 옆의 문자 의미
 - 이전 버퍼 파일
% - 현재 창의 있는 버퍼 파일
 - 현재 보이고 로드된 버퍼 파일
 - 저장되지 않은 현재 파일
 - readonly 파일

 

 

버퍼 리스트에 파일 추가

동작
:bad [파일]
:badd [파일]
[파일] 버퍼 리스트에 추가
:arga [파일1] [파일2] ...
:argadd [파일1] [파일2] ...
다수의 파일 버퍼 리스트에 추가
:arga [파일 패턴] [파일 패턴]과 맞는 모든 파일 버퍼 리스트에 추가

[파일 패턴] 사용법 (:h [file-pattern]로 확인 가능)


예: :arga ./*.js

결과: 현재 폴더에서 모든 js파일 버퍼 리스트에 추가

버퍼 리스트에 있는 파일 제거

현재 파일을 버퍼 리스트에서 제거

동작
:bd
:bdel
:bdelete
현재 파일 닫고 버퍼 리스트에서 제거 그리고 버퍼 리스트에서 현재 파일 이전 파일 열기

(현재 파일이 버퍼 리스트에서 마지막 파일일 경우, 현재 파일 닫고 버퍼 리스트에서 제거 후 이름 없는 파일 열기)

 

 

특정 파일을 버퍼 리스트에서 제거

동작
:bd [파일] [파일] 버퍼 리스트에서 제거
:bd [버퍼 숫자] [버퍼 숫자] 파일 버퍼 리스트에서 제거

 

 

다수 파일을 버퍼 리스트에서 제거

동작
:bd [파일1] [파일2] ... 다수의 [파일] 버퍼 리스트에서 제거
:bd [버퍼 숫자1] [버퍼 숫자2] ...
다수의 [버퍼 숫자] 파일 버퍼 리스트에서 제거
:[범위]bd
버퍼 숫자가 [범위]에 해당하는 모든 파일을 버퍼 리스트에서 제거

예: :1,3bd

버퍼 숫자 13 사이의 모든 파일을 버퍼 리스트에서 제거

 

 

모든 파일을 버퍼 리스트에거 제거

동작
:%bd 모든 파일을 버퍼 리스트에서 제거 후 이름 없는 파일 열기
:%bd|e# 현재 파일을 제외한 모든 파일을 버퍼 리스트에서 제거

버퍼 리스트에 있는 파일 열기

버퍼 리스트에 있는 특정 파일 열기

동작
:b [파일]
:bu [파일]
:buf [파일]
:buffer [파일]
버퍼 리스트에 존재하는 [파일] 열기
:b[버퍼 숫자] 버퍼 리스트에 존재하는 [버퍼 숫자] 파일 열기

 

 

버퍼 리스트에 있는 첫번째 & 마지막 파일 열기

동작
:bf
:bfirst
버퍼 리스트의 첫번쩨 파일 열기
:bl
:blast
버퍼 리스트의 마지막 파일 열기

 

 

버퍼 리스트에 있는 이전 & 다음 파일 열기

동작
:b#
Ctrl + ^
이전에 연 버퍼 리스트의 파일 열기
:bp
:bprevious
:bN
:bNext
버퍼 리스트에서 현재 파일의 윗 파일 열기
(윗 파일 열기 전, 편집 된 현재 파일을 저장해야 함)

:bp! - 편집 된 현재 파일 저장 필요 없이 윗 파일 열기
:bn
:bnext
버퍼 리스트에서 현재 파일의 아래 파일 열기
(아래 파일 열기 전, 편집 된 현재 파일을 저장해야 함)

:bn! - 편집 된 현재 파일 저장 필요 없이 아래 파일 열기

 

 

버퍼 리스트에 있는 파일을 가로로 열기

동작
:ba
:ball
버퍼 리스트의 모든 파일을 각각 가로창에 열기
:sp | b[버퍼 숫자] 버퍼 리스트에 존재하는 [버퍼 숫자] 파일을 가로창에 열기

 

 

버퍼 리스트에 있는 파일을 세로로 열기

동작
:vert ba
:vert ball
:vertical ba
:vertical ball
버퍼 리스트의 모든 파일을 각각 세로창에 열기
:vs | b[버퍼 숫자] 버퍼 리스트에 존재하는 [버퍼 숫자] 파일을 세로창에 열기

기타

버퍼 Unload - 버퍼 unload란 버퍼 리스트에서 삭제는 아니고 버퍼 메모리에서 파일 삭제를 의미

동작
:bun
:bunload
현재 파일 닫고 버퍼 메모리에서 unload 하고 이전에 연 파일 열기
(현재 파일이 버퍼 리스트에서 마지막 파일이면 unload 불가능)
:bun [파일] [파일] 버퍼에서 unload
:bun [버퍼 숫자] [버퍼 숫자]에 해당하는 파일 unload

 

 

Set Options

동작
:set hid
:set hidden
현재 파일을 저장하지 않아도 다른 파일 열기 허용
:set nohid
:set nohidden
현재 파일을 저장하지 않으면 다른 파일 열기 불가
반응형