2012-06-07 3 views
1

"vim some_directory /"를 입력하면 명령 행에서 파일 브라우저가 열리고 vim은 파일 브라우저를 열어 " j "와"k "를 선택하고 파일을 열 때까지"enter "로 선택하십시오.Vim (스크립트) L 파일 브라우저/하이퍼 링크

VimL에서 서브 디렉토리에있는 파일 이름의 임의의 목록을 생성하고 위에서 언급 한 파일 브라우저와 같은 형식으로 파일을 나열하는 Vim을위한 함수를 작성하고 싶습니다. "j"또는 "k"를 눌러 목록에서 "enter"를 눌러 파일을 선택 (편집, 열기)하십시오.

VimL로 가능합니까? 그렇다면 어떻게? 파일 브라우저 기능을 구현하는 데 관심이 있습니다. 이미 파일 이름 목록을 알아 냈습니다.

미리 감사드립니다.

+0

[NERDtree] (http://www.vim.org/scripts/script.php?script_id=1658)와 비슷한 소리가납니다. 너 봤어? –

+0

그래, 꽤 비슷하지만 NERDtree가 필자가 찾고있는 것과 동일한 기능을 제공하지는 않습니다. 그래도 NERDtree처럼 내 플러그인을 표시하고 싶습니다! 나는 그것을 알아낼 수 있는지 확인하기 위해 nerdtree 소스 코드를 조사하고 있습니다. – nct25

+0

NERDtree 코드를 살펴본 결과, 실제로 이것이 LOL에 들어가는 것에 관심이있는 것보다 훨씬 복잡하다고 생각합니다. 작은 접선 다음에 vimscript로 NERDtree가하는 방식으로 새 창을 열려면 어떻게해야합니까? – nct25

답변

1

빔에서 이것은 스크래치 버퍼으로 구현됩니다. 즉 :new으로 새 버퍼를 열고 Vimscript (:normal i... 또는 :call setline(1, "foo")) 및 :setlocal nomodifiable으로 채 웁니다.

은 일반적으로 다음과 같은 설정도 적용됩니다, 작업을 구현 그냥 스크래치 버퍼, 예를 들어, 특별한 매핑을 정의하는 :map <buffer>를 사용하려면

:setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile 

:nnoremap <buffer> <CR> :echo "you selected: " getline('.') 

Voila!