«… за хлебом сходила»

2008-08-20 12:23; Tags:

Решил купить книжку в электронном виде — и автора поддержать, и не дорого, и на полке места не занимает, и не хлопотно, т.к. через смс. Опять же, ждать пока доблестные пираты ее отпиратят в бесплатной электронной библиотеке, где-нибудь в Эквадоре, не было желания.
Купил. На ЛитРесе.
Книжка стоит 31 рубль. ПОСЛЕ отправки смс увидел, что сама отправка стоит 100 рублей (сам дурак, да). НО! Со счета сняли, примерно, 210 рублей.
Бля.

html omnicomplete

2008-08-19 13:05; Tags: ,

Читая группу vim_use, узнал, что vim’овский omni completion (который есть простенький аналог intelliSense) умеет закрывать html тэги.
Пример:

<table> </<C-X><C-O>

<C-X><C-O> закроет table

Можно, конечно, использовать скрипт closetag.vim. Там, для закрытия тэга, писать </ не надо — это плюс. Правда его нужно устанавливать отдельно — это минус.

Я, скорее всего, откажусь от closetag’а и буду использовать omni completion.
Примерно так:

imap <C-_> </<C-X><C-O>

Нажимаешь <C-_> — открытый тэг закрыватся.

Музыка

2008-08-12 15:01; Tags:

«Чтобы более-менее попадать ногами в музыку ее желательно знать» — как бы подумал я и в «энный» раз прослушал всего имеющегося Ди Сарли. Тут же принялся за Д’Ариенцо — его у меня оказалось в два раза меньше. Следующим будет Биаджи.

PS
Удивлен тем, как сильно изменились мои музыкальные вкусы всего за пару лет — от органического неприятия классической танго музыки до «очень сильно нравится!»

ya.ru

2008-08-01 18:53; Tags:

23730246.b7f3e64c77b18e0fe32e018d35354d7d.1217602370.8003665294ac7bb0dfccb1b73e2ea00a

Vim — закрыть открытые скобки

11:41; Tags: , ,

Тем кто пишет на Лиспе (Схеме) в Виме может быть интересен скрипт, закрывающий открытые скобки (unbalanced parens). Ничего особенного в нем нет — со своей работой справляется. Однако функция s:isInLispExpression() тупая как пробка, ее нужно еще тюнить и тюнить. :)

" Lisp stuff {{{

"" Close parens
function! s:isInLispExpression(linenr) " {{{
    let result = 1
    if a:linenr < 0
        let result = 0
    else
        let line = getline(a:linenr)
        if line == ""
            let result = 0
        endif
    endif

    return result
endfunction " }}}

function! s:LispCountOpenedParens(line) "{{{
    let unbalanced = 0
    let idx = 0
    while idx < len(a:line)
        if a:line[idx] == '('
            let unbalanced += 1
        elseif a:line[idx] == ')'
            let unbalanced -= 1
        endif
        let idx += 1
    endwhile
    return unbalanced
endfunction "}}}

function! s:LispCloseParens(linenr) "{{{
    let unbalanced = 0
    let lineidx = a:linenr
    while s:isInLispExpression(lineidx)
        let line = getline(lineidx)
        let unbalanced += s:LispCountOpenedParens(line)
        let lineidx -= 1
    endwhile
    if unbalanced > 0
        execute "normal ".unbalanced."A)\<ESC>"
    endif
endfunction "}}}

command! LISPCloseParens call <SID>LispCloseParens(line('.'))
map <Leader>) :LISPCloseParens<CR>

"" }}}

Upd.
Написал улучшенный вариант “балансировки” скобок.

Powered by WordPress