¿Cómo esbozo / oculto / muestro texto al escribir en prosa?

9

Quiero usar Emacs para escribir prosa (específicamente, ficción).

He usado Scrivener y Ulises en el pasado, pero no estoy contento con ellos. Quiero probar Emacs, pero no sé cómo replicar el flujo de trabajo al que estoy acostumbrado.

Solía writeroom-modeobtener un entorno libre de distracciones, pero es solo una pieza del rompecabezas. Me gusta la forma en que Ulysses y Scrivener le permiten concentrarse en un fragmento de texto, y me gustaría saber cómo replicar esta funcionalidad. Me gustaría que org-modeotro perfil me permitiera concentrarme en un texto y ocultar el resto. Idealmente, me gustaría tener una barra lateral (como Ulises), en la que pueda organizar los fragmentos de texto manualmente, como en esta captura de pantalla:

ulises

PD: He leído el PDF "Emacs for Writers" pero no aborda la necesidad de organizar y estructurar su texto.

Jason Mirk
fuente
44
Aclare su publicación con una pregunta sobre lo que realmente necesita (mejor aún, haga una pregunta discreta por publicación y haga varias publicaciones si es necesario). org-modeesboza, lo que le permite enfocarse en partes particulares del texto y mover el resto. El estrechamiento elimina el texto de la pantalla.
Dan
1
Esto podría ser un candidato para una de esas preguntas de "lista grande" :) (hubo una discusión sobre Meta sobre si este tipo de preguntas son apropiadas en SE: meta.emacs.stackexchange.com/questions/305/… ) Más sobre el tema: probablemente debería volver al modo Org. Es enorme y, en términos de estructuración de texto, sabe hacer mucho. Sin embargo, Emacs carece de la comprensión de la gramática del texto que escribe. La corrección ortográfica es todo lo que tiene para ofrecer a este respecto.
wvxvw
1
Los escritores de @lawlist siempre han usado "barras laterales" en forma de notas. esta es solo la versión digital de la misma.
Jason Mirk
2
Aquí hay un artículo interesante titulado Cómo escribir un libro en emacs. masteringemacs.org/article/how-to-write-a-book-in-emacs Como ejemplo de la elispinversión de tiempo, pasé un par de días para obtener un movimiento básico para imitar los diversos procesadores de texto que había utilizado a lo largo de los años en mi (s) profesión (es), por ejemplo, palabra izquierda / derecha, párrafo arriba / abajo y eliminar palabra. Lo bueno de Emacs es que es perfecto para cualquier persona con un poco o mucho trastorno obsesivo compulsivo, que necesita que las cosas sean específicas y debe ser lo correcto, no lo correcto.
ley
1
Scrivener tiene demasiadas cosas y, hasta donde recuerdo, no escribes en texto plano. Ulises 3 es bastante bueno, pero se bloquea mucho. Además, no puede dividir el búfer, mover párrafos de texto sin usar el mouse y toneladas de otras cosas que terminará perdiendo una vez que sepa que existen.
Jason Mirk

Respuestas:

6

Esto es lo que considero tu objetivo:

  • La capacidad de enfocarse en un fragmento de texto en particular mientras quitas el resto de tu camino,
  • La capacidad de mover grandes fragmentos de texto rápidamente.

Esta solución utiliza solo la funcionalidad de Emacs lista para usar:

  • org-mode
  • estrechamiento
  • ventanas divididas
  • tampones indirectos

En primer lugar, si escribe su documento en org-mode(o en cualquier modo que utilice las outlineinstalaciones de Emacs ), podrá estructurar su documento con encabezados, subtítulos, etc., y luego ocultar o mostrar los cuerpos de esos elementos Para la prosa, puede ser útil ser muy elemental: un encabezado para un capítulo, un subtítulo para una sección, un subtítulo secundario para una subsección, hasta un sub-sub-... -encabezado para cada párrafo individual.

En segundo lugar, aunque org-modele permitirá ocultar los cuerpos de sus encabezados y enfocarse solo en el cuerpo frente a usted, dejará los encabezados de sección en la pantalla. Puede o no encontrar eso que lo distraiga. Si lo hace, puede narrowcolocar el búfer solo en ese encabezado (haciendo que el resto de los encabezados desaparezcan temporalmente de la vista) y luego widennuevamente cuando desee ver el otro texto nuevamente.

En tercer lugar, para obtener una vista de esquema fácil y la capacidad de mover el texto rápidamente, puede usar una combinación de ventanas divididas y búferes indirectos. Haga su marco Emacs lo suficientemente ancho como para acomodar dos ventanas (vea esta publicación para la terminología de marco / ventana) Haga M-x split-window-horizontallypara obtener dos ventanas una al lado de la otra en su marco. En la ventana que tiene su documento, haga M-x clone-indirect-buffer.

Ahora tiene dos copias vinculadas del mismo documento en dos buffers diferentes. Ponlos en tus dos ventanas. Aunque ambos contendrán texto idéntico, puede hacer que se vean diferentes en las dos ventanas.

