====== FuzzyFinder ======
파일 이름으로 빠르게 탐색하여 파일을 연다. 버퍼, 디렉토리, 태그, 북마크 등도 지원한다.
* [[vim:ctrlp|Vim CtrlP]]가 나은듯.
* http://www.vim.org/scripts/script.php?script_id=1984
* 설치하려면 [[http://www.vim.org/scripts/script.php?script_id=3252|L9 Library]]도 먼저 설치해야 한다.
* 기본적으로 Vim을 실행한 디렉토리를 기준으로 파일을 탐색한다. 아래난 Partial Matching을 한다. Fuzzy Matching은 끝의 **!**를 빼야한다.
*
map ff :FufCoverageFile!
map fb :FufBuffer!
map fd :FufDir!
" 파일명 탐색시 제외할 파일 이름 패턴 지정
let g:fuf_coveragefile_exclude = '\v\~$|\.(o|exe|dll|bak|orig|swp|class)$|(^|[/\\])\.(hg|git|bzr)($|[/\\])'
===== 검색 패턴 =====
* Fuzzy Patthern : "abc"를 입력하면 "a*b*c*"를 찾는다.
* Partial Pattern : "abc"를 입력하면 "*abc*"를 찾는다.
* 검색어 입력 : 기본적으로 primarypattern으로 검색하고, ; 뒤의 값들로 검색결과를 줄여나간다.
*
MruFile>primarypatterh.vim;refining1/;refining2
===== 검색중 단축키 =====
* ''Ctrl-\ Ctrl-\'' : Fuzzy/Partial Matching 전환
* ''Ctrl-w'' : 한 단어 삭제
* ''Ctrl-s |g:fuf_keyPrevPattern|, Ctrl-^ |g:fuf_keyNextPattern|'' : 검색 히스토리
* '''' : 선택한 파일 열기
* ''Ctrl-j'' : 창을 분할하고 열기
* ''Ctrl-k'' : 창을 세로 분할하고 열기
* ''Ctrl-l'' : 새 탭에 열기
* ''Ctrl-t, Ctrl-y'' : 모드 변환 이전/다음
* ''Ctrl-@'' : 프리뷰 가능한 모드에서 프리뷰를 보여줌.
===== 주요 모드 =====
* Buffer Mode : 버퍼 목록을 보여주고 검색/선택.
* ''Ctrl-]'' : 선택한 버퍼 삭제
* File Mode : 파일 목록
* Coverage-File Mode : 지정된 커버리지의 파일 목록을 보여주고 검색/선택
* 기본 검색 대상 : 워킹 디렉토리 이하의 모든 파일
* Directory Mode : 디렉토리 목록을 보여주고, 해당 디렉토리로 이동.
* MRU File Mode : 최근 사용 파일 목록
* Bookmark File Mode : 북마크 목록을 보여주고, 해당 파일의 해당 위치로 이동
* :FufBookmarkFileAdd : 북마크 추가
* ''Ctrl-]'' : 북마크 삭제
* Bookmark Dir Mode : 디렉토리 북마크 목록을 보여주고, 선택하면 해당 디렉토리로 이동
* :FufBookmarkDirAdd : 디렉토리 북마크
* 기타 등등...
===== 축약 Abbreviation =====
* 검색 대상 영역을 미리 정의해 둘 수 있다.
*
let g:fuf_abbrevMap = {
\ "^doc:" : [
\ "~/project/**/doc/",
\ ".vim/doc/",
\ ],
\ }
* 위와 같이 설정하면, "doc:txt" 로 검색시에 다음을 검색 대상으로 한다.
*
"~/project/**/doc/*t*x*t*"
".vim/doc/*t*x*t*"
===== 데이터 파일 =====
* ''g:fuf_dataDir'' 디렉토리에 FuzzyFinder 관련 데이터 파일을 저장한다.
===== 명령어 =====
* 명령어 뒤에 **!**를 붙이면 Partial matching으로 작동한다.