Comment décrire / masquer / afficher du texte lors de la rédaction de la prose?

9

Je veux utiliser Emacs pour écrire de la prose (en particulier de la fiction).

J'ai utilisé Scrivener et Ulysses dans le passé mais je ne suis pas content avec eux. Je veux essayer Emacs, mais je ne sais pas comment reproduire le flux de travail auquel je suis habitué.

J'utilise writeroom-modepour obtenir un environnement sans distraction, mais ce n'est qu'une pièce du puzzle. J'aime la façon dont Ulysse et Scrivener vous permettent de vous concentrer sur un morceau de texte, et j'aimerais savoir comment reproduire cette fonctionnalité. J'aimerais org-modequ'un autre planificateur me permette de me concentrer sur un morceau de texte et de cacher le reste. Idéalement, j'aimerais avoir une barre latérale (comme Ulysse), dans laquelle je peux organiser des morceaux de texte manuellement, comme dans cette capture d'écran:

ulysse

PS J'ai lu le PDF "Emacs for Writers" mais il ne répond pas à la nécessité d'organiser et de structurer votre texte.

Jason Mirk
la source
4
Veuillez clarifier votre message en posant une question sur ce dont vous avez réellement besoin (mieux encore, posez une question distincte par publication et rédigez plusieurs publications si nécessaire). org-modene décrivant, ce qui vous permet de vous concentrer sur des morceaux de texte particuliers et de déplacer le reste. Le rétrécissement supprime le texte de l'écran.
Dan
1
Cela pourrait être un candidat pour l'une de ces questions "de grande liste" :) (il y a eu une discussion sur Meta pour savoir si ce type de questions est approprié sur SE: meta.emacs.stackexchange.com/questions/305/… ). Plus sur le sujet: vous devriez probablement revisiter le mode Org. C'est énorme et en termes de structuration de texte, il sait en faire beaucoup. Emacs manque cependant de compréhension de la grammaire du texte que vous écrivez. La vérification orthographique est tout ce qu'elle a à offrir à cet égard.
wvxvw
1
Les rédacteurs de @lawlist ont toujours utilisé des "barres latérales" sous forme de notes. ce n'est que la version numérique de celui-ci.
Jason Mirk
2
Voici un article intéressant intitulé Comment écrire un livre dans emacs. masteringemacs.org/article/how-to-write-a-book-in-emacs À titre d'exemple pour l' elispinvestissement et le temps, j'ai passé quelques jours pour obtenir un mouvement de base pour imiter les différents traitements de texte que j'avais utilisés au fil des ans dans ma ou mes professions - p. ex., mot gauche / droit, paragraphe haut / bas et supprimer un mot. La bonne chose à propos d'Emacs est qu'il est parfait pour tous ceux qui ont un peu ou beaucoup de trouble obsessionnel compulsif, qui ont besoin que les choses soient d'une manière spécifique et que ce soit juste, pas juste.
lawlist
1
Scrivener a trop de choses et vous n'écrivez pas en texte clair pour autant que je m'en souvienne. Ulysses 3 est assez bon mais il plante beaucoup. De plus, vous ne pouvez pas diviser le tampon, déplacer des paragraphes de texte sans utiliser la souris et des tonnes d'autres choses que vous finissez par manquer une fois que vous savez qu'elles existent.
Jason Mirk

Réponses:

6

Voici ce que je considère comme votre objectif:

  • La possibilité de se concentrer sur un morceau de texte particulier tout en retirant le reste de votre chemin,
  • La possibilité de déplacer rapidement de gros morceaux de texte.

Cette solution utilise uniquement des fonctionnalités Emacs prêtes à l'emploi:

  • org-mode
  • rétrécissement
  • fenêtres séparées
  • tampons indirects

Tout d'abord, si vous écrivez votre document dans org-mode(ou dans n'importe quel mode utilisant les fonctionnalités d'Emacs outline), vous pourrez structurer votre document avec des en-têtes, des sous-titres, etc., puis masquer ou afficher le corps de ces éléments. Pour la prose, il peut être utile d'être très élémentaire: un en-tête pour un chapitre, un sous-en-tête pour une section, un sous-sous-en-tête pour une sous-section, jusqu'à un sous-sous-... -en-tête pour chaque paragraphe individuel.

Deuxièmement, même si org-modecela vous permettra de masquer les corps de vos en-têtes et de vous concentrer uniquement sur le corps devant vous, cela laissera les en-têtes de section à l'écran. Vous pouvez ou non trouver cela gênant. Si vous le faites, vous pouvez mettre narrowle tampon uniquement dans cet en-tête (en faisant disparaître temporairement tous les autres en-têtes de la vue), puis à widennouveau lorsque vous souhaitez revoir l'autre texte.

Troisièmement, pour obtenir une vue d'ensemble simple et la possibilité de déplacer rapidement du texte, vous pouvez utiliser une combinaison de fenêtres divisées et de tampons indirects. Faites votre cadre Emacs assez large pour accueillir deux fenêtres (voir ce post pour la terminologie cadre / fenêtre). Faites M-x split-window-horizontallypour obtenir deux fenêtres côte à côte dans votre cadre. Dans la fenêtre qui contient votre document, faites M-x clone-indirect-buffer.

Vous avez maintenant deux copies liées du même document dans deux tampons différents. Mettez-les dans vos deux fenêtres. Bien qu'ils contiennent tous deux du texte identique, vous pouvez les rendre différents dans les deux fenêtres.