Una forma muy útil de utilizar esta función es tener una ventana de edición principal en la que realmente ingrese y edite su prosa, y use la otra ventana como vista de esquema: oculte los cuerpos para mostrar solo los encabezados en una sección / subsección dada / lo que sea para darse una visión general de la estructura del documento A continuación, puede mover fragmentos rápidamente, si está usando org-mode, M-<up>y M-<down>ejecuta org-metaupy org-metadown, respectivamente, lo que, en este contexto, moverá subárboles (un encabezado y todo lo que está debajo) hacia arriba o hacia abajo en el documento.

Dan
fuente
1
Esto es casi perfecto. Escribí algo de elisp y personalicé todo a mi gusto también. No fue tan difícil después de todo. Una cosa más sería cómo estar en la barra lateral, presionar una tecla y hacer que se cargue en el búfer principal. Pero supongo que esa es una pregunta diferente.
Jason Mirk
2
También puedes disfrutar clone-indirect-buffer-other-window.
incandescentman
9

Creo que esta es una gran pregunta. Estoy seguro de que hay toneladas de modos súper útiles que los escritores de ficción no saben que necesitan. Me topé con el modo palimpsesto por accidente, pero ahora no podría vivir sin él. Me encantaría ver qué paquetes encuentran útiles otros escritores de ficción.

Aquí hay algunos que uso todos los días:

  • modo palimpsesto . Envía el texto seleccionado al final del archivo. Lo uso probablemente 20 veces por hora.
  • Hábil . Búsqueda incremental de archivos de texto en un directorio, similar a nvALT de @ ttscoff .
  • Olivetti . Haga que el área de texto sea más pequeña y agradable.
  • Fuente . Si eres guionista.
  • Helm-swoop para encontrar cosas rápidamente.
  • Auto capitalización . No es necesario escribir letras mayúsculas usted mismo.
  • Org-pomodoro para mantenerse en el camino.
  • Modo wc para contar palabras si es necesario.
  • Y, sobre todo, el modo org para delinear. Mi truco es que me escribo notas (por ejemplo, "esta sección necesita una introducción mejor") usando comentarios en modo org, para que no se incluyan cuando exporte. Ah, y usa el comando org-narrow-to-subtreepara enfocarte solo en la sección en la que estás trabajando.
hombre incandescente
fuente
2
¡Esto es excelente! ¡Me veo usando el modo palimpsesto miles de veces y org-narrow-to-subtree también!
Jason Mirk
1
También encontré esto que parece replicar lo que estaba buscando: github.com/titaniumbones/org-writers-room pero aún no funcionaba correctamente. Esto también es interesante: github.com/theironsamurai/scribemacs
Jason Mirk
1
Hasta donde yo sé, org-writers-room aún no funciona. Es una gran idea, pero alguien necesita escribir el código.
incandescentman
1
¿Algun voluntario?
incandescentman
1

Esta respuesta no es exhaustiva, pero no puedo publicar esto en los comentarios porque tiene una imagen. ¿Puede la tabla de contenido de la que está hablando parecerse a la siguiente?

ingrese la descripción de la imagen aquí

Otra forma ad hoc de tener un esquema es ejecutar M-s o^\s-*\*(que es equivalente a M-xoccur). Aunque este no es un esquema adecuado, la mayoría de las veces, encuentro que es una solución adecuada para el problema de localizar y navegar secciones del documento.

wvxvw
fuente
1
Sí, probé speedbar pero no me gusta que sea una ventana flotante. Parece anticuado.
Jason Mirk
2
@JasonMirk había un proyecto para convertir Speedbar en un búfer en lugar de una ventana, pero es difícil hacer que funcione "correctamente" debido a varios comandos de búfer que eventualmente pueden enterrarlo o reemplazar el contenido. Solía ​​haber administradores de configuración de búfer, como ECB, que hicieron un diseño de búfer fijo y también podían mostrar el esquema en la ubicación fija, pero mi experiencia de trabajar con BCE es que la mayoría de las veces se interpone en mi camino. Pero tal vez algo así funcione para usted, si no necesita manipular los buffers con demasiada frecuencia.
wvxvw
1
emacswiki.org/emacs/SrSpeedbar este es el proyecto del que estaba hablando.
wvxvw
1
Si el concepto de barra de velocidad es algo que le gusta al póster original, entonces puede valer la pena invertir tiempo para que se comporte como le gustaría al póster original. Me llevó alrededor de una hora (con dos años de elispexperiencia) para hacer de la biblioteca mi propia configuración personalizada, eliminar todo ese material del marco y convertirlo en un búfer bajo demanda que se puede mostrar en cualquier ventana. Aquí es donde entra la inversión de tiempo al tratar con Emacs: encuentra algo que le gusta (es decir, con lo que puede trabajar) y lo cambia a lo que se adapte a sus necesidades exactas. Por ejemplo, generate-speedbar-noselect+ display
lawlist
No lo he usado, pero ¿qué pasa con neotree ?
incandescentman