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

2016-10-06

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

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

Реклама

Простой словарик для vim

2013-10-05

Иногда удобно подсмотреть в словаре определение для того или иного слова. Когда это понял — написал небольшой скриптик для ~/.vimrc, который по F7 гуглит грепает слово под курсором и выводит результаты. Минимум телодвижений и максимум гибкости — вместо grep может быть любой другой скрипт, понимающий stdin (никто не запрещает привинтить сюда, скажем, гуглопереводчик.

function! Mul()
    " мюллеровский словарь

    let TempQ = @q
    let @q = ''

    " копируем слово в буфер 
    normal "qyaw
    let MuWord = @q

    " восстанавливаем буфера назад
    let @q=TempQ 

    " скармливаем его grep - и добавляем ключей для вывода контекста 
      exec ':!grep "'.MuWord.'" ~/enc/muller.txt -C 1' 

endfunction

nnoremap <F7> :call Mul()<CR>

Фолдинг Большого Текстового Файла в Vim

2012-11-24

Чем больше эксплуатирую АБТФ и markdown-файлы, тем сильнее убеждаюсь, что главным для работы со структурой (которая маркируется шарпами в начале строки) является простая генерация содержания. У меня есть удобный инструмент в виде Малой Карты, а сегодня обнаружилось тоже удобное и, на удивление, быстрое решение в виде выражения для фолдинга по заголовкам маркдауна. Я его слегка допилил до своего случая — вместо автозагрузки в примере сделал вызов по нажатию ,mf

" быстрый фолдинг для маркдауна
" http://stackoverflow.com/questions/3828606/vim-markdown-folding

function! MarkdownLevel() 
    let h = matchstr(getline(v:lnum), '^#\+') 
    if empty(h) 
        return "=" 
    else 
        return ">" . len(h) 
    endif 
endfunction

function! MarkFold()
    setlocal foldexpr=MarkdownLevel()  
    setlocal foldmethod=expr  
endfunction

nnoremap ,mf :call MarkFold()<CR>

На моем главном файле в почти 7млн символов длиной с полутора тысячью заголовков работает шустро — благодаря тому, что используется fold-expr вместо очень медленного фолдинга по регулярным выражениям. Очень рекомендую.


Vim россыпью

2011-12-25

Открыл для себя вимовские text-objects — чудная штука. Оказывается, можно копировать: букву (l) — удобно для команд типа «5 символов вправо», слово, предложение, параграф, скобки (круглые, фигурные, квадратные, угловые), кавычки (одинарные, двойные, бэктиками) и — теги. Особенно впечатлило `at` и `it` — они копируют теги — причем любые.

——

Также приятное открытие (уже давно и уже давно пользуюсь) — это Ctrl+A и Ctrl+X на цифрах соответственно прибавляет и отнимает по единичке из числа.

——

Продолжая тему XML. Редактировать XML иначе как без режима фолдинга — пытка. А этот режим включается очень просто:

:let g:xml_syntax_folding = 1
:set fdm=syntax
:e %

Можно вводить вручную, можно завязать на загрузку xml-файла. Не понимаю, как я раньше обходился без? То есть понимаю — использовал совершенно дикие и неестественные методы. Зато теперь — XML любого размера «схлопывается» в удобоваримый вид и любой файл — как на ладони. Наслаждаюсь :) Особенно приятно конфигурировать `rc.xml` к `openbox`’у


Малая Карта для АБТФ — теперь и в bash

2011-05-27

Малая Карта. Позволяет открывать в боковом меню «карту»-содержание большого текстового файла (заголовками считаются все строки, которые начинаются с #). Карта открывается по ,mm. По <Enter> на любом из заголовков, файл в главном окне прокручивается на нужный заголовок. По <Esc> меню с картой закрывается.

Использую этот скрипт примерно полгода уже год — и не могу нарадоваться. Он очень упрощает работу с АБТФ и используется намного шире, чем я предполагал в самом начале. Практически любой текст, который размечен через # можно открыть в виде содержания и быстро найти нужный раздел.

Если поставить себе расширение Vim Outliner, то содержание будет выводиться компактнее — в виде аутлайна, который «схлопывает» разделы.
Читать далее…


ascii-art для vim

2010-11-13

Научился рисовать в виме псевдографикой. Понял, что это будет хорошим подспорьем и ценным навыком. Очень часто хочется оформить данные таблицей или сделать простейший набросок от руки. Я привык иллюстрировать свои записи в бумажной записной книжке небольшими схемами-набросками и в АБТФ этого некоторое время не хватало.

Читать далее…


АБТФ: большая и малая карты

2010-08-02

Прошло достаточно много времени с тех пор, как я писал про Аффигительно Большой Текстовый Файл. Это не значит, что тема стоит на месте — просто на все не хватает времени.

Основные новости следующие:

  1. Я дополнил навигацию по разделам и теперь могу произвольно выделять-вырезать-копировать-удалять отдельные заметки через d]] y[[ v]] и тому подобные комбинации клавиш.
  2. 
    " --------- jumper ------------
    map ]] /^[#@]
    map [[ ?^[#@]
    " --------- jumper ------------
    
    

    Все заголовки у меня начинаются с # в Структуре и с @ в дневниковых заметках. То есть по ]] и [[ можно прыгать от заголовка к заголовку, а скажем по d]] удалить текущую заметку в буфер и вставит ее в каком-нибудь новом месте. Через v]]]]]]d можно скопировать три заметки подряд и так далее. Получилось очень удобно.

  3. Файл подсветки я переписал под «стандартные» цвета, так что теперь могу менять цветовые схемы как заблагорассудится не боясь, что какая-то часть подсветки не попадет по цвету.
  4. И главное. Используя вимаутлайнер, я построил на его базе древовидную систему работы с блогом, которую условно назвал Большой и Малой Картами.

Читать далее…


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