Як я окреслюю / приховую / показую текст під час написання прози?


9

Я хочу використовувати Emacs для написання прози (конкретно, художньої літератури).

Раніше я використовував Scrivener та Ulysses, але я не задоволений ними. Я хочу спробувати Emacs, але не знаю, як повторити робочий процес, до якого я звик.

Я використовую, writeroom-modeщоб отримати середовище, що не відволікає увагу, але це лише одна частина головоломки. Мені подобається те, як Ulysses та Scrivener дозволяють вам зосередити увагу на фрагменті тексту, і я хотів би знати, як повторити цю функціональність. Я хотів би, щоб org-modeінший контур дозволив мені зосередити увагу на фрагменті тексту та приховати решту. В ідеалі я хотів би мати бічну панель (наприклад, Улісс), на якій я можу впорядкувати фрагменти тексту вручну, як на цьому скріншоті:

уліс

PS Я прочитав "Emacs for Writers PDF, але це не стосується необхідності впорядкування та структурування тексту.


4
Будь ласка, уточнюйте свою публікацію питанням про те, що вам насправді потрібно (ще краще, задайте одне дискретне запитання на кожну публікацію та виконайте кілька записів, якщо це необхідно). org-modeробить контури, що дозволяє зосередити увагу на певних фрагментах тексту та переміщати решту навколо. Звуження видаляє текст з екрана.
Дан

1
Це може бути кандидатом на одне із тих питань "великого списку" :) (на Meta з'явилася дискусія щодо того, чи підходять такі питання в SE: meta.emacs.stackexchange.com/questions/305/… ). Більше по темі: вам, мабуть, варто переглянути режим Org. Він величезний і з точки зору структурування тексту він знає зробити багато. Однак Emacs бракує розуміння граматики написаного вами тексту. Перевірка орфографії - це все, що можна запропонувати в цьому плані.
wvxvw

1
Письменники @lawlist завжди використовували "бічні панелі" у вигляді приміток. це лише його цифрова версія.
Джейсон Мірк

2
Ось цікава стаття під назвою Як написати книгу в emacs. masteringemacs.org/article/how-to-write-a-book-in-emacs Як приклад до elispта вкладення часу, я витратив пару днів, щоб просто отримати базовий рух, щоб імітувати різні текстові процесори, якими я користувався протягом багатьох років у моїх професіях - наприклад, ліве / праве слово, абзац вгору / вниз та видалити слово. Приємна річ у Emacs - це те, що він ідеально підходить для тих, хто має трохи нав'язливого нав'язливого розладу, кому потрібні речі певним чином, і він повинен бути саме правильним, а не лише правильним.
законник

1
У сценариста є занадто багато матеріалів, і ви не пишете простим текстом, наскільки я пам’ятаю. Ulysses 3 - це дуже добре, але він сильно виходить з ладу. Крім того, ви не можете розділити буфер, переміщувати абзаци тексту навколо, не використовуючи мишу та тони інших речей, які у вас пропадають, як тільки ви знаєте, що вони існують.
Джейсон Мірк

Відповіді:


6

Ось що я вважаю вашою метою:

  • Можливість зосередити увагу на певному фрагменті тексту, а решту його вимкнути,
  • Можливість швидко переміщувати великі шматки тексту.

У цьому рішенні використовується лише функція Emacs, яка не випускається у комплекті:

  • org-mode
  • звуження
  • розділені вікна
  • непрямі буфери

Перш за все, якщо ви пишете документ у org-mode(або будь-якому режимі, який використовує засоби Emacs outline), ви зможете структурувати ваш документ із заголовками, підзаголовками тощо, а потім приховати або показати тіла ці елементи. Для прози вам може бути дуже елементарним: заголовок для глави, підзаголовок для розділу, підзаголовок для підрозділу, аж до під-підрозділу ... -заголовок кожного окремого абзацу.

По-друге, навіть якщо org-modeви зможете приховати тіла своїх заголовків і зосередитись лише на корпусі перед вами, він залишить заголовки розділів на екрані. Ви можете або не можете знайти це відволікаюче. Якщо це зробити, ви можете narrowпередати буфер саме до цього заголовка (змусивши всі інші заголовки тимчасово зникнути з перегляду), а потім widenзнову, коли ви хочете побачити інший текст ще раз.

По-третє, для отримання простого перегляду контуру та можливості швидкого переміщення тексту можна використовувати комбінацію розділених вікон та непрямих буферів. Зробіть рамку Emacs достатньо широкою, щоб вмістити два вікна (див. Цю посаду щодо термінології кадру / вікна). Виконайте, M-x split-window-horizontallyщоб два вікна були поруч у вашій рамці. У вікні, у якому є ваш документ, зробіть M-x clone-indirect-buffer.

Тепер у вас є дві пов'язані копії одного і того ж документа в двох різних буферах. Поставте їх у свої два вікна. Хоча вони будуть містити однаковий текст, ви можете змусити їх виглядати по-різному у двох вікнах.

Один з дуже корисних способів використання цього засобу - це головне вікно редагування, в яке ви фактично вводите та редагуєте прозу, а інше вікно використовуйте як перегляд контуру: приховайте тіла, щоб у вказаному розділі / підрозділі відображалися лише заголовки / що б не дати собі огляд структури документа. Потім можна швидко переміщувати шматки - якщо ви використовуєте org-mode, M-<up>і M-<down>запускаєте, org-metaupі org-metadownвідповідно, що в цьому контексті переміщуватиме підрядки (заголовок та все, що знаходиться під ним) вгору або вниз у документі.


1
це майже ідеально. Я написав кілька еліпсів і все також налаштував на свій смак. Зрештою, це було не важко. Ще однією справою буде те, як опинитися на бічній панелі, натиснути клавішу і змусити її завантажуватися на основний буфер. Але я думаю, це вже інше питання.
Джейсон Мірк

2
Можливо, вам також сподобається clone-indirect-buffer-other-window.
лампа розжарювання

9

Я думаю, що це чудове питання. Я впевнений, що існує безліч надзвичайно корисних режимів, які белетристи не знають, що їм потрібні. Я трапився в режимі palimpsest випадково, але тепер я не міг жити без нього. Я хотів би побачити, які пакети інших письменників-фантастів вважають корисними.

Ось які я використовую щодня:

  • palimpsest-режим . Надсилає вибраний текст у нижній частині файлу. Я використовую його, ймовірно, 20 разів на годину.
  • Спритний . Поступовий пошук текстових файлів у каталозі, подібний до nvALT @ ttscoff .
  • Оліветті . Зробіть область тексту меншою і приємнішою.
  • Фонтан . Якщо ви сценарист.
  • Шлем для швидкого пошуку речей.
  • Автоматичне використання капіталу . Не потрібно писати великі літери самостійно.
  • Орган-Помодоро, щоб тримати себе на шляху.
  • wc-режим для підрахунку слів, якщо вам потрібно.
  • І найбільше, org-mode для окреслення. Моя хитрість полягає в тому, що я пишу собі нотатки (наприклад, "цей розділ потребує кращого вступу"), використовуючи коментарі в режимі org, тому вони не включаються під час експорту. О, і використовуйте команду, org-narrow-to-subtreeщоб зосередитись саме на розділі, над яким ви працюєте.

2
Це чудово! Я бачу себе, використовуючи режим palimpsest тисячі разів, і ор-вузько-під-дерево!
Джейсон Мірк

1
Я також виявив, що це, схоже, повторює те, що я шукав: github.com/titaniumbones/org-writers-room, але не встиг його працювати належним чином. Це теж цікаво: github.com/theironsamurai/scribemacs
Джейсон Мірк

1
Наскільки я знаю, кімната авторів ще не працює. Це чудова ідея, але комусь потрібно написати код.
лампа розжарювання

1
Будь-які волонтери?
лампа розжарювання

1

Ця відповідь не є вичерпною, але я не можу розміщувати це в коментарях, оскільки вона має зображення. Чи може зміст, про який ви говорите, виглядати приблизно так:

введіть тут опис зображення

Ще один спеціальний спосіб створити контур - це запустити M-s o^\s-*\*(що еквівалентно M-xoccur). Незважаючи на те, що це не належний контур, найчастіше я вважаю це адекватним рішенням проблеми розташування та навігації розділів документа.


1
Так, я спробував швидку, але мені не подобається, що це плаваюче вікно. Це здається застарілим.
Джейсон Мірк

2
@JasonMirk був проект зробити Speedbar буфером, а не вікном, але важко змусити його працювати «належним чином» через різні команди буфера, які можуть згодом поховати його або замінити вміст. Раніше були менеджери конфігурації буфера, як, наприклад, ECB, які створили фіксовану компоновку буфера і могли також відобразити контур у фіксованому місці, але мій досвід роботи з ECB полягає в тому, що частіше за все це стає на моєму шляху. Але, можливо, щось подібне вам підійде, якщо вам не потрібно занадто часто маніпулювати буферами.
wvxvw

1
emacswiki.org/emacs/SrSpeedbar Це проект, про який я говорив.
wvxvw

1
Якщо концепція speedbar - це те, що любить оригінальний плакат, то, можливо, варто вкласти час, щоб він поводився так, як хотів би оригінальний плакат. Мені знадобилося близько години (два роки elispманіпулюючи під моїм поясом), щоб зробити бібліотеку власною власною установкою, викреслити всі ті рамки та перетворити її на буфер на вимогу, який можна відобразити в будь-якому вікні. Ось тут приходить час, що вкладається у справу з Emacs - ви знайдете щось, що вам подобається (тобто, можете працювати з ним) і змінюєте його на все, що відповідає вашим точним потребам. Напр., generate-speedbar-noselect+ Показ
законник

Я не користувався цим, але що робити з neotree ?
лампа розжарювання
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.