#  Zettelkasten, заметки, emacs, deft
Andrew Lobanov (tavern,1) → All  –  04:40:36 2020-07-31

Давно искал для себя систему структуризации заметок. В Instead-чате Lucky Ook не так давно поделился ссылкой на статью на хабре про Цеттелькастен (https://habr.com/ru/post/508672/) и мне показалось, что это достаточно хорошая система ведения заметок с идеями и знаниями, почерпнутыми в статьях и литературе.

В конце статьи приводился пример организации этой системы как плоской структуры файлов (куча файлов в одной директории) с метками и ссылками, в качестве номеров используется строка вида YYYYMMDDHHMM, что достаточно удобно, если используется вычислительная техника.

Естественно, первым делом я попытался использовать org-mode, чтобы организовать цеттелькастен. Формат очень хорошо подходит для структурированных текстов и организации ссылок, но не нашёл с ходу удобного инструмента для поиска по заметкам.

Так я начал вести заметки с помощью Typora и продумывать свою софтинку, которая могла бы помочь мне с этим вопросом. Вот дочитал "Изучаем Python" за авторством Марка Лутца, начал более детально изучать tkinter (я не хочу ни Qt ни GTK потому что tkinter есть из коробки и не требует установки сторонних библиотек), но писать свой WYSIWYG-редактор для markdown или org-файлов на tkinter это то ещё развлечение и я почти смирился с Typora как с инструментом для цеттелькастена.

Но это почти зудело где-то в мозгу и не давало покоя. Вот же - есть прекрасный во всех отношениях emacs, а я использую программу на electron, который на дух не переношу. Сперва я всё таки искал другие варианты. Попробовал Zim, но он достаточно неповоротлив в плане UI. Нет, GTK быстр как ветер, этого не отнять, но вот назначение некоторых хоткеев и в целом не очень хорошая продуманность некоторых плагинов не удовлетворили. Открыл Typora и создал заметку про Zim и его хорошую идею, но плохую реализацию.

И вот, перед сном, решил ещё раз поискать что есть для организации заметок в emacs. И нашёл deft. Маленькая программка для emacs, специально созданная для ведения заметок. Может отслеживать файлы в директории и поддерикториях (для рекурсивного поиска нужно включить опцию deft-recursive), удобный вариант поиска по тексту, когда находясь точкой (aka курсором) в любой части буфера можно набирать текст и deft тут же отфильтрует содержимое, открытие каждой заметки как файла, что позволяет использовать и org-mode и файлы в формате LaTeX и что душа пожелает.

Возможно, на большом количестве заметок поиск начнёт подтормаживать, но для этих целей есть notdeft, использующий для поиска xapian, но на данный момент меня устраивает и то, что есть.

Так что вот, для организации заметок со сквозным поиском в любимой среде emacs (ну не могу я считать его просто текстовым редактором) нашёлся отличный на мой взгляд инструмент. Синхронизацию можно организовать посредством облачного хранения, на андроид-устройствах можно использовать хоть emacs в termux, хоть orgzly (хотя насчёт последнего не совсем уверен как оно будет работать).

Задача вновь прекрасно решена с помощью emacs. Интересно, чего он всё таки не умеет? :)