문제

파일 상단에 라이센스 블록을 숨기기 위해 주름이나 다른 VIM 스크립트 블랙 마술을 사용하는 방법이 있습니까? 나는 그들이 편집 창의 큰 부분을 차지하는 것을 좋아하지 않습니다. 나는 파일이 보일러 플레이트가 아닌 얼굴을 처음 열 때 파일이 무엇을하고 있는지에 대해 이해하고 싶습니다.

도움이 되었습니까?

해결책

자동 명령에서 시도해보십시오.

function! FoldCopyright
  if !exists( "b:foldedCopyright" )
    let b:foldedCopyright = 1
    1,15fold
  endif
endfunction

4 행 4의 범위를 적절하게 조정하십시오. 최악의 경우 저작권이 다른 장소에서 시작되고 가변 길이 인 경우이 패턴은 다음과 같습니다.

1,/Beginning of copyright/;/End of copyright/

다른 팁

라이센스 블록에 일관된 양식이 있는지 여부와 어떤 언어가 프로그래밍하는지에 따라 다릅니다. 예를 들어, Python은 'Foldexpr'을 사용하여 폴딩을 정의하는 경향이 있으므로 기존 기능을 추가하려면 기존 기능을 대체해야합니다. 새로운 것을 (또는 기존 접이식을 제거). C의 기본값은 수동 접이식을 사용하는 것이라고 생각합니다 (직접 구성 할 수는 있지만 기억할 수 없습니다). 따라서 추가 접이식을 추가하기가 훨씬 쉽습니다.

이 게시물의 끝에있는 것과 같은 간단한 GPL 저작권 메시지를 사용하면 FoldMethod를 설명서로 설정하고 접힘을 만드는 간단한 기능을 가질 수 있습니다. 그것은 모두 저작권의 형태와 기존 폴딩을 유지하는 것이 얼마나 중요한지에 달려 있습니다. 더 유용한 답변을 제공하려면 좀 더 세부적인 것이 필요합니다. 어쨌든 다음은이 게시물의 끝에서 저작권 통지를 접는 데 사용될 수있는 예제 스크립트입니다.

function! CreateCopyrightFold()
    let InCopyright = 0
    set foldmethod=manual
    for Line in range(1,line('$'))
        let LineContents = getline(Line)
        if LineContents !~ "^#"
            if InCopyright
                let CopyrightEnd = Line - 1
                exe CopyrightStart . ',' . CopyrightEnd . 'fold'
            endif
            break
        elseif LineContents =~ "Copyright"
            let InCopyright = 1
            let CopyrightStart = Line
        endif
    endfor
endfunction
au BufRead *.py call CreateCopyrightFold()

이와 같은 저작권 통지를 가정합니다.

# Copyright (C) 2009 Some Company or Something
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

import sys
# Code continues...

이것을 위해 작은 vim 플러그인을 만들었습니다. 페이지의 첫 번째 댓글을 접어야 할 때 신성합니다. 테스트 사례에서 작동했지만 물론 개선이 환영합니다. 다른 단일 또는 다중 라인 식별자를 추가하기가 쉽습니다.

그것을 얻으십시오 여기. 다른 플러그인과 마찬가지로 설치하려면 ~/.vim/플러그인에 떨어 뜨립니다.

편집 : 링크를 vim.org로 변경하고 답을 정리했습니다.

그들을 삭제하는 것은 어떻습니까? 진지하게.

소스 코드는 보일러 플레이트가 아닌 권리 소유권 및 라이센스에 의해 보호됩니다. 적어도 대부분의 경우 거기에있을 필요가 없습니다.

텍스트를 효과적으로 요구하는 GPL 및 기타 유사한 체계의 경우 파일의 맨 아래로 이동할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top