2009-02-12 7 views
7

Al editar prosa que no sea WYSIWYG (LaTeX, HTML, etc.), es probable que desee tener líneas nuevas al final de las oraciones. Esto tiene varias ventajas:Showdown del editor: Mantener líneas nuevas al final de las oraciones

  1. Más fácil para reordenar oraciones.
  2. Oraciones más fáciles de comentar.
  3. Más fácil de detectar frases largas/demasiado largas.
  4. Más fácil de comentar en oraciones.

Por ejemplo:

% The following isn't strictly true; maybe excise or comment out for now: 
After all, people who use Word or other WYSIWYG editors are aiding and 
abetting terrorists. 

Y probablemente la ventaja más importante de todo es que hace que la edición colaborativa bajo control de versiones mucho más fácil. De lo contrario, terminas con conflictos donde simplemente te informa "las siguientes dos versiones de este gran párrafo están en conflicto".

Pero el mantenimiento de nuevas líneas al final de las oraciones es más fácil decirlo que hacerlo ...

As you edit the prose 
it will get all chopped up, like this. 
Normally you'd do a "reformat paragraph" 
to clean it up, but then 
you lose the newlines at the ends of your sentences! 

La siguiente pregunta es acerca de cómo resolver este problema en emacs:

How do I get Emacs to fill sentences, but not paragraphs?

I Me gustaría saber cómo lidian las personas con esto en otros editores, incluidos vim, TeXShop, TextMate y cualquier otro que creas que sería útil recopilar aquí. Asesoramiento sobre envolvimiento suave vs duro también es bienvenido.

+0

¿Utiliza un editor con envoltura suave? – garrow

Respuesta

3

Creo que la solución más simple es agregar líneas nuevas después de paradas completas. Sus ediciones nunca fragmentarían líneas.

Tenga en cuenta que para la prosa puede muy bien depender de características de línea de envoltura de su editor para envolver frases largas - a menos que usted insiste en sangría como lo haría con el código (no me sangría a que gran parte de látex),

+0

Esto ciertamente funcionará, pero inicialmente lo rechacé (aún dispuesto a convencerme) porque impone exigencias a la elección de editores de mis colaboradores. – dmckee

+0

En serio: ¿la gente usa editores que no pueden envolver líneas? – yungchin

+0

La gente ciertamente usa el editor que no está _set_. YMMV y todo eso. – dmckee

1

Vim:

se puede desactivar de ajuste de texto (set formatoption-=t) y no va a añadir saltos de línea a menos que pulsa enter. Mejor aún, si se puede averiguar cómo configurar la opción 'comments' para que reconozca sus comentarios, se puede establecer una anchura de auto-wrap sólo por sus comentarios y no para otra cosa:

set comments=b:% 
set textwidth=80 
set formatoption+=c 
set formatoption-=t 

Este es el método que uso, para que mis comentarios sean ordenados, pero mi código no se destruye a menos que lo haga yo mismo.

0

Todo esto parece una forma bastante artificial de evitar una limitación de diff. ¿Por qué no crear una diferencia sensible a la oración en lugar de atornillar con su fuente?

+0

¿Cómo sabría cuándo estar basado en línea y cuándo estar basado en oraciones? En cualquier caso, creo que los motivos del 1 al 4 son lo suficientemente convincentes como para no pensar que es artificial. Creo que el mayor inconveniente es que hace que su documento sea menos compacto. – dreeves

0

Me gustaría saber cómo las personas se ocupan de esto en otros editores,

Fwiw en la plataforma Windows, el editor tiene un Zeus configurable margen derecho y una construida en la línea envuelve la función.

Así, por ejemplo, con el margen derecho establecido en caracteres, que marca el texto de su ejemplo y luego usando los macros, Linewrap Párrafo menú, Zeus va a formatear el texto como sigue:

As you edit the proseit will get all chopped up, 
like this. Normally you'd do a "reformat 
paragraph"to clean it up, but thenyou lose the 
newlines at the ends of your sentences! 

La envoltura es difícil en que todas las líneas de arriba tienen insertado un carácter de fin de línea.

+0

Es la nueva línea entre "... esto". y "Normalmente ..." que quiero preservar. – dreeves

+0

Bueno, supongo que una solución sería crear una macro que una todas las líneas del área marcada en una línea y luego hacer que la macro divida la línea reemplazando todos los puntos/exclamaciones con punto/exclamación y nueva línea. Cualquier editor de secuencias de comandos (incluido Zeus) debería poder hacer esto. – jussij

+0

Tendría que ser inteligente al respecto, ya que hay un montón de períodos sin final de frase y explosiones y tal. – dreeves

1

Un editor de texto normal no debe intentar cambiar el archivo que escribe, a menos que se lo solicite explícitamente. Puede cambiar la apariencia del archivo en la pantalla para facilitar la lectura, pero eso es todo.

Por lo tanto, la mayoría de los editores decentes en mi experiencia hacen envoltura suave y mantienen sus saltos de línea donde los haya insertado.

Eso es todo. Debo confesar que no puedo ver de qué se trata el alboroto, a menos que esté usando algunos editores de texto bastante extraños que insisten en hacer las paces y necesitan soluciones temporales.

Si desea mantener el formato útil para diff, simplemente haga los saltos de línea después de cada oración, y acepte que diff funcionará en el nivel de la oración.

0

no desea nuevas líneas al final de las oraciones.

seguro que es más fácil hacer las 4 cosas que enumera, pero eso no vale la pena hacerlo diferente a como lo hace el resto del mundo (incluso si las razones del mundo son tan estúpidas como el razonamiento detrás de CR LF = newline) .

y su mayor ventaja no es cierto:

De lo contrario se termina con conflictos donde sólo a usted " las siguientes dos versiones de este enorme párrafo están en conflicto" informa.

¿Cómo sabría cuándo estar basado en línea y cuándo basarse en las oraciones?

puede utilizar Meld o alguna herramienta de diferencias similares y dejar que se haga el trabajo.

+0

¿Notó que está hablando de editar el origen de un documento LaTeX de una situación similar, aquí la forma del archivo de entrada tiene una influencia limitada en la forma de la salida formateada? ¿Y hacerlo en un entorno colaborativo? Problema de caso especial. Aclamaciones. – dmckee

+0

sí, incluso en html/latex espacios en blanco y saltos de línea en algunos casos tienen significado. e ignorarlos en todas partes te meterá en problemas especialmente si quieres trabajar en colaboración. – oberhamsi

1

En vim, puede completar hasta el final de la frase actual con gw). No formateará todo un párrafo o región para usted, pero si tiene cuidado de insertar nuevas líneas después de cada oración, y reformatea con gw) mientras escribe, funciona bastante bien.

1

Hagas lo que hagas, no uses un editor que envuelva automáticamente todo el documento si estás en un entorno colaborativo.Los amigos no permiten que los amigos usen WinEdt.

Cuestiones relacionadas