[Vim] Plugin: FuzzyFinder
프로그래머의 친구 Vim (emacs는 엄마친구아들-_-) 포스팅
FuzzyFinder는 파일을 열 때 쉽게 열 수 있게 도와주는 Vim 플러그인이다. (정확하게 파고들면 엄청 대단한 기능들이 많지만...) 약자로 fuf라고 칭하도록 하겠다.
http://www.vim.org/scripts/script.php?script_id=1984
설치방법은 압축 풀면 나오는 디렉토리 들을 간단히
구버전은 fuf 만으로도 잘 돌아갔지만 최신 개발 버전은 L9 라이브러리를 요구하고 있다. 동일 개발자가 라이브러리 부분만을 별도로 분리했나 보다.
http://www.vim.org/scripts/script.php?script_id=3252
역시 최신버전 받아서 동일하게 설치.
Fuzzy 알고리즘인지 뭔지를 이용해 파일이름의 패턴을 검색해 준다고 하는 편이 좋을지도 모르겠다. 하여간 좋다 -_-
Vim의 기본 e커맨드와 비교해서 좋은 점은:
fuf의 단점이 한가지 있다면 TAB 자동완성 기능.
ps. 구버전 fuf에서는 file exclude list를 설정하는 옵션 이름이
FuzzyFinder는 파일을 열 때 쉽게 열 수 있게 도와주는 Vim 플러그인이다. (정확하게 파고들면 엄청 대단한 기능들이 많지만...) 약자로 fuf라고 칭하도록 하겠다.
http://www.vim.org/scripts/script.php?script_id=1984
설치방법은 압축 풀면 나오는 디렉토리 들을 간단히
~/.vim/
에 (윈도우의 경우 Vim이 설치된 디렉토리의 vimfiles
폴더에) 복사하기만 하면 된다.구버전은 fuf 만으로도 잘 돌아갔지만 최신 개발 버전은 L9 라이브러리를 요구하고 있다. 동일 개발자가 라이브러리 부분만을 별도로 분리했나 보다.
http://www.vim.org/scripts/script.php?script_id=3252
역시 최신버전 받아서 동일하게 설치.
Fuzzy 알고리즘인지 뭔지를 이용해 파일이름의 패턴을 검색해 준다고 하는 편이 좋을지도 모르겠다. 하여간 좋다 -_-
~/.vimrc
(윈도우의 경우 Vim 디렉토리 아래의 _vimrc
) 파일을 좀 편집해 두는 편이 좋겠다.filetype plugin on플러그인 불러들이도록 해 주고...
let g:fuf_file_exclude = '\v\~$|\.(o|exe|dll|bak|swp|class|pyc|orig)$|(^|[/\\])\.(hg|git|bzr)($|[/\\])'파일 목록을 표시할 때 표시하지 않을 확장자를 설정한 부분이다. 나는 기본 목록에 pyc를 추가했다.
map <leader>ff :FufFile **/ map <leader>fb :FufBuffer noremap <silent> <c-]> :FufTagWithCursorWord!단축키 설정이라고 보면 된다.
<leader>
라는 키는 임의로 바꾸지 않았다면 기본적으로 백슬래시(\
)가 설정되어 있다. 즉, ESC를 한번 눌러서 커맨드모드로 바꾸고 \ff
를 입력하면 파일 오픈 모드가 된다. \fb
를 누르면 버퍼 변환 모드, Ctrl-]
를 누르면 태그 검색 모드가 된다.Vim의 기본 e커맨드와 비교해서 좋은 점은:
- 서브디렉토리까지 몽땅 검색해서 파일 리스트를 만들어 준다는 점
- 약자 검색(예를 들어
ThisIsTest
를 검색할 때tit
혹은This*
이런 식으로 입력하면 자동선택)이 가능한 점(이 부분에 fuzzy 알고리즘이 사용된다)
fuf의 단점이 한가지 있다면 TAB 자동완성 기능.
:e filename
이런 식으로 파일을 열기 위해 파일이름을 입력할 때 TAB을 누르면 자동완성을 해 주는데 FufFile을 사용할 때 TAB을 누르면 텍스트로 TAB(혹은 공백)이 편집기 창에 입력되어 버린다. -_-ps. 구버전 fuf에서는 file exclude list를 설정하는 옵션 이름이
g:FuzzyFinderOptions.File.exclude_path
였다. 설정 했는데 왜 동작안하나 했더니 이름이 잔뜩 바뀌었던 것이다. 혹시나 구버전 설정을 보고 있다면 주의해야 할 것이요~~;;
댓글