vim을 사용하면서 가장 필요한 기능은 원하는 파일을 빨리 여는 것이다.


Source insight 를 사용하는 경우에는 project 에 파일들을 추가해 놓고 project 내의 파일들은 ctrl+o 의 기능을 활용하여 파일 목록에서 찾을 수 있다.


vim 에서 이와 비슷한 동작 아니 더 빠르고 쉽게 파일을 열 수 있도록 해주는 플러그인 들이 있다.


내가 정확히 원한는 기능은, 미리 파일 목록을 만들어 놓고 그 목록 중에서 파일이름으로 검색하여 해당 파일을 여는 일이다. (source-insight 를 사용하는 형태와 동일)


가장 먼저 사용해본 vim plugin은 ctrl-p ( https://github.com/kien/ctrlp.vim ) 이다.  vim script 로 만들어져 있으며 파일 검색시 fuzzy 알고리즘 이용 및 열려있는 파일중에서 찾기, history 에서 찾기 등이 같이  제공된다. 


난 주로 chromium 소스 분석을 위해 vim을 사용하는데 검색 대상의 파일 수가 30000~40000 개이다. ctrl-p 로 미리 listup 되어 있는 대상을 로드하여 text 로 filtering 하는 과정에서 지연이 발생하게 된다. (느린경우 약 1~2초 정도)


1년정도는 이것을 참고 사용하다가 최근 fzf ( https://github.com/junegunn/fzf.vim )  라는 툴을 접한 후 이 툴을 사용하여 ctrlp를 대체하기 시작하였다. go 언어로 작성된 터미널용 툴이며 vim 에 연결하여 사용하였을때 ctrlp 처럼 딜레이가 생기지 않는다.


fzf 에서도 기본적은 vim 플러그인을 제공하는데, 이것을 사용하더라도 매우 빠르게 동작한다.


다음 번에는 fzf 를 vim과 연동하여 사용하는 법에 대해서 소개해 보고자 한다.

AND