Une façon très utile d'utiliser cette fonction est d'avoir une fenêtre d'édition principale dans laquelle vous entrez et éditez votre prose, et utilisez l'autre fenêtre comme vue d'ensemble: masquez les corps pour n'afficher que les en-têtes d'une section / sous-section / pour vous donner un aperçu de la structure du document. Vous pouvez ensuite déplacer des morceaux rapidement autour - si vous utilisez org-mode, M-<up>et M-<down>exécuter org-metaupet org-metadown, respectivement, ce qui, dans ce contexte, se déplacera (sous - arborescences un en- tête et tout en dessous) vers le haut ou vers le bas dans le document.

Dan
la source
1
c'est presque parfait. J'ai également écrit des éléments précis et personnalisés à mon goût. Ce n'était pas si difficile après tout. Une autre chose serait de savoir comment être sur la barre latérale, appuyer sur une touche et la charger sur le tampon principal. Mais je suppose que c'est une question différente.
Jason Mirk
2
Vous pourriez également apprécier clone-indirect-buffer-other-window.
incandescentman
9

Je pense que c'est une excellente question. Je suis sûr qu'il existe des tonnes de modes super utiles dont les auteurs de fiction ne savent pas qu'ils ont besoin. Je suis tombé sur le mode palimpseste par accident, mais maintenant je ne pouvais plus m'en passer. J'adorerais voir quels packages d'autres écrivains de fiction trouvent utiles.

En voici quelques-uns que j'utilise tous les jours:

  • mode palimpseste . Envoie le texte sélectionné au bas du fichier. Je l'utilise probablement 20 fois par heure.
  • Habile . Recherche incrémentale de fichiers texte dans un répertoire, similaire à nvALT de @ ttscoff .
  • Olivetti . Rendre la zone de texte plus petite et plus agréable.
  • Fontaine . Si vous êtes scénariste.
  • Helm-swoop pour trouver des choses rapidement.
  • Capitaliser automatiquement . Pas besoin d'écrire des majuscules vous-même.
  • Org-pomodoro pour vous maintenir sur la bonne voie.
  • mode wc pour compter les mots si vous en avez besoin.
  • Et surtout, le mode org à décrire. Mon astuce est que je m'écris des notes (par exemple "cette section a besoin d'une meilleure introduction") en utilisant des commentaires en mode org, donc ils ne sont pas inclus lorsque j'exporte. Oh, et utilisez la commande org-narrow-to-subtreepour vous concentrer uniquement sur la section sur laquelle vous travaillez.
incandescentman
la source
2
C'est excellent! Je me vois utiliser des milliers de fois en mode palimpseste et aussi org-étroit à sous-arbre!
Jason Mirk
1
J'ai également trouvé cela qui semble reproduire ce que je cherchais: github.com/titaniumbones/org-writers-room mais je ne l' ai pas encore fait fonctionner correctement. C'est aussi intéressant: github.com/theironsamurai/scribemacs
Jason Mirk
1
Pour autant que je sache, org-writers-room ne fonctionne pas encore. C'est une excellente idée mais quelqu'un doit écrire le code.
incandescentman
1
Des volontaires?
incandescentman
1

Cette réponse n'est pas exhaustive, mais je ne peux pas la poster dans les commentaires car elle a une image. La table des matières dont vous parlez peut-elle ressembler à quelque chose comme ci-dessous?

entrez la description de l'image ici

Une autre façon ad hoc d'avoir un plan consiste à exécuter M-s o^\s-*\*(ce qui équivaut à M-xoccur). Même si ce n'est pas un plan approprié, le plus souvent, je trouve que c'est une solution adéquate au problème de localisation et de navigation dans les sections du document.

wvxvw
la source
1
Oui j'ai essayé le speedbar mais je n'aime pas que ce soit une fenêtre flottante. Cela semble dépassé.
Jason Mirk
2
@JasonMirk, il y avait un projet pour faire de Speedbar un tampon plutôt qu'une fenêtre, mais il est difficile de le faire fonctionner "correctement" en raison de diverses commandes de tampon qui pourraient éventuellement l'enterrer ou remplacer le contenu. Il y avait des gestionnaires de configuration de tampon, comme ECB, qui faisaient une disposition de tampon fixe et pouvaient également afficher le contour à l'emplacement fixe, mais mon expérience de travail avec ECB est que le plus souvent, cela me gêne. Mais peut-être que quelque chose comme ça fonctionnera pour vous, si vous n'avez pas besoin de manipuler les tampons trop souvent.
wvxvw
1
emacswiki.org/emacs/SrSpeedbar c'est le projet dont je parlais.
wvxvw
1
Si le concept de speedbar est quelque chose que l'affiche originale aime, il peut être utile d'investir du temps pour qu'il se comporte comme l'affiche originale. Il m'a fallu environ une heure (avec deux ans de elispsinge à mon actif) pour faire de la bibliothèque ma propre configuration personnalisée, supprimer toutes ces trames et les transformer en un tampon à la demande qui peut être affiché dans n'importe quelle fenêtre. C'est là que l'investissement en temps intervient lorsque vous traitez avec Emacs - vous trouvez quelque chose que vous aimez (c'est-à-dire que vous pouvez travailler) et le changez selon ce qui convient à vos besoins exacts. Par exemple, generate-speedbar-noselect+ display
lawlist
Je ne l'ai pas utilisé, mais qu'en est-il de neotree ?
incandescentman