Как мне обвести / скрыть / показать текст при написании прозы?


9

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

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

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

Улисс

PS Я прочитал PDF-файл Emacs for Writers, но в нем нет необходимости организовывать и структурировать ваш текст.


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
У Scrivener слишком много вещей, и вы не пишете простым текстом, насколько я помню. 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
это почти идеально. Я написал немного elisp и настроил все на свой вкус тоже. В конце концов, это было не сложно. Еще одна вещь, как быть на боковой панели, нажать клавишу и загрузить ее в основной буфер. Но я думаю, это другой вопрос.
Джейсон Мирк

2
Вам также может понравиться clone-indirect-buffer-other-window.
Лампа накаливания

9

Я думаю, что это отличный вопрос. Я уверен, что есть тонны супер полезных способов, которые авторы художественной литературы не знают, что им нужно. Я случайно попал в палимпсест-режим, но теперь я не смог без него. Я хотел бы видеть, какие пакеты другие писатели-фантасты считают полезными.

Вот некоторые из них, которые я использую каждый день:

  • Палимпсест-режим . Отправляет выделенный текст в конец файла. Я использую это, вероятно, 20 раз в час.
  • Ловкая . Инкрементальный поиск текстовых файлов в каталоге, аналогично nvALT @ ttscoff .
  • Оливетти . Сделайте текстовую область меньше и лучше.
  • Фонтан . Если вы сценарист.
  • Штурвал для быстрого поиска вещей.
  • Авто заглавные буквы . Не нужно писать заглавными буквами самостоятельно.
  • Орг-помодоро, чтобы держать себя на ходу.
  • wc-режим для подсчета слов, если вам нужно.
  • И больше всего орг-режим наметил. Мой трюк в том, что я пишу заметки для себя (например, «этот раздел нуждается в лучшем введении»), используя комментарии в режиме org, чтобы они не включались при экспорте. О, и используйте команду, org-narrow-to-subtreeчтобы сосредоточиться только на разделе, над которым вы работаете.

2
Это отлично! Я вижу себя использующим режим palimpsest тысячи раз и org-small-to-subtree!
Джейсон Мирк

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
Если концепция спидбара - то, что нравится оригинальному постеру, то, возможно, стоит потратить время, чтобы заставить его вести себя так, как хотелось бы оригинальному постеру. Мне потребовалось около часа (два года elispза моим плечом), чтобы сделать библиотеку моей собственной пользовательской настройкой, вырезать все эти кадры и превратить ее в буфер по требованию, который можно отобразить в любом окне. Вот тут-то и приходится тратить время на работу с Emacs - вы находите то, что вам нравится (то есть, можете работать с ним), и меняете его на то, что соответствует вашим потребностям. Например, generate-speedbar-noselect+ дисплей
юрист

Я не использовал это, но как насчет neotree ?
Лампа накаливания
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.