Vim je velmi mocný nástroj, Není to tak dávno, co jsem ve Vimu zpracovával nějaký výstup, který bylo třeba promazat, upravit atd... v jedné půlce otevřený vzor z minula, ve druhé editovaný soubor a kolega koukal jak z jara, co že to mám za pěknej editor. Když jsem mu řekl, že je to Vim (který nemá rád), hned se v něm chtěl něco naučit. Vydrželo mu to přesně do té doby, než jsem mu dal svůj Vimí cheat list :) Jinak není to tak dávno, co tu někdo na rootu psal někdo moc krásný Vimí vtip - "Vim používám už 3 roky... nevím, jak ho vypnout" :)
Myslím, že je to přesně naopak - u terminálového Vimu může (ale nemusí, když se to nastaví) některé zkratky sežrat emulátor terminálu. U GVimu je to všechno řízeno přímo Vimem a když se vypnou GUI zbytečnosti (:help guioptions), tak se naopak získá to lepší z obou světů - klasický Vim se všemi zkratkami, navíc možnost používat myš i pro něco jiného, než mnohdy tupou selekci, navíc automatický přístup k selection bufferu i clipboardu (registry + a *) + barvičky + styly (podtržení spellcheckerem, kurzíva, tučné písmo, samozřejmě všechno opět plně konfigurovatelné atd.) + řízení stylu kurzoru (to jde v terminálu ovlivnit jen někde).
Ale nelze jen chválit - u GVimu je špatné zachycování výstupu například při použití K (man stránky).
Po pravde kvuli ruznym smyslu i nesmysluplnym mapovanim klavesovych zkratek v X11 nepouzivam ve Vimu Alt- ani Win-. To si obcas vezme windowmanager, nebo nejaka podobne vypecena globalni aplikace.
Vse ostatni mi tam funguje tak jak ocekavam (tedy neocekavam ze num-lock se do Vimu dostane spravne. Ony obcas skrz nejake mezivrstvy mezi Xservery neprojdou spravne ani numericke klavesy, bez ohledu na aplikaci do ktere pisu).
Jako bonus ziskam spravnou integraci vsech Xovych clipboardu - tedy ctrl-c, ctrl-v pro jine aplikace (abych si to nemusel pamatovat, tak pres ikonku) a vedle toho normalni Xovy middle click pro pastnuti toho co jsem mysi oznacil. Dale ziskavam lepsi barevna schemata. Ziskavam menu pro zridka pouzivane funkce (jako prepnuti barevneho schematu kvuli promitani na projektor, aby byl tmavy text na svetlem pozadi), a tak podobne.
- ESC tam na tom pruhu velmi pravdepodobne bude, pokud budete ve vimu (ne jako vycnivajici tlacitko a neni to dobry napad, ale i tak na ten problem nejspis nikdo realne nenarazi)
- rikam to pomerne casto - je dobre si premapovat capslock na ESC, bez ohledu na tom, zda ma klavesnice sesty radek. Na macOS to navic jde trivialne.
- ESC neni jedina moznost, jak uz tu padlo...
- rikam to pomerne casto - je dobre si premapovat capslock na ESC, bez ohledu na tom, zda ma klavesnice sesty radek. Na macOS to navic jde trivialne.
Sice to často říkáte, ale stále jsem proti. To mám psát makra jenom se shiftama? Je to děsná otrava, v průběhu psaní názvu pořád přehazovat levý a pravý shift. Sadisto :-D
Viem, ze je to vtip, ale FYI som zatial lepsi Vim GUI ako MacVim nenasiel. (je mozne, ze sa to za posledne roky zmenilo, uz nejaky cas Mac nepouzivam) Ono to bolo tak trochu dane tym, ze na OSX nie su standardne klavesove skratky v konflikte s tymi vo Vime, takze okrem klasickych klavesovych skratiek si mal copy/paste (⌘+C/⌘+V) ktory naviac fungoval bez ohladu na mod v ktorom si, dalej napriklad ⌘+S pre save (opat bez ohladu v akom rezime si), ale hlavne tam fungovalo ⌘+Q ktore Vim ukoncilo.
Ja pouzivam vi/vim taky uz pres 20 let. Na zacatku jsem z nej vyskakoval ctrl-Z, ale pak se mi ty editory jaksi zacaly mnozit v pameti :-).
Ovsem po 20+ letech s nim stejne umim jenom ty nejzakladnejsi veci - find dopredu, find dozadu skok na zacatek a na konec a na cislo radku a tim to asi tak konci. Ovsem na editovani konfiguracnich files je uplne nejlepsi.
Rozdil mezi vi a vim poznam jenom podle toho, ze u vi nefunguji sipky kdyz jsi v insert mode.
Vim pro mě není nějaký konkrétní program, ale spíš myšlenka/princip, který je možný pluginovat/zapnout/nastavit na stále větším počtu různých softů. Když zmáčknu „ESC k“ a posunu se nahoru, tak jsem ve „starém dobrém Vimu“ a je jedno, jestli je momentálně zabalen do Brackets/EvilMode/Spacemacs/Gvim/Idea/Chrom/man... nebo zrovna momentálně v tomto příspěvku Wasavi pod Operou :-)
Ja mam ViM rad hlavne preto, ze sa s nim da komunikovat pomocou jednoducheho cloveku zrozumitelneho jazyka. Z vetnych clenov ViM pozna prisudok (tranzitivny aj netranzitivny), predmet, cleny a dokonca aj prislovky.
Na random editovanie konfigurakov/textu mam samozrejme ViM, no napr. v IDEcku NetBeans bez jVi pluginu nedokazem napisat ani ciarku. Neviem si predstavit ako by som sa hybal v zdrojakoch scrollovanim, mysou alebo sipkami a menil nejaky kod...
Vyskytlo se tu pár lidí, kteří mají zájem o můj cheat list, což bez nějakých vysvětlivek nedává úplně smysl, mám tam jen věci, které si nepamatuji a většinou bez popisu, jen třeba jako příklad - :%s/co/zaco/g . Ale pokud je o ViM opravdu zájem a měla by zájem i redakce, můžu napsat nějaký přiměřený návod. Sám nedokážu říct, jestli by to byl jeden článek, nebo jestli toho nakonec nevyšťárám dost na dva až tři díly. Jen předem upozorňuji, že ve ViMu nepoužívám žádné rozšíření (maximálně syntax highlighting), protože si nechci zvykat na něco, co mi potom jinde bude chybět. Z toho důvodu se tím odmítám zabývat, nehledě k tomu, že nejsem ani trochu zvědavej na flame o tom, který rožšíření jsou na co lepší :)
Používám jen ta rozšíření, která jsem si sám napsal. Je jich totiž hodně, často bývají zbytečně komplikovaná, zabírají klávesové zkratky, které mám již obsazené, dělají to jinak, než jak potřebuji...
Na druhou stranu jsem se od mnohých rozšíření nechal inspirovat a použil z nich třeba jen 1-2 řádky.
Cheat list si nedělám, protože například %s používám denně, dokonce ještě v sofistikovějších podobách. Zkus si znakem "*" označit nějaké slovo a pak udělat :%s//nahrada/g. Hodí se to zejména když těch záměn dělám víc za sebou.
Syntaktických chyb moc nemívám, protože na většinu běžných konstrukcí používám své generátory stubů. Kromě toho využívám korektor pravopisu, který je závislý na typu editovaného textu. Pokud bych například napsal "import" v C#, tak se mi automaticky přepíše na "using".
Na ten zbytek mám ve Vimu integrováno volání kompilátoru, který mi syntaxi nejen zkontroluje, ale po úspěšném překladu mi automaticky spustí testy.
Na UNIXu a Linuxu jsem dlouhou dobu (tj. tak do roku 1998) používal převážně Emacs. Ale potom, co jsem získal callback a později pomalou linku jsem prostě v terminálu nemohl čekat na překreslení Emacsu - začal jsem tedy víc používat "vi" a dále "vim". Nicméně, jako člověk rozkročený mezi řadu systémů (ultrix, digital UNIX, Irix, HPUX, Linux, BSD, SunOS, Solaris) jsem prostě vi, alespoň v základu, ovládat musel. Až později jsem se učil další vychytávky, takže teď - v roce 2016 - mohu hrdě napsat: Umím tak 9 až 10 procent toho, co VIM nabízí...
Pro osvojeni nejen zakladu, ale i pokrocilejsich funkci ve VIMu doporucuji http://vim-adventures.com/ ;)