любой редактор иерархических списков (Vim / MS Word / LaTeX / Lisp / ..)

416
user281739

У нас есть иерархически упорядоченные элементы, которые хранятся в текстовом файле и идентифицируются с помощью табулятора .

    • цвета
        красный
        зеленый
        синий
      компьютеры
        Linux
        макинтош
        Windows
      чисел
        один
        два
        три
  • Он должен иметь направляющие линии на стороне, потому что мы имеем дело с очень длинными списками, и невозможно проконтролировать уровень при прокрутке вниз без линий.

    ДЕРЕВО + --- цветы ¦ + --- синий ¦ + --- зеленый ¦ + --- красный + --- компьютеры ¦ + --- linux --- + --- макинтош --- + --- окна + --- номера + --- одна + --- три + --- два

    Смотрите эту картинку для иллюстрации. Как удобно редактировать и переупорядочивать такие списки в стиле WYSIWYG ? Нужно уметь перемещать предметы вверх и вниз по уровням. Также примените алфавитную сортировку к ветви дерева.

    Существует ли простой и подходящий язык, программный инструмент или рабочий процесс для этого?

    MS Word немного перегружен. Word использует только стилизацию и не экспортирует данные. XML - лучший способ хранения вложенных данных, но его необычайно сложно редактировать. Если решения не существует, мы должны его кодировать. Но это было бы неплохой инвестицией.

    0
    Я не эксперт в этом, но я думаю, что у 'org-mode' в Emacs есть что предложить вам в этом отношении. Может быть, не так, как вы себе это представляете сейчас, а, возможно, то, что вы можете использовать (и это может быть лучше, чем вы предполагаете). Если повезет, какой-нибудь эксперт в режиме Org предложит вам простое решение. Drew 10 лет назад 0

    2 ответа на вопрос

    1
    romainl

    What you want is called an outliner. Google will give you dozens of results for every platform. Read their documentation, try the ones that seem to satisfy your requirements and make your choice.

    0
    Ingo Karkat

    In Vim, you just need to come up with a proper way of folding (easiest manually with {{{ markers, but most comfortable with a custom 'foldexpr'), and you'll get the guiding lines for free (by setting 'foldcolumn'), and can easily move entire (closed) folds with the standard yank / delete / paste commands.

    Похожие вопросы