Velmi pěkné:-) Teď už jen chybí někde na netu otevřít volně přístupný archív šablon... A určitě to nezapomeňte poslat také na vim.sf.net!
Názory k článku
Kostry dokumentů ve VIM
Bez titulku
celé vláknoJa mam pocit, ze jsem na vim.sf.net videl neco hodne podobneho... ale jsou tam tedka problemy s databazi, takze se nepodivam (taky to mohlo byt ve vim maillistu).
Jinak, pouzivam neco ekvivaletniho, pro ukazani moznych variant odlisnosti: pro vyber sablony nepouzivam %:e, ale obsah promenne filetype (coz je malicko universalnejsi), a soubory nenacitam, ale sourcuju (typicky obsahuji i <obsah dokumentu>., ale daj se tam davat i jine prikazy, takze nepotrebuju predem danou mnozinu substituci...). Cele to je (bez kontroly implementace autcocommands) one-liner:
au BufNewFile * execute "runtime template/" . &filetype . ".vim"
(ale neni tu vyber z nekolika ruznych templatu). Samozrejme je jen otazka pristupu, zda pouzivat prikazy vimu nebo preddefinovane substituce...
Re:
celé vláknoO tom, ze by se do sablon cpaly primo prikazy VIMu jsem taky premyslel. Neslo by pro inspiraci poslat nejakou ukazku vaseho reseni vcetne nejake vzorove sablony?
Bez titulku
celé vláknoPekne! Jsem moc rad kdyz se najdou autori schopni davat do clanku take neco "ze sebe" a ne jen obzahnout manual. Vic takovych clanku...
~/.vim/skeletons
celé vláknonektery casto pouzivane konstanty bych nahradil promnenymi, definovanymi hned na zacatku. napriklad ne kazdymu bude vyhovovat adresar ~/.vim/skeletens, navic muze nekdo pouzit tento nastroj jako podprogram ktery by bral sablony z nekolika ruznych adresaru, na zaklade externich informaci.
napr.: kdyz bude ctvrtek a vim bude spusten z vipw, pouzije se /root/.vim/vipw.ctvrtek/*.passwd
pres promenou si muzu se zdrojovou cestou hrat jak chci, konstantu musim prepsat na nekolika mistech a ani potom si nemuzu byt 100% jist ze se na konstantu nevaze nejakej chytak :)
Velmi dobre
celé vláknoParada. Mozno by tiez bolo zaujimave, keby ste zacali pisat
nejaku seriu clankov o pisani a pouzivani vlasnych funkcii
pre vim (podobne ako to bolo v tomto clanku). Za to by som
vam bol fakt vdacny nielen ja, ale urcite aj dalsi citatelia.
Re: Velmi dobre
celé vláknoSouhlasim, treba popis jak upravit soubory pro zvyraznovani syntaxe.
username
celé vláknoKostlivci jsou super ! Moc pekny ... 10/10. Pro ty z vas, kteri pouzivate system, ktery nenastavuje promenou prostredi $USERNAME davam priklad:
--- soubor: /etc/profile.d/username ---
#!/bin/bash
export USERNAME=`grep ^$USER /etc/passwd | cut -f5 -d:`
Re: username
celé vláknoco takhle
#!/bin/sh
export USERNAME="$USER"
# ;-))
Sice jsem se na to zde jiz kdysi ptal, ale ...
celé vlákno... protoze jsem nedostal zadnou odpoved tak bych to dnes zkusil znovu:
Lze ve Vim dosahnou automatickeho cislovani odstavcu?
Tedy aby vysledny dokument vypadal napr. takto:
1. nejaky text ...
1.1 nejaky text ...
1.2 nejaky text ...
1.3 nejaky text ...
1.3.1 nejaky text ...
2. nejaky text ...
2.1 nejaky text ...
2.2 nejaky text ...
3. nejaky text ...
4. nejaky text ...
Re: Sice jsem se na to zde jiz kdysi ptal, ale ...
celé vláknoAsi to nejak pujde... (jen to naprogramovat :-), nebo se podivat do uz zminovane banky skriptu http://vim.sf.net). Mozna by mohl pro zacatek pomoci plugin "Increment", ktery dela to, ze cislice oznacene ve sloupcovem bloku (CTRL+V) nahradi posloupnosti cisel. Increment se da sehnat na vyse zminene adrese.
Re: Sice jsem se na to zde jiz kdysi ptal, ale ...
celé vláknoPodle me to neni uloha pro vim, ale pro TeX nebo docbook. A v obojim uz je to vyreseno :)
Re: Sice jsem se na to zde jiz kdysi ptal, ale ...
celé vláknoJa si myslim, ze takova vlastnost editoru neni zase az tak od veci. I kdyz existuje TeX a jine vymozenosti, porad se muze stat, ze chcete psat nejaky plain ASCII dokument (nejake README apod...). Proc se potom nutit do nejakeho zbytecneho cvakani na klavesnici (pri psani cisel odstavcu), kdyz by je cislovat mohl umet samotny editor?
Re: Sice jsem se na to zde jiz kdysi ptal, ale ...
celé vláknouzitecne by to bylo, jen se v plain textovem editoru neda moc dobre zaridit konzistence cislovani pri presunovani nebo pridavani odstavcu nekam doprostred. Urcite se da vymyslet neco, co by to precislovani udelalo, ale aby to neprecislovalo navic, neco co se menit nema, muselo by se to cislovani nejak oznacit --> a jsme prakticky zase u TeXu nebo DocBooku nebo neceho podobneho.
Ale kazdopadne diky za pekny clanek, zvlast za sablonu pro javu, tu co nejdriv pouziju!
Re: Sice jsem se na to zde jiz kdysi ptal, ale ...
celé vláknoPredpoklad: mam radek typu
1.2.3 Nejaky text
(n.b., na konci neni tecka - v zadani jsou obe varianty, tady pro jednoznacnost takto). Nasledujici sekvence pridaji radek uvedeneho typu a prejdou do insert modu (predpoklad: jsme na radku s 1.2.3 a v normal modu). Mapovani na klavesy a rozsireni jako cviceni.
a) Pridej radek 1.2.4:
0yiW (nacti kod zacatku radky)
o<Esc>P<C-A> (zkopiruj a posledni cifru zvetsi oj edna)
a<space> (prejdi do insert modu a vynech mezeru)
b) Vytvor radek typu 1.3: (po provedeni a), tedy mame na radku 1.2.4<space> a jsme v insert modu - predpokladam mapovani a) napr. na <Enter>)
<esc>F. (smaz vse zpet k posledni tecce)
h<C-A> (presun na cislo a zvetsi o jedna)
A (insert mod)
Jeste neco je k tomu potreba?
Re: Sice ... (oprava)
celé vlákno<esc>F. ma byt <esc>dF. - preklep.
Pokud se prefixuje cislem, pak to smaze vice polozek..
zjednoduššení
celé vláknoJen na okraj, modernější a hezčí způsob zápisu typu
exe "%s/skeletonVIM_USER_NAME/" . $USERNAME . "/ge"
je
%s/skeletonVIM_USER_NAME/\=$USERNAME/ge
:help sub-replace-special
Prázdný první řádek v novém doumentu
celé vláknoJá jsem zatím řešil uvedený problém použitím konstrukce ze staršího článku o vim na rootu. (Tehle článek je ale moc pěkný a řešení komplexnější.) Ale mám tenhle problém: Založím-li si tak nový soubor, mám na prvním řádku jenom konec řádku, na druhém je začátek. Je to tak i tady (zatím jsem neměl možnost vyzkoušet)? Netušíte, co s tím?
Re: Prázdný první řádek v novém doumentu
celé vláknoPouzivate :r nebo :0r? (ono je to skoro jedno, v jednom pripade je prazdny radek na zacatku, v druhem na konci... i kdyz to druhe vadi mene).
(takze tady to tak neni, protoze se pouziva 0r, a navic se prazdny radek maze)
Mimochodem, dalsi mozna trivialni zjednoduseni scriptu clanku: misto exe "$d" staci $d, misto normal 1G staci 1
velmi pekny clanok
celé vláknoVelmi pekny clanok, probelm je pekne podany a vysvetleny. Aj ked vyuzivam moznosti VIMu tak na 10%, hned si vyrobim dalsie sablonky pre rozne typy LaTeX dokumentov. S takychto clankov sa da dost naucit, hlavne ked je problem podany kompaktne. Je vidiet ze autor stravil par hodin nad manualmi a pouzivanim VIMu. Naozaj prinos. Dakujem.
Chybycka vo funkcii SKEL_on_new_file
celé vláknoAk sa totiz gvim spustil so suborom, ktoreho pripona nebola medzi skeletonmi, vypisalo vim nepeknu seriu chyb. Toto je mozne odstranit nasledovne:
namiesto riadkov:
if i == "B"
exe "0r " . substitute(skels, "\n.*$", "", "")
call SKEL_replace()
else
....
treba napisat:
if i == "B"
let s_file = substitute(skels, "\n.*$", "", "")
if filereadable(s_file)
exe "0r " . s_file
endif
call SKEL_replace()
else
....

