Tengo algunos archivos de texto con formato previamente en vim utilizando "gggqG". Ahora necesito convertirlos a formato de una línea por párrafo. Vi una forma (usando: comando g) de hacer eso antes, pero lo he olvidado. ¿Alguien sabe?Cómo volver a formatear "GQ" Texto ed en una línea por cada formato de párrafo en Vim
Respuesta
hay dos enfoques que conozco:
Conjunto textwidth a algo grande y dar nuevo formato:
:set tw=1000000 gggqG
Uso sustituto (esto es más adecuado si quiere hacerlo de una mapping):
:%s/.\zs\n\ze.//
Explicación de este último:
:%s " Search and replace across the whole file
/ " Delimiter
.\zs\n\ze. " Look for a character either side of a new-line (so ignore blank lines).
" The \zs and \ze make the replacement only replace the new-line character.
// " Delimiters and replace the new-line with a space.
Tal vez debería establecer textwidth a un valor muy grande (como 99999999) (0 no funciona por alguna razón) y usar gggqG
?
// No puedo decirle una forma de volver a formatear su párrafo con :g
sin saber exactamente cuál es el párrafo. Tal vez alguien más pueda.
Si sus párrafos de texto están separadas por una línea en blanco, esto parece funcionar:
:g!/^\s*$/normal vipJ
:g
mundial (multi-repetición)
!/^\s*$/
Que todas líneas excepto líneas en blanco y las que contienen solo espacios en blanco.
normal
entra en el modo 'normal'
vip
párrafo interno seleccionar visualmente
J
líneas de unión
+1: Esto es casi perfecto. Las líneas con cero o más de un carácter en blanco también pueden considerarse vacías. Sugiero '/^\ s * $ /'. También tenga en cuenta que ': v' es equivalente a': g! ' Para que pueda obtener su" par vim "a solo 17:': v/^ \ s * $/norma vipJ'. – Johnsyweb
@Johnsyweb: Buena captura. Se suponía que debía haber un '*' allí ... lo actualizaré. Gracias por la propina ': v' también. –
Noté que da un resultado incorrecto cuando las líneas ya están unidas. Elimina una línea vacía. Este no: '% s/\ (\ S \ s * \) \ n \ (\ s * \ S \)/\ 1 \ 2' – Reman
- 1. Vim: texto envolvente ("gq") sin modificar los títulos subrayados
- 2. ¿Cómo agregar texto al final de cada línea en Vim?
- 3. Desenvolver texto en vim
- 4. Vim: texto envolvente (es decir, "gq") sin romper cadenas?
- 5. Parse <br> en texto sin formato nuevo párrafo
- 6. Sangría texto después de la primera línea en un párrafo
- 7. Cómo insertar una palabra/texto al comienzo de cada línea
- 8. ¿Cómo inserto una línea en blanco antes de cada comentario (por ejemplo, "#") en VIM?
- 9. ReSharper formatear código en una sola línea
- 10. Formateo personalizado de tramas LaTeX (beamer) en Vim usando el comando gq
- 11. formato diferente en una sola línea Interop.word
- 12. Vim auto line-break
- 13. Archivo de texto con^M en cada línea
- 14. Algoritmo para volver a envolver el texto envuelto?
- 15. Formatear el código de Ruby en Vim
- 16. Cómo volver al punto anterior en VIM
- 17. ¿Sangrar solo la primera línea de texto de un párrafo?
- 18. Comience una nueva línea (párrafo) en una etiqueta o TextView
- 19. Formatear oraciones en una cadena usando C#
- 20. Cómo volver a implementar, volver a crear la base de datos en cada ejecución de prueba
- 21. Macro Vim en cada línea de selección visual
- 22. Python Formatear texto grande
- 23. NSData volver al texto sin formato NSString
- 24. Obtener texto de un párrafo en jquery
- 25. Vim: ¿Cómo saltar a la primera/última línea del párrafo actual?
- 26. Vim, cómo volver a cargar el resaltado de sintaxis
- 27. Formatear texto en un TextBlock
- 28. ¿Cómo pego una columna de texto después de una columna de texto diferente en Vim?
- 29. Cómo convertir reStructuredText a texto sin formato
- 30. ¿Cómo formatear la entrada de vim quickfix?
el enfoque de expresiones regulares es una especie de oscuro. pero bueno. El enfoque tw = gana en la simplicidad –
sehe