Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
VIM na plný výkon (4)

Pepa
Pepa (neregistrovaný)
13. 7. 2004 1:24 Nový

hmmm

celé vlákno

to vypada zajimave... hodne zajimave...

Phoenix
Phoenix (neregistrovaný)
13. 7. 2004 8:01 Nový

preklep

celé vlákno

na konci prvniho odstavce je preklep - "FileFype Plugins."

máca
máca (neregistrovaný)
13. 7. 2004 8:15 Nový

Praxe

celé vlákno

A fakt v tom někdo píšete složitější html stránky? Nic proti VIMu, ale tohle se mi zdá trochu silná káva. :-)

Zdenek Burda
Zdenek Burda (neregistrovaný)
13. 7. 2004 8:47 Nový

Re: Praxe

celé vlákno

:-))

pisu jen ve vimu a k podobnym makrum jsem dospel uz pred dlouhou dobou. Zakladni vec kterou fakt musis mit je closetag makro, jinak se fakt html neda psat :-)

ch-in-A
ch-in-A (neregistrovaný)
13. 7. 2004 9:45 Nový

Re: Praxe

celé vlákno

co se vam na tom nezda? proc by se v tom nedaly psat slozitejsi html stranky? rad bych videl nejaky editor ve kterem to jde snaze a rychleji

George
George (neregistrovaný)
13. 7. 2004 18:51 Nový

Re: Praxe

celé vlákno

No jasne, v emacsu a PSGML modu:-) Umi treba kontextove vkladani znacek (podle DTD), validaci a potom "skakani" primo na chyby a spoustu jinych veci:-)

matous cervenka
matous cervenka (neregistrovaný)
13. 7. 2004 9:46 Nový

Re: Praxe

celé vlákno

Ja pisu www stranky pouze ve vimu. Ta jednoduchost pri tvorbe vlastniho mapovani je genialni. Z toho clanku to vypada mozna slozite ale staci si stahnout z netu par souboru jak to delaji jini a snadno to pochopis.

Mimochodem clanek byl super, vice takovych!

Pavel Tišnovský
Pavel Tišnovský (neregistrovaný)
13. 7. 2004 9:58 Nový

Re: Praxe

celé vlákno

Jiste, vsechno, vcetne zdrojaku, HTML a TeXu pisu ve vimu. Silna kava to neni, naopak me stvou omezeni, ktera maji jine textove editory a procesory. Pouze si to chce chvili zvykat, ze zacatku to moc nejde :-(

Zdeněk Vráblík
Zdeněk Vráblík (neregistrovaný)
13. 7. 2004 13:21 Nový

Re: Praxe

celé vlákno

Vim je bezesporu super editor. Bohuzel pro
programování uz to zas tak super neni.
Radeji pouzivam JEdit, nebo ted se zacinam
divat co umi Eclipse. JEdit ma nekolik vlastnosti
z VIMu, a i neco navic - dokáže udržovat stromovou
strukturu dokumentu(dobre u Texu). Eclipse ma přímo vim plugin.
Zatim jsem ho nezkousel.
Pri praci v ssh - příkazové řádce je pro me bezesporu Vim ta nejlepsi alternativa.

Pavel Tišnovský
Pavel Tišnovský (neregistrovaný)
13. 7. 2004 13:58 Nový

Re: Praxe

celé vlákno

Souhlasim s tim, ze JEdit je velmi dobry editor, pro me je to vsak ponekud tezkotonazni nastroj :-) a ne
vsude je dostupny. Celkem casto pres den presedam na ruzne pocitace (vetsinou na dalku), kde jsou ruzne Unixy, Linux i Windows NT/9x/2000 XP a ne na vsech mam moznost instalace JVM apod.

Nicmene kdyz pisu v TeXu, tak si logicke casti oddeluji pomoci fold-markeru (mam tam defaultne tri slozene zavorky, ktere jednoduse dam do poznamky):

