Come posso delineare / nascondere / mostrare il testo durante la scrittura di prosa?


9

Voglio usare Emacs per scrivere in prosa (in particolare, finzione).

Ho usato Scrivener e Ulisse in passato, ma non sono contento di loro. Voglio provare Emacs, ma non so come replicare il flusso di lavoro a cui sono abituato.

Uso writeroom-modeun ambiente privo di distrazioni, ma è solo un pezzo del puzzle. Mi piace il modo in cui Ulisse e Scrivener ti consentono di concentrarti su un pezzo di testo e mi piacerebbe sapere come replicare questa funzionalità. Vorrei org-modeo un altro outliner per permettermi di concentrarmi su un pezzo di testo e nascondere il resto. Idealmente, vorrei avere una barra laterale (come Ulisse), in cui posso disporre manualmente pezzi di testo, come in questo screenshot:

Ulisse

PS Ho letto il PDF "Emacs for Writers ma non risponde alla necessità di organizzare e strutturare il tuo testo.


4
Chiarisci il tuo post con una domanda su ciò di cui hai effettivamente bisogno (meglio ancora, fai una domanda discreta per post e fai più post se necessario). org-modedelinea, il che ti consente di concentrarti su particolari pezzi di testo e di spostare il resto. Il restringimento rimuove il testo dallo schermo.
Dan

1
Questo potrebbe essere un candidato per una di quelle domande "big-list" :) (c'è stata una discussione su Meta in merito all'opportunità o meno di questo tipo di domande su SE: meta.emacs.stackexchange.com/questions/305/… ). Altre informazioni in merito: probabilmente dovresti rivisitare la modalità Org. È enorme e in termini di strutturazione del testo, sa fare molto. Emacs, tuttavia, manca di comprensione della grammatica del testo che scrivi. Il controllo ortografico è tutto ciò che ha da offrire al riguardo.
wvxvw,

1
Gli autori di @lawlist hanno sempre usato le "barre laterali" sotto forma di note. questa è solo la versione digitale di esso.
Jason Mirk,

2
Ecco un interessante articolo intitolato Come scrivere un libro su emacs. masteringemacs.org/article/how-to-write-a-book-in-emacs Come esempio per l' elispinvestimento e il tempo, ho trascorso un paio di giorni per ottenere un movimento di base per imitare i vari word processor che avevo usato nel corso degli anni nelle mie professioni, ad esempio parola sinistra / destra, paragrafo su / giù ed eliminare la parola. La cosa bella di Emacs è che è perfetto per chiunque abbia un disturbo ossessivo compulsivo da poco a molto, che ha bisogno di cose per essere un modo specifico e deve essere giusto, non solo giusto.
elenco delle leggi

1
Scrivener ha troppe cose e non mi scrivi in ​​testo semplice per quanto mi ricordo. Ulisse 3 è abbastanza buono ma si blocca molto. Inoltre, non puoi dividere il buffer, spostare i paragrafi di testo senza usare il mouse e tonnellate di altre cose che finisci per perdere una volta che sai che esistono.
Jason Mirk,

Risposte:


6

Ecco cosa prendo per essere il tuo obiettivo:

  • La capacità di concentrarsi su una particolare porzione di testo mentre ti toglie il resto,
  • La capacità di spostare rapidamente grossi pezzi di testo.

Questa soluzione utilizza solo funzionalità Emacs pronte all'uso:

  • org-mode
  • strozzatura
  • finestre divise
  • buffer indiretti

Prima di tutto, se scrivi il tuo documento org-mode(o qualsiasi modalità che utilizza le strutture di Emacs outline), sarai in grado di strutturare il tuo documento con titoli, sottotitoli, ecc., Quindi nascondere o mostrare i corpi di quegli elementi. Per la prosa, potresti trovare utile essere molto elementali: un'intestazione per un capitolo, un'intestazione secondaria per una sezione, un'intestazione secondaria secondaria per una sottosezione, fino a una sotto-sotto-sotto ... -header per ogni singolo paragrafo.

In secondo luogo, anche se org-modeti permetterà di nascondere i corpi delle intestazioni e concentrarti solo sul corpo di fronte a te, lascerà le intestazioni di sezione sullo schermo. Potresti distrarre o no. Se lo fai, puoi eseguire narrowil buffer solo su quell'intestazione (facendo scomparire temporaneamente tutte le altre intestazioni dalla vista) e poi di widennuovo quando vuoi vedere di nuovo l'altro testo.

In terzo luogo, per ottenere una visualizzazione semplice della struttura e la possibilità di spostare rapidamente il testo, è possibile utilizzare una combinazione di finestre divise e buffer indiretti. Rendi il tuo frame Emacs abbastanza largo da contenere due finestre (vedi questo post per la terminologia frame / window). Fare M-x split-window-horizontallyper avere due finestre affiancate nella cornice. Nella finestra che contiene il tuo documento, fallo M-x clone-indirect-buffer.

Ora hai due copie collegate dello stesso documento in due buffer diversi. Mettili nelle tue due finestre. Sebbene contengano entrambi un testo identico, puoi renderli diversi nelle due finestre.

