Mam takovy trochu OT problem. Obcas jsem nucen pracovat v billovych okynkach, a aby byla prace trochu snesitelnejsi, pouzivam jako standardni editor vim, resp. gvim. Mam ho naasociovan na potrebne pripony i zaktivovan v menu pres prave tlacitko. Kdyz otevru libovolny soubor pres menu, je vse O.K. Problem nastava v pripade, ze se dvojklikem pokusim otevrit nejaky soubor, nebo se o to pokusi nejaky program (napr. po instalaci chce otevrit readme.txt), pricemz cesta k souboru obsahuje mezeru v ceste (napr. c:\Program Files\JavaSoft\jre\1.3\README.txt). Editor se sice otevre, ale text nikde - misto plne cesty k souboru se ve spodnim radku objevi pouze cosi jako c:\Program. Nevite nekdo, jestli se s tim da neco delat?
Názory k článku
Jak si přizpůsobit Vim (2)
Re: Dlouhe nazvy s mezerou ve windoze
celé vláknoMyslim, ze jedno reseni je v tom, nepouzivat dlouhe nazvy, napr. FAR umi spoustet prikaz a jako parametr zadat jmeno souboru dlouhe nebo kratke. Pokud je ale asociace udelana pro Pruzkumnik nebo podobny srandicky a ta asociace je v registru, nepomohlo by dat do registru neco jako command=gvim "%1" misto tusim ted tam je gvim %1? Ale nejsem Windows guru, takze to neni na 100%, ale zkusil by si hrat s tema uvozovkama:)
Re: Dlouhe nazvy s mezerou ve windoze
celé vláknoDiky, pomohlo to! Jenom ted musim vsechno rucne preeditovat:-(
Preformatovani dlouheho radku
celé vláknoVim pouzivam spolu s muttem pro psani mailu. Nektere mailery (zpravidla OE...) posilaji velice dlouhy text jakozto jeden radek, coz je dosti neprijemne pri reply, kdy je mnoho textu na jednom radku. Existuje nejaky neprilis slozity postup jak tento radek preformatovat? Kdyby se navic na zacatku kazdeho radku objevilo "vetsitko", nemelo by to chybu...
Re: Preformatovani dlouheho radku
celé vláknonajedete na zlobivy radek a napisete "vgq"
Re: Preformatovani dlouheho radku
celé vláknogqap
tabulátory
celé vláknoKeď sa tu už rieši nastavenie tabulátorov.
Zatiaľ sa mi nepodarilo nastaviť ViM tak, aby pri kombinácii so smartindent sa na začiatku riadku nedávali tabulátory, ale medzery, ale zas aby som mohol tam kam ja chcem vložiť tabulátor a ten sa nezmenil na medzery.
Vie niekto riešenie?
Re: tabulátory
celé vláknoPokud vám dobře rozumím, tak stačí nastavit :set expantab, aby se tabulátory normálně expandovaly, a když potřebujete občas vložit skutečný tabulátor, použijete ^V^I (resp ^V TAB, což je totéž).
Vim mi nechce zvyraznovat syntaxi
celé vláknoKdyz jsem ve svem editoru vim zadal sy on (zkracena verze prikazu syntax on), odpovedel mi neco jako function not implemented. Podobne jsem ke zvyraznovani nedonutil ani emacs. Verze vim je pomerne nova, tusim 5.6. Moje verze redhatu je pomerne osekana - nechybi mi nektery balicek? Mohl by mi, prosim, autor clanku naznacit, v cem by mohl byt problem? Dekuji predem.
Re: Vim mi nechce zvyraznovat syntaxi
celé vláknoa spoustite to prikazem "vi", anebo "vim" ? zkuste vim, eventualne si dejte do startovnich skriptu "alias vi=vim"
Re: Vim mi nechce zvyraznovat syntaxi
celé vláknoU RedHatu je to prave v tech baliccich (pokud to opravdu nepoustite jako vi).
Zaklad je vim-common, dalsi jsou vim-X11, vim-enhanced, vim-minimal (v podstate jen vi).
vim-common uz by mel umet prave syntax highlighting a v podstate vsechny standardni operace.
vim-enhanced obsahuje vestavene interpretry skriptovacich jazyku pouzitelnych v makrech (perl, python), apod.
Na zaver vim-X11 - necekane verze gvim.
Rozvrzeni balicku je takove zhruba od verze 5.0 (driv si to nepamatuji)
HOWGH!
Re: Vim mi nechce zvyraznovat syntaxi
celé vláknoMam vim 5.7, Redhat 7.0 CZ s balicky vim-common a vim-minimal. Je mozne, ze potrebujiu vim-enhanced? Zajimave je, ze, jak jsem psal, mi syntaxi nezvyraznuje ani emacs.
Re: Vim mi nechce zvyraznovat syntaxi
celé vláknoPotrebujete vim-enhanced. Balik vim-minimal je maximalne ostrouhana verze vim,
ktera je urcena pro zachranovani systemu v krizovych situacich. Je hrube optimalizovana na pamet, takze je kompilovana bez naproste vetsiny vimovskych vymozenosti. Kdyz pustite jen vi, tak nebehne prave tohle. Vim kompilovane s barvickami a spoustou dalsich veci spustite prikazem vim (resp. gvim). Jo a v emacsu urcite pomuze M-x global-font-lock-mode.
Re: Vim mi nechce zvyraznovat syntaxi
celé vláknoDekuji. Az na to sezenu misto :-), balicek si instaluji. Co se tyce toho emacsu, tak jsem to takhle sice nastavil se zapisem do startovaciho souboru jako vysledkem. Jenze pri spusteni to hlasi, ze je problem.
Re: Vim mi nechce zvyraznovat syntaxi
celé vláknono ja bych se asi napred podival jak je nastavena promena TERM :)
:retab
celé vláknoMam nastaveno noexpandtab, ale po :retab se mi mezery na zacatku radku na tabulatory neprevedou. (Smaozrejme mam tabstop=2 a chci, aby se mi prevedly radky s nejmene dvema mezerama). Co delam spatne? Uznavam, ze staci :%s/^\(^I*\)<mezera><mezera>/\1^I/g
ale kdyz uz o tom autor napsal, a ono to nefunguje...
Re: :retab
celé vláknoPřečtěte si prosím ještě dvakrát :h :retab (proč dvakrát? i když je to jasné, taky jsem to pochopil až napotřetí ;-)
:retab nahrazuje pouze řetězce, KTERÉ UŽ NĚJAKÝ TABULÁTOR OBSAHUJÍ. Použijete-li :retab!, převedou se mezery na tabuláory všude, ale to všude znamená i uprostřed řádku, což není vždycky to, co člověk chce.
Jeste k makrum...
celé vláknoChci namapovat klasiku Ctrl-I jako italiku, ale po odeslani:
:imap ^I <i></i><Esc>F
Re: Jeste k makrum...
celé vláknoProblém je v tom, že
1. ^I není něco jako tabulátor, ale přesně tabulátor; namapujete-li na něco ^I, bude totéž dělat i tabulátor, nevím jestli přesně tohle chcete
2. tabulátor je whitespace a tudíž se musí stejně jako jiné obskurnosti před-... hm, neumím to česky, ale musíte před něj dát ^V, přesněji tři ^V (viz :h using_CTRL-V a :h :map-special-keys), takže stisknete ^V^V^V^I, napíše se ^V^I a namapuje se ^I
Re: Jeste k makrum...
celé vláknoNepovažuji mapování Ctrl-I za šťastný nápad. Obecně vřele nedoporučuji mapovat jakékoli kombinace Ctrl-cosi, Alt-cosi apod. Dřív jsem to tak dělával a vždy jsem musel zkoumat, jaké funkce má na ty kombinace navázány nová verze Vimu a co s tím dělat. Nakonec jsem přešel na mapování nespeciálních kláves (sekvence začínající čárkou). Je to sice neobvyklé, ale jsem s tím navýsost spokojen. Podrobný popis bude ve třetím dílu.
Re: Jeste k makrum...
celé vláknoMapování ^I není dobrý nápad, protoľe je to tabulátor. Ale pokud vím, ľe tabulátor nebudu pouľívat, tak proč ne? To samé platí platí v drobné obměně pro ostatní Ctrl- kombinace. Dneska uľ jsou obsazené prakticky vąechny. Takľe při přemapování vľdycky něco přepíąete a je na vaąem rozhodnutí, jestli tu původní věc potřebujete nebo ne.
Pokud se jedná o mapování Alt-, tak tam je to mnohem horąí. Vim totiľ povaľuje Alt- za totéľ, jako nastavení 8. bitu, takľe výsledkem je nějaký znak z horní poloviny ASCII. Namapujete-li pak Alt-a na něco, bude totéľ dělat i á ('a'|0x80). Bohuľel se mi nepodařilo přesvědčit Brama, ľe je to pitomost, takľe Alt- kombinace jsou nepouľiltelné pro soubory, kde chcete psát česky.
Mám patch, který to *neuvěřitelně ąpinavým* způsobem spraví pro Gtk GUI, takľe ho ani raději nikomu nepoąlu. Na pořadnou opravu teď nemám čas, takľe závěr: Alt- [zatím] raději nemapovat.
Pokud jde o mapování nespeciálních sekvencí, tak s tím mám zase ąpatné zkuąenosti já. Asi si vľdycky vyberu nějaké nevhodné, ale pokaľdé jsem pak někde potřeboval psát právě ji...
Jinak pokud jde o italiku v HTML, tak tohle je podle mne zbytečné mapovat nějak speciálně. Stačí mít někde namapovanou funkci doplňující párový tag (já to mám na Ctrl-q, které tak jako tak duplikuje Ctrl-v) a < na <>[doleva], takľe píąu <I[Ctrl-q] a je to a funguje to universálně.
OT: cestina???
celé vláknoJaktoze mam xakru ve svym prispevku spatne cestinu?
Psal jsem to v linksu v putty (se zapnutym prevodem 1250/8859-2) z Win2000 (nechteje vedet, proc) a vsechno se zobrazilo dobre, ale ted vidim, ze jsou z, s, a t spatne (takze tohle pisu radeji bez diakritiky).
Vi nekdo, jak se to mohlo stat?
Re: Jeste k makrum...
celé vláknoNo jo ale ty sekvence zacinajici carkou jsou pouzitelne jen ve visual modu, ne? Ja vim, bude to ve tretim dile, tak ja si pockam :-)
Re: Jeste k makrum...
celé vláknoSekvence začínající čárkou budou použitelné v tom režimu, do kterého si je namapujete. Já je mám ve vkládacím. Takže třeba tu kurzívu v HTML (ale i v LaTeXu) píši jako ,ee (což jsou jen dvě klávesy, yeti jich ke stejnému účelu mačká pět - dva přeřazovače a tři různé klávesy).
Připadá mi, že z hlediska rychlosti psaní je celkem jedno, jestli na začátku stisknu (a držím) Ctrl nebo čárku. Je to jen záležitost zvyku či konvencí a ta čárka mi podle mého soudu dává větší svobodu. Problém s psaním speciálních sekvencí je snadno řešitelný (stačí počkat, až vyprší timeout, nebo ji přerušit <Esc>a či podobně). Pokud si zvolíte sekvence, které jsou velmi vzácné (tvrdím, že ty mé jsou), prakticky to nebolí.
Tvrzení "vím, že to nebudu potřebovat" považuji za celkem odvážné. V praxi jsem ověřil jeho neplatnost ;-)
Re: Jeste k makrum...
celé vláknoMáte pravud, že ,ee je samozřejmě rychlejší.
Je potřeba zvolit vhodný kompromis mezi málo universálními mappingy, které mi ovšem ušetří práci pouze částečně, a obrovskou spoustou speciálních, které si ovšem nezapamatuji.
Já jsem v tomto případě dal přednost spíš universálnosti, protože pak můžu psát všechno
Re: Jeste k makrum...
celé vláknoJá to kombinuji. Na nejběžnější konstrukce mám speciální mapování (třeba ,tab mi udělá základ tabulky, což je celkem hodně značek) a kromě toho mám definováno ,. zhruba odpovídající vašemu Ctrl-Q (v HTML přidá párové </ZNAČKA>, v LaTeXu \end{prostředí}).
Vim a LaTeX
celé vláknoZkuste se podivat na:
http://www.ekf.vsb.cz/KAT/K156/MC/vimlatex/index.html
Vim a LaTeX
celé vláknoZkuste se podivat na:
http://www.ekf.vsb.cz/KAT/K156/MC/vimlatex/index.html
Syntaxe HL & PHP & Objects? ..
celé vláknoZdravim,
dekuji za pekny clanek ("no dobre, od te doby cu tu jsou q nemusim dekovat ;)))", a chtel bych se zeptat na problem se $subj. On sice vim (z rh7.1, 6.0 neco) syntaxy zvlada ale jen do te doby, nez napisu v html $mujobjekt->neco();
od te chvile je veksera dalsi synatxe az do ?> znicena. Nemate na to nejaky recept?
Uhh, uz to mam, ja zapomel ze phtml neni asociaovane jako php na php syntax HL ;)
Tak tedy zbyude jen to podekovani...

