воскресенье, 1 февраля 2009 г.

"Большой файл", часть... следующая. ;)

Попробовал заменить заголовки, на более короткие, типа:

~ Заголовок1
~end Заголовок1


Функция для фолдинга получилась следующая:

function! LoadClipboardFile()
set number
set foldclose=all
set foldmethod=syntax
syntax sync fromstart
syntax region NoteFold start="\V\^~ \.\*\$" end="\V\^~end\.\*\$" fold transparent
set foldtext=v:folddashes.substitute(getline(v:foldstart),'^.\\s','','g')
set foldcolumn=3 "отступ от края
map a=strftime("%Y-%m-%d %H:%M")
imap
map GoI~end kI~ zoA
endfunction

В определении синтаксиса пришлось поставить "\V" в начала, ибо заэкранировать тильду (~) по другому не вышло! :( Может кто знает как это сделать? У меня не вышло это провернуть ни каким колличеством обратных слешей. :( Да! И вызов этой функции поменял на событие BufReadPost, потому что при вызове ее в buffer enter был совершенно не понятные мне глюки.

В общем много еще не понятного таит в себе vim... :)

2 комментария:

  1. В продолжение обсуждения в комментариях к записям http://tengu-crow.livejournal.com/326005.html хотел бы совместно с Вами придумать или проконсультироваться по совместному использованию Большого текстового файла (или нескольких файлов) на нескольких компьютерах - правка, синхронизация. Нечто, похожее на Xmarks.com.
    Вы писали, что считаете лучшим git.
    Можно ли каким-то образом автоматически синхронизировать несколько текстовых файлов через ftp и/или флешку.
    Например, поработал на работе, скрипт синхронизировал изменения файлохранилищем по ftp и флешкой, пришел домой, перед началом работы с этим же файлом скрипт обновил версию, а в конце перед выключением компьютера не забыл обновить его в общем хранилище и на флешке.
    И чтобы можно было при отсутствии интернета также синхронизировать файл/несколько файлов между несколькими компьютерами.

    ОтветитьУдалить
  2. Ну собственно я не писал, что git лчший. ;) Я лишь сказал, что считаю его более хорошим решением чем... :)

    По поводу же непосредственной реализации я пока не могу толком сказать к чему я пришел. Пока я по мере появления времени изучаю git. Как только будет время реализовать такую синхронизацию - сразу об этом напишу. :)

    Ну и конечно же идеи/предложения принимаются. ;)

    ОтветитьУдалить