Un modo molto utile per utilizzare questa funzione è avere una finestra di modifica principale in cui inserire e modificare la prosa e utilizzare l'altra finestra come vista di struttura: nascondi i corpi per mostrare solo le intestazioni in una data sezione / sottosezione / qualunque cosa per darti una panoramica della struttura del documento. Puoi quindi spostare i blocchi rapidamente, se stai usando org-mode, M-<up>ed M-<down>esegui org-metaupe org-metadown, rispettivamente, che, in questo contesto, sposteranno i sottotitoli (un'intestazione e tutto sotto di esso) su o giù nel documento.


1
questo è quasi perfetto. Ho scritto un po 'di elisp e personalizzato tutto per i miei gusti. Dopo tutto non è stato difficile. Un'altra cosa sarebbe come essere sulla barra laterale, premere un tasto e farlo caricare sul buffer principale. Ma immagino che sia una domanda diversa.
Jason Mirk,

2
Potresti anche divertirti clone-indirect-buffer-other-window.
incandescentman,

9

Penso che questa sia un'ottima domanda. Sono sicuro che ci sono tonnellate di modalità super utili di cui gli scrittori di fiction non sanno di aver bisogno. Mi sono imbattuto per caso in modalità palinsesto, ma ora non potrei vivere senza di essa. Mi piacerebbe vedere quali pacchetti trovano utili altri scrittori di fiction.

Eccone alcuni che uso ogni giorno:

  • modalità palinsesto . Invia il testo selezionato in fondo al file. Lo uso probabilmente 20 volte all'ora.
  • Deft . Ricerca incrementale di file di testo in una directory, simile a nvALT di @ ttscoff .
  • Olivetti . Rendi l'area di testo più piccola e più bella.
  • Fontana . Se sei uno sceneggiatore.
  • Timone per trovare rapidamente le cose.
  • Capitalizzazione automatica . Non c'è bisogno di scrivere lettere maiuscole da soli.
  • Org-pomodoro per rimanere in pista.
  • wc-mode per contare le parole se necessario.
  • E soprattutto, modalità org per delineare. Il mio trucco è che scrivo note a me stesso (ad es. "Questa sezione ha bisogno di una migliore introduzione") usando i commenti in modalità org, quindi non vengono inclusi durante l'esportazione. Oh, e usa il comando org-narrow-to-subtreeper concentrarti solo sulla sezione su cui stai lavorando.

2
Questo è eccellente! Mi vedo usare la modalità palinsesto migliaia di volte e anche org-stretto-a-sottostruttura!
Jason Mirk,

1
Ho anche trovato questo che sembra replicare quello che stavo cercando: github.com/titaniumbones/org-writers-room ma non riuscivo ancora a farlo funzionare correttamente. Anche questo è interessante: github.com/theironsamurai/scribemacs
Jason Mirk

1
Per quanto ne so, la stanza degli scrittori dell'org non funziona ancora. È un'ottima idea ma qualcuno deve scrivere il codice.
incandescentman,

1
Qualche volontario?
incandescentman,

1

Questa risposta non è esaustiva, ma non posso pubblicarla nei commenti perché ha un'immagine. L'indice di cui stai parlando può essere simile al seguente?

inserisci qui la descrizione dell'immagine

Un altro modo ad hoc per avere una struttura è eseguire M-s o^\s-*\*(che equivale a M-xoccur). Anche se questa non è una struttura appropriata, il più delle volte trovo che questa sia una soluzione adeguata al problema di individuare e navigare in sezioni del documento.


1
Sì, ho provato Speedbar ma non mi piace che sia una finestra mobile. Sembra obsoleto.
Jason Mirk,

2
@JasonMirk esisteva un progetto per trasformare Speedbar in un buffer anziché in una finestra, ma è difficile farlo funzionare "correttamente" a causa di vari comandi del buffer che potrebbero eventualmente seppellirlo o sostituirne il contenuto. Esistevano gestori della configurazione del buffer, come la BCE, che creava un layout del buffer fisso e poteva anche visualizzare lo schema nella posizione fissa, ma la mia esperienza di lavoro con la BCE è che spesso mi ostacola. Ma forse qualcosa del genere funzionerà per te, se non hai bisogno di manipolare i buffer troppo spesso.
wvxvw,

1
emacswiki.org/emacs/SrSpeedbar questo è il progetto di cui parlavo.
wvxvw,

1
Se il concetto di speedbar è qualcosa a cui piace il poster originale, allora potrebbe valere la pena investire tempo per farlo funzionare come vorrebbe il poster originale. Mi ci è elispvoluta circa un'ora (con due anni di scimmie sotto la cintura) per rendere la libreria la mia configurazione personalizzata, rimuovere tutto quel materiale del frame e trasformarlo in un buffer on demand che può essere visualizzato in qualsiasi finestra. È qui che arriva il momento dell'investimento quando si ha a che fare con Emacs: trovi qualcosa che ti piace (cioè, con cui puoi lavorare) e lo cambi in qualsiasi cosa soddisfi le tue esatte esigenze. Ad esempio, generate-speedbar-noselect+ display
elenco delle leggi

Non l'ho usato, ma per quanto riguarda Neotree ?
incandescentman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.