\section{Nejaka cast}%{{{ toto budu videt pri slozeni

text tex
\subsection{Podsekce}%{{{ zase si ji slozim

text text
%}}} konec podsekce

%}}} konec cele sekce

Zdeněk Vráblík
Zdeněk Vráblík (neregistrovaný)
13. 7. 2004 16:22 Nový

Re: Praxe

celé vlákno

Důvody proc VIM vim:)). Vzdálená správa 100%.
U toho TeXu myslím zvláštní okno, kde je graficky
znázorněn strom Kapitola/sekce/podsekce...
je to specialni pugin pro jedit uz presne nevim
jak se jmenuje. Diplomku o velikosti cca 2000 řádků
bych ve Vimu taky napsal, ale v JEdit to bylo mnohem
pohodlnejsi. Ideal by byl JEdit s možností zapnout
chování jako vim:))) To by mohl splnovat
plugin v Eclipse.

Pavel Tišnovský
Pavel Tišnovský (neregistrovaný)
14. 7. 2004 7:20 Nový

Re: Praxe

celé vlákno

Aha, tak tohle vim primo neumi, to je pravda. Vsechny tyhle vychytavky jsou docela navykovou zalezitosti, takze si to v JEditu vyzkousim a potom mi to bude ve vimu chybet ;-)

Z pluginu vimu jsem zkousel pouze plugin do Visual Studia a bylo to nic moc - vim se spoustel pouze pro psani kodu, ale uz to neumelo zvyraznovani chyb po kompilaci, ladeni bylo pouze ve VS okne atd.

Eclipse neznam, treba to v nem bude vic provazane.

máca
máca (neregistrovaný)
13. 7. 2004 11:46 Nový

Re: Praxe

celé vlákno

Nevíte jestli to má taky WYSYWIG režim, případně jestli to hlídá a doplňuje syntaxi jazyka? Mám na mysli, když napíšu třeba <a tak mi to nabídne href, ..., nebo když vložím obrázek, tak mi to doplní jeho velikost do elementu img. Tak nějak jsem pochopil, že spousty se toho dá udělat a že to není myšoidní, ale jsou někde k dispozici nějaké prověřené konfiguráky, něco jako lisp soubory v Emacsu?

matous cervenka
matous cervenka (neregistrovaný)
13. 7. 2004 11:59 Nový

Re: Praxe

celé vlákno

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

Petr Mach
Petr Mach (neregistrovaný)
13. 7. 2004 19:32 Nový

Re: Praxe

celé vlákno

Jo tak tohle hodne vypada jako moje dilo. Udrzuji takovou pokrocilejsi konfiguraci pro lidi, co se s tim nechteji konfigurovat VIMConfig na http://iglu.cz/wraith/odkaz.html?/s_vim/vimconfig-2_download.html

Co se tyce insertu odkazu a obrazku, tak to mam i jako samostatny kod http://iglu.cz/wraith/odkaz.html?/s_vim/rozsireni-html-insert.html
a taktez bych upozornil na makra pro odsazovani textu, je to hned v dalsi polozka v menu. Krome toho ze to mam na strankach, tak je to take k nalezeni na vim.org ve skriptech.

Petr Mach
Petr Mach (neregistrovaný)
13. 7. 2004 19:34 Nový

Re: Praxe

celé vlákno

Mimochodem, vyse uvedeny kod je nekompletni a nebude tedy fungovat. Kdo to chce, muze si to stahnout ode mne.

matous cervenka
matous cervenka (neregistrovaný)
14. 7. 2004 8:54 Nový

Re: Praxe

celé vlákno

omlouvam se za zverejneni Vaseho dila. Me to ale funguje i takto nekompletni :-))

Petr Mach
Petr Mach (neregistrovaný)
14. 7. 2004 16:16 Nový

Re: Praxe

celé vlákno

Zverejneni mi nevadi, i kdyz bych odkaz na zdroj uvital :-).

Fungovat to nemuze, protoze se z toho vola jeste jedna moje funkce, ktera slouzi k prekladu absolutnich cest na relativni a tu jste nekde zasantrocil :-).

