Pregunta

Es allí una manera de utilizar los pliegues o algunos otros Vim-secuencia de comandos de la magia negra para ocultar la licencia de bloques en la parte superior de los archivos?No me gusta que ocupan una gran parte de mi panel de edición;Me gusta tener una idea de lo que es un archivo que está haciendo cuando me abra por primera vez, en lugar de una cara llena de repetitivo.

¿Fue útil?

Solución

Probar en un AutoCommand.

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

Ajustar el intervalo en la línea 4 de manera apropiada. En el peor de los casos donde el derecho de autor se inicia en diferentes lugares y es una longitud variable este patrón debe hacer:

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

Otros consejos

Depende de si hay una forma consistente para el bloque de la licencia y en qué idioma está programando. Por ejemplo, pitón tiende a utilizar un 'foldexpr' para definir el plegado, por lo que añadir este tendría que reemplazar el función existente por uno nuevo (o deshacerse del plegado existente). Creo que el defecto en C es el uso de plegado manual (aunque es posible que he configurado de esa manera a mí mismo: no puedo recordar), así que esto es mucho más fácil de añadir extra plegable

.

Con un simple mensaje de copyright GPL como el que al final de este post, podría configurar foldmethod el manual y tienen una función simple que crea un pliegue. Todo depende de la forma de los derechos de autor y lo importante que es para usted para mantener el plegado existente. Me temo que iba a necesitar un poco más de detalle para dar una respuesta más útil. De todos modos, aquí está un script de ejemplo que podría ser utilizado para doblar el aviso de copyright al final de este post:

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()

Si se asume un aviso de copyright como la siguiente:

# 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...

He creado un pequeño vim plugin para esto.Se adivina cuando el primer comentario de la página debe ser doblado.Funcionó en mi casos de prueba, pero, por supuesto, cualquier mejora es bienvenida.Debe ser fácil para añadir otras de una sola o varias líneas de identificadores.

Get it aquí.Para instalar, como cualquier otro plugin, simplemente colócala en tu ~/.vim/plugin.

Editar:Cambiado el enlace vim.org y limpiar la respuesta

¿Qué hay de borrarlos? En serio.

El código fuente está protegido por derechos de propiedad y la concesión de licencias, no el texto modelo. No tiene por qué estar allí, por lo menos en la mayoría de los casos.

En el caso de GPL y otros esquemas similares que efectivamente requiere estar presente el texto, que puede ser movido a la parte inferior del archivo o lo que sea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top