И снова про plain text. Про то, что переходить по ссылкам из текстовых заметок я
уже писал. Несколько позже выяснилось, что ваш покорный слуга изобрел велосипед - у vim'а есть свой netrw с хоткеем
gx. Он тоже позволяет ходить по ссылкам из текста, плюс понимает запуск файлов по ссылке (то есть если в файле есть что-то типа ~/gifs/my-pic.jpg - можно стать на эту ссылку, набрать gx - и запустится графический просмотрщик, который по дефолту обрабатывает эту ссылку).
Я часто конспектирую книги - как по работе, так и просто что-то читая. Моя книжная папка часто перетасовывается - появляются новые книги, старые уходят в Глубокие Архивы, разделы пересматриваются. Прямая ссылка на книгу очень быстро стареет - а работая с книгой хочется, чтобы она открывалась прямо из файла. Тут нужен другой механизм.
читать дальше в wordpress'e Когда я писал Неназываемое я некоторое время пользовался менеджером библиографии
JabRef (потом его сменил Zotero, но это уже другая история). Мне понравилось то, как в нем решался вопрос открытия книги. Каждая книга называлась уникальным именем и вместо ссылки на книгу, каждый раз выполняется поиск этого имени - после чего найденная книга открывалась в pdf- или djvu-читалке.
Тогда я для удобства написал на коленке скрипт, который по LaTeX-ссылке открывал книгу или находил ее в .BibTeX-овской библиографии.
Сейчас вспомнил про этот опыт и написал простенькую функцию для .vimrc:
" F5 поиск по книжному hub'у {{{2
function! BookSearch()
" сохраняем значение буфера q
let TempQ=@q
let @q=''
" копируем ссылку в буфер q а оттуда - в FileName
normal "qyi`
let FileName=@q
" восстанавливаем буфер q назад
let @q=TempQ
" ищем и запускаем файл
" скармливаем его pcmanfm
exec ':silent !find ~/book -name "' . FileName . '"* -exec pcmanfm {} \; &'
endfunction
nmap :call BookSearch()
Книги у меня выделяются бэктиками. Например:
`Лагутин М.Б.-Наглядная математическая статистика-Бином (2009).djvu`
Скрипт по копирует название внутри бэктика и скармливает его find, который ищет его в папке ~/book - и скармливает pcmanfm.
find ~/book -name 'FileName' -exec pcmanfm {} \; &'
Таким образом если я встаю на название книги и нажимаю F5 - у меня открывается просмотрщик с нужной книгой в нужном формате.
Основная фишка бэктиков в том, что они у меня подсвечиваются, плюс можно задавать название книги с пробелами.
Следующая идея - написать скрипт, который бы по имени книги генерил бы для нее отчет (чтобы просматривая книги в папках, можно было бы одновременно смотреть есть для них какие-то заметки или нет), но это для того светлого будущего, когда у меня будет свободное время.