Al principio, utilizo el conjunto foldmethod = marker, y muevo el cursor al {de una función, uso el zf% para doblar la función actual. Pero hay muchas funciones en este archivo. ¿Cómo puedo doblar todas las funciones en este archivo? Y no quiero doblar {} en las funciones.¿Cómo puedo plegar automáticamente todas las funciones en un archivo con vim?
Respuesta
Si :set foldmethod=syntax
los pliegues se especificarán a partir de las definiciones de sintaxis. Si lo prefiere, puede :set foldmethod=indent
para que la sangría defina los pliegues.
Puede cerrar todos los pliegues con zM
. Si tiene pliegues anidados y desea doblar nivel por nivel, use zm
. Para abrir pliegues, use zR
(todos) y zr
(nivel por nivel).
Creo que malinterpretas mi significado. Al principio, necesito configurar fold para cada función. Solo quiero saber cómo configurar fold para todas las funciones por primera vez. –
@Yongwei: bien, creo que lo entiendo ahora. ¿Es esto lo que querías? –
zR y zm no funcionan después de establecer foldmethod = sintaxis –
Si cada función tiene su llave de apertura en la primera columna se podía hacer:
:%g/^{/normal! zf%
tal vez es más claro de esta manera:
:%g /^{/ normal! zf%
el comando g
selecciona líneas de acuerdo con el siguiente patrón, y ejecuta un comando ex (aquí normal!
para tocar teclas de modo normal).
Ver :help :g
y :help :normal
Yo uso esto - gracias sin embargo, ¿cómo se puede evitar plegar a través de funciones? parece que no solo las funciones – serup
me encontré con esto cuando yo estaba buscando algo similar. Obviamente habrías descubierto esto, pero para el beneficio de otras personas lo responderé de todos modos.
que necesita para poner en las siguientes líneas en su .vimrc:
set foldmethod=syntax
set foldnestmax=1
set foldlevel=0
se dobla todo, desde el principio, lo que es ción para ser doblado. Según el idioma y la función de plegado, el contenido del plegado variará.
'zM' hacen lo mismo. – MOHRE
Trate :%g/\(function\_.\{-}\)\@<={/ normal! f{zf%
Explicar poco a poco:
:%g
- buscar globaly en un archivo toda
/\(function\_.\{-}\)\@<={/
- patrón para encontrar primero '{' después de cualquier 'función' y poner el cursor en comenzar de cuerda con que '{'
normal! f{zf%
- ejecutar con interés '{' y hacer f{
veces con mover '%' zf%
en tha t cadena
no pudo obtener su comand para trabajar - tal vez muestre funciones de ejemplo – serup
que estaba tratando de hacer lo mismo y terminó simplemente haciendo:
setlocal foldmethod=marker
setlocal foldmarker={,}
Se utiliza el método de plegado marcador y cambia el marcador a una sola llave de cierre (por defecto el marcador es {{{
).
¡Me encantó eso, bastante útil! Pero debería dividir las líneas que cierran un corchete y abre otro (como "} else else" –
- 1. plegar automáticamente las vistas en línea de Oracle en Vim usando .vimrc
- 2. Colapsar comentarios y todas las funciones en vim/gvim
- 3. En vim, ¿cómo puedo eliminar todas las líneas en un archivo, excepto las últimas 100 líneas?
- 4. ¿Cómo puedo extraer todas las clases en un archivo separado?
- 5. exportar automáticamente todas las funciones (vs __all__ especificar manualmente)
- 6. ¿Cómo puedo personalizar un archivo con vim?
- 7. ¿Cómo puedo inicializar automáticamente todas las variables escalares en Perl?
- 8. ¿Cómo guardar automáticamente un archivo cada 1 segundo en vim?
- 9. Enrollar automáticamente las líneas largas en VIM
- 10. ¿Cómo puedo agregar automáticamente algún código de esqueleto al crear un nuevo archivo con vim
- 11. registre automáticamente todas las interfaces con Unity
- 12. ¿Cómo enumerar todas las funciones en un módulo de Python?
- 13. Plegado de sintaxis VIM: deshabilitar plegar comentarios de varias líneas
- 14. ¿Cómo puedo obtener todas las imágenes de un archivo qrc?
- 15. Cómo sangrar automáticamente un bloque en vim
- 16. Reemplazar todas las instancias de carácter entre etiquetas con vim
- 17. Vim: resalte todas las coincidencias en incsearch
- 18. Unir todas las líneas con pestañas insertadas (vim)
- 19. ¿Cómo puedo console.log funciones junto con todas sus propiedades?
- 20. ¿Cómo puedo cambiar la codificación de un archivo con vim?
- 21. ¿Cómo actualizar automáticamente el archivo de etiqueta en vim?
- 22. ¿Puedo transportar un archivo en Vim?
- 23. Capture todas las excepciones no controladas automáticamente con WebService
- 24. eliminar todas las variables, excepto las funciones
- 25. Obtener todas las funciones de un objeto en JavaScript
- 26. Capitalizar automáticamente todas las entradas en WPF
- 27. ¿Puedo cargar automáticamente archivos de funciones sin clases en PHP?
- 28. Borrar todas las macros vim actualmente definidas
- 29. ¿Cómo encontrar todas las apariciones de una variable en Vim?
- 30. En Erlang, ¿cómo puedo importar todas las funciones de un módulo?
Las distribuciones de FYI vim generalmente vienen con ayuda incorporada. Si escribe ': ayudar a doblar', puede ver todas las cosas relacionadas con el plegado. –
Tendrá que agregar el idioma que le interesa (no todos los idiomas tienen {} para empezar); plegar en Vim es un tema en sí mismo. – Rook