Hlavní navigace

Názor k článku VIM na plný výkon (4) od matous cervenka - kdyz zmacknes F8 tak ti to nabidne link...

  • Článek je starý, nové názory již nelze přidávat.
  • 13. 7. 2004 11:59

    matous cervenka (neregistrovaný)

    kdyz zmacknes F8 tak ti to nabidne link na lokalni soubor nebo muzes napsat treba www.cosi.cz a ono to doplni co ma. Velikost obrazku to umi taky ale musis mit nainstalovany tusim ImageMagick. Tady to je (kdysi jsem to kdesi obslehl a mirne upravil):


    map <F8> :call VlozOdkaz()<CR>
    imap <F8> <Esc>:call VlozOdkaz()<CR>

    function! VlozOdkaz()

    let ConfPrompt="Link nebo obrazek?"
    let ConfChoices="&Link\n&Obrazek"
    let ConfChoices=ConfChoices."\n&ZRUSIT"
    let choice = confirm(ConfPrompt, ConfChoices, 2)
    if choice == 1
    :call HTML_insertHref()
    elseif choice == 2
    :call HTML_loadImg()
    elseif choice == 3
    return
    endif

    endfunction



    function HTML_loadImg()
    if(a:0>0)
    let path=a:1
    else
    if(has("browse"))
    let path=browse('', 'Vyber obrazek pro <img>', '.', '')
    else
    echo "Vas VIM nepodporuje prikaz :browse, cestu k obrazku zadejte rucne"
    return
    endif
    endif
    let data=system('identify ' . path)
    let old_x=@x
    let @x=substitute(data, '\([^ ]*\) [^ ]* \([0-9]*\)x\([0-9]*\).*', '<img src="\1" width="\2" height="\3" alt="">', '')
    if(data==@x)
    echo "VIM: Chyba extrakce rozmeru obrazku!\n" . @x
    return
    endif
    normal "xph
    let@x=old_x
    startinsert
    endfunction




    function HTML_insertHref()
    if(a:0>0)
    let path=a:1
    else
    if(has("browse"))
    let path=browse('', 'Get file for <a href="">', '.', '')
    else
    echo "Your VIM not supported cmd :browse, insert file path manualy."
    return
    endif
    endif
    if(path[0]=='/')
    let path=Absolute2Relative(path)
    endif
    let old_x=@x
    let @x='<a href="'.path.'">'.path.'</a>'
    normal "xp4hT>vt