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

И снова про plain text. Про то, что переходить по ссылкам из текстовых заметок я уже писал. Несколько позже выяснилось, что ваш покорный слуга изобрел велосипед — у vim’а есть свой netrw с хоткеем gx. Он тоже позволяет ходить по ссылкам из текста, плюс понимает запуск файлов по ссылке (то есть если в файле есть что-то типа ~/gifs/my-pic.jpg — можно стать на эту ссылку, набрать gx — и запустится графический просмотрщик, который по дефолту обрабатывает эту ссылку).

Я часто конспектирую книги — как по работе, так и просто что-то читая. Моя книжная папка часто перетасовывается — появляются новые книги, старые уходят в Глубокие Архивы, разделы пересматриваются. Прямая ссылка на книгу очень быстро стареет — а работая с книгой хочется, чтобы она открывалась прямо из файла. Тут нужен другой механизм.

Когда я писал Неназываемое я некоторое время пользовался менеджером библиографии 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 — у меня открывается просмотрщик с нужной книгой в нужном формате.

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

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

Реклама

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

  1. […] или вообще по каким-то отдельным папкам. Обычно я использую find, но, читая man updatedb я обнаружил что поиск можно […]

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: