АБТФ, поиск и вызов книг, работа с книжным аппаратом

Oct 06, 2016 17:49

И снова про 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 - у меня открывается просмотрщик с нужной книгой в нужном формате.

Основная фишка бэктиков в том, что они у меня подсвечиваются, плюс можно задавать название книги с пробелами.

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

vim, научная организация труда, аффигительно большой текстовый файл, АБТФ

Previous post Next post
Up