2012-12-21 2 views
3

현재 줄/블록/메서드를 제외한 모든 것을 접을 수있는 vim 함수를 작성하려고합니다. 여기VIM : 현재 줄 주위에 모든 접기 열기

set foldemethod=indent 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" FOCUS ON BLOCK OF CODE (fold everything else) 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! FocusOnBock() 
    :normal! zM     " close all folds 
    :normal! zozozozozozozozozo " I hope enough to open all nested folds :) 
    :normal! zz     " center the current line 
endfunction 
:command! FocusOnBock :call FocusOnBock() 
:map <leader>F :FocusOnBock<CR> 

I (일반적으로 좋은 코드에 존재하는 다음 이상) 다음 많은 주름을 열고, 모든 주름을 닫은 다음 나는 현재 행을 중심 : 여기

내가 이미 쓴 것입니다. BTW, 당신은 그것을 실제로 볼 수 있습니다 - http://ascii.io/a/1771
나는 :norm! zozozozozozozozozo 라인을 좋아하지 않아. 커서를 움직이지 않고 현재 줄 주위에 모든 접기를 열 수있는 명령이 있습니까?

+0

그런데'% foldclose! '가 있는데,'normal! zM'. 어떤 상황에서는'{range}'인수로 인해 더 유용합니다. – ZyX

답변

9

예, 있습니다 : zv :

ZV보기 커서 행 : 충분한 열기 커서가 접힌되지 위치한 의 라인을 만들기 위해 주름.

+0

어떻게 내가 그것을 놓칠 수 있었느냐!? 고맙습니다! – cutalion