vlk
vlk (neregistrovaný)
13. 7. 2004 8:24 Nový

XML-plugin

celé vlákno

Na uzatvaranie XML ( aj HTML ) tagov pouzivam http://vim.sourceforge.net/scripts/script.php?script_id=301

V tom plugine sa mi osvecilo najma uzatvorenie tagu okamzite (automaticky) po napisani '>'. V pripade ze sa '>' stlaci 2x, bude urobene odriadkovanie.

jaro
jaro (neregistrovaný)
13. 7. 2004 8:52 Nový

vim-latex

celé vlákno

Nektere ftpluginy uz jsou hotove a prakticky dokonale -- tohle je muj oblibeny:

http://vim-latex.sourceforge.net

Pavel Tišnovský
Pavel Tišnovský (neregistrovaný)
13. 7. 2004 10:08 Nový

filetype plugins vs .vimrc

celé vlákno

Clanek je vyborny, gratuluji.

Jinak ja jsem taky zacinal vytvaret konfiguraci pomoci pluginu, ale postupem casu jsem mel spoustu konfiguracnich souboru, ktere nebylo snadne prenaset z mista na misto. Celkem casto totiz v praci prechazim na pocitace uzivatelu a jedine co potrebuji mit stejne, je prikazova radka a "ten muj" vim.

Tak jsem to nakonec flakl do jednoho .vimrc souboru (resp. _vimrc na MS Windows), ktery tak ma kolem 40kB a ten soubor si nosim na diskete a take ho mam na netu.

V jednom konfiguracnim souboru se muzou konfigurace pro ruzne typy souboru psat napriklad takto:
augroup __C__
au!
au BufRead,BufNewFile *.cpp,*.c,*.h highlight Statement guifg=white guibg=#0000aa
au BufRead,BufNewFile *.cpp,*.c,*.h syn keyword cConstant nil
au BufRead,BufNewFile *.cpp,*.c,*.h set tabstop=4 nowrap
au BufRead,BufNewFile *.cpp,*.c,*.h set formatoptions=croq nocindent comments&
au BufRead,BufNewFile *.cpp,*.c,*.h set cindent comments=sr:/*,mb:*,el:*/,://
au BufRead,BufNewFile *.cpp,*.c,*.h set foldmethod=syntax foldclose=all foldnestmax=1
au BufRead,BufNewFile *.cpp,*.c,*.h syn region myFold start="{" end="}" transparent fold
au BufRead,BufNewFile *.cpp,*.c,*.h hi cConstant guifg=#ffa0a0
au BufRead,BufNewFile *.cpp,*.c,*.h imap \fo for () {<CR><CR>}<ESC>kk5li
au BufRead,BufNewFile *.cpp,*.c,*.h imap \if if () {<CR><CR>}<ESC>kk4li
au BufRead,BufNewFile *.cpp,*.c,*.h imap \sw switch () {<CR>case a:<CR>break;<CR>case au BufRead,BufNewFile *.cpp,*.c,*.h imap \in #include
augroup END

Petr Ruzicka
Petr Ruzicka (neregistrovaný)
13. 7. 2004 10:21 Nový

Vyborny !

celé vlákno

Vyborny clanek, pouzivam taky primarne vim, ale pokazde se dozvim neco noveho, to je neuveritelne silny editor.

skoub
skoub (neregistrovaný)
13. 7. 2004 11:59 Nový

tabulkty

celé vlákno

Ja mam podobne makro pro tabulky jako bylo vyse uvedeno. Ale jsou problemy, pokud je nastaveno automaticke formatovani. Proste odsazeni pak nedela uplne dobrotu. Mozna by vyresilo napred (1) "spravne" nastavit autoindent, cindent, ... , pak (2) automaticky napsat kod a (3) vratit nastaveni odsazovani.

To je ale za domaci ukol :-)

skoub
skoub (neregistrovaný)
13. 7. 2004 12:05 Nový

vice souboru v jednom okne

celé vlákno

Tohle pouzivam uz delsi dobu, ale jsou s tim problemy kdyz ma clovek otevreno vice souboru RUZNEHO typu a v nich ma nastavene stejne imap prikazy.

Napr v C:
imap ,c /* */<Esc>3hi
a v HTML:
imap ,c <!-- --><Esc>3hi
(nevim, jak to ted vezme

mpts
mpts (neregistrovaný)
13. 7. 2004 13:37 Nový

Re: vice souboru v jednom okne

celé vlákno

imap <buffer> ,c atd.

viz též :help map-local

mpts
mpts (neregistrovaný)
13. 7. 2004 13:47 Nový

Re: vice souboru v jednom okne

celé vlákno

BTW, mapování z ft pluginů by mělo být automaticky lokální k bufferu, či ne?

znouza
znouza (neregistrovaný)
13. 7. 2004 15:12 Nový

Re: vice souboru v jednom okne

celé vlákno

ja to resim funkci... treba pro php soubory...

fun! LoadPHP()
imap <? <?php?><C-O>F?<CR><CR><ESC>ki
imap /** /**<CR> * <CR>* <CR><BS>**/<ESC>kka
atd...
endfun

" pro TeX
fun! LoadTeX()
set wrap
map 1\ gg:%s/^[0-9]*\. \(.*\)$/\\item{\1}/g<CR>
map >} ^i{<ESC>$a}<ESC>^
map >s <<>}i\subsection<ESC>
... atd
endfun

a potom
au BufReadPre *.tex call LoadTEX()
au BufNewFile *.tex call LoadTEX()

au BufReadPre *.php call LoadPHP()
au BufNewFile *.php call LoadPHP()

mpts
mpts (neregistrovaný)
13. 7. 2004 13:40 Nový

Tradičně

celé vlákno

Nemít ten vim, tak nevim ... :-)))

Hezký článek.

lzap
lzap (neregistrovaný)
13. 7. 2004 15:01 Nový

No nevím...

celé vlákno

jako bych to už někde četl...

Pavel S.

:D

Chappi
Chappi (neregistrovaný)
13. 7. 2004 20:43 Nový

off topic

celé vlákno

Omlouvám se za off-topic, nicméně neuměl by někdo poradit, jestli je vim schopen z regulárního výrazu vygenerovat všechny řetězce, které mu vyhovují?

např.: [aA][bB] -> ab,Ab,aB,AB

Díky

michal
michal (neregistrovaný)
13. 7. 2004 23:46 Nový

Re: off topic

celé vlákno

Treba a* -> ,a,aa,aaa,aaaa,aaaaa,aaaaaa,aaaaaaa,aaaaaaaa,aaaaaaaaa

:)

mpts
mpts (neregistrovaný)
14. 7. 2004 11:19 Nový

Re: off topic

celé vlákno

Teď si nejsem zcela jist, ale nechybí Vám tam "aaaaaaaaaa"?

Chappi
Chappi (neregistrovaný)
14. 7. 2004 13:44 Nový

Re: off topic

celé vlákno

a proč vlastně ne? To, že by výpis byl nekonečný ještě neznamená, že někdo takový soft napsal.

Já osobně bych se bez hvězdičky obešel, defacto i bez tečky.

Nevíte tedy někdo?

Chappi
Chappi (neregistrovaný)
14. 7. 2004 13:45 Nový

Re: off topic

celé vlákno

"naspal" nahradit "nenapsal" :-)

Dalibor  Straka
Dalibor Straka (neregistrovaný)
15. 7. 2004 13:37 Nový

Pomale pripojeni nebo lagujici sit

celé vlákno

Oboji zpusobi, ze makra nebudou fungovat jak byste cekali. Protoze na cilovy pocitac dorazi paket s druhym znakem makra o dost pozdeji nezli byl ve skutecnosti stisknut a vim situaci nevyhodnoti jako makro.

Takze: Bacha na pomalou linku, je to velmi iritujici.

Zasílat nově přidané příspěvky e-mailem