понедельник, 7 июля 2014 г.

И все-таки Org Mode

В продолжение предыдущей записи.

То ли следуя моде, то ли лени нынешние разработчики приложений, использующих структурированное хранение информации, поголовно стали использовать иерархию каталог-подкаталог-подкаталог-..-файл, вместо хранения всего в одном-единственном файле. Впрочем, я называю это "дурость", а все их модные "иерархические менеджеры заметок" - очередными файл-менеджерами, только без блэкджека и с сильно урезанным функционалом. Как-то всегда было противно пользоваться подобным недо-ПО, поэтому решил сделать второй подход к штанге Emacs.. и внезапно распробовал это блюдо.  
NB: да, я использую Emacs всего лишь как штопор или консервный ножик, но ничуть не комплексую по этому поводу.

Итак, Org Mode - это название одного из режимов работы Emacs (которых несколько),  предназначенного для организации записей, ведения списков задач (TODO) и прочего в этом же духе. Поддерживает и вложенность записей, и теги, и.. чего там только нет :) Материалов на эту тему в сети более чем достаточно, но на русском их почему-то значительно меньше.
Главные фичи:
  • фокус на управление с клавиатуры, хотя мышь тоже не забыта, но.. она может понадобиться разве что в начале
  • все храниться в единственном текстовом файле (plain text), который так же легко читается (и редактируется при необходимости) в любом текстовом редакторе
  • настроить можно ВСЕ!
  • перемещение или группировка записей сводятся к перемещению строки/блока текста в текстовом файле - никаких файловых операция и никаких подкатологов!
Ну и про настройки и "горячие клавиши".
Комбинаций клавиш очень много, и основные придется выучить, т. к. никаких всем привычных сочетаний, вроде Ctrl+Z, по умолчанию просто нет. С конфигурационным файлом тоже непросто: возможности кастомизации практически неограниченны, а стиль мануалов на мой взгляд весьма своеобразен ;) Для примера приведу свой конфиг, созданный исключительно на основе быстрого поиска в гугле:
;;; Org Mode
;; GNU Emacs 24.3.1
(add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . org-mode))
;; старт в org-mode дя файлов *.org *.txt 
(require 'org)
(setq org-tag-alist '(
("cfg" . ?c)
("notes" . ?n)
("quick" . ?q)))
;; predefined tags 
;;;
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)
(global-set-key (kbd "") 'org-agenda)
(global-set-key (kbd "") 'org-cycle-agenda-files)
(global-set-key (kbd "") 'keyboard-quit)
(global-set-key (kbd "\C-z") 'undo)
;; а вот и Ctrl+Z
(load-theme 'zenburn t)
(windmove-default-keybindings 'meta)
;;  теперь навигация будет проходить следущим образом: alt+arrow keys
(fset 'yes-or-no-p 'y-or-n-p)
;; замена "yes" на "y" и т. д.
(desktop-save-mode t) 
;; сохранять сессию
(custom-set-variables
 '(delete-selection-mode nil)
 '(mark-even-if-inactive t)
 '(org-agenda-files (quote ("~/path/to/file.org")))
 '(scroll-bar-mode nil)
;; disable scrollbar
 '(show-paren-mode t)
 '(transient-mark-mode 1))
(custom-set-faces
 '(default ((t (:family "Droid Sans" :height 150)))))
;; дефолтный шрифт Droid Sans 15
(kill-buffer "*scratch*")

* в церковь имени сабжа не подался, но без малейших угрызений совести был удален "типа-программерский" редактор Geany: куда ему тягаться-то..




0 коммент. :

Отправить комментарий

Следующее Предыдущее Главная страница

Blogger Template by Blogcrowds