abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 11:00 | Zajímavý software
Na Good Old Games je v rámci aktuálních zimních slev zdarma k dispozici remasterovaná verze klasické point&click adventury Grim Fandango, a to bez DRM a pro mainstreamové OS včetně GNU/Linuxu. Akce trvá do 14. prosince, 15:00 SEČ.
Fluttershy, yay! | Komentářů: 6
dnes 07:22 | Pozvánky

Konference InstallFest 2018 proběhne o víkendu 3. a 4. března 2018 v Praze na Karlově náměstí 13. Spuštěno bylo CFP. Přihlásit přednášku nebo workshop lze do 18. ledna 2018.

Ladislav Hagara | Komentářů: 0
včera 20:22 | Nová verze

Před měsícem byla vydána Fedora 27 ve dvou edicích: Workstation pro desktopové a Atomic pro cloudové nasazení. Fedora Server byl "vzhledem k náročnosti přechodu na modularitu" vydán pouze v betaverzi. Finální verze byla naplánována na leden 2018. Plán byl zrušen. Fedora 27 Server byl vydán již dnes. Jedná se ale o "klasický" server. Modularita se odkládá.

Ladislav Hagara | Komentářů: 6
včera 10:22 | Zajímavý článek

Lukáš Růžička v článku Kuchařka naší Růži aneb vaříme rychlou polévku z Beameru na MojeFedora.cz ukazuje "jak si rychle vytvořit prezentaci v LaTeXu, aniž bychom se přitom pouštěli do jeho bezedných hlubin".

Ladislav Hagara | Komentářů: 13
včera 07:22 | Komunita

Od 26. do 29. října proběhla v Bochumi European Coreboot Conference 2017 (ECC'17). Na programu této konference vývojářů a uživatelů corebootu, tj. svobodné náhrady proprietárních BIOSů, byla řada zajímavých přednášek. Jejich videozáznamy jsou postupně uvolňovány na YouTube.

Ladislav Hagara | Komentářů: 0
11.12. 19:22 | Nová verze

Ondřej Filip, výkonný ředitel sdružení CZ.NIC, oznámil vydání verze 2.0.0 open source routovacího démona BIRD (Wikipedie). Přehled novinek v diskusním listu a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
11.12. 09:22 | Pozvánky

V Praze dnes probíhá Konference e-infrastruktury CESNET. Na programu je řada zajímavých přednášek. Sledovat je lze i online na stránce konference.

Ladislav Hagara | Komentářů: 2
9.12. 20:11 | Nová verze

Byl vydán Debian 9.3, tj. třetí opravná verze Debianu 9 s kódovým názvem Stretch a Debian 8.10, tj. desátá opravná verze Debianu 8 s kódovým názvem Jessie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 9 a Debianu 8 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 11
9.12. 00:44 | Nová verze

Po 6 měsících vývoje od vydání verze 0.13.0 byla vydána verze 0.14.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 88 vývojářů. Přibylo 1 211 nových balíčků. Jejich aktuální počet je 6 668. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 4
8.12. 21:33 | Nová verze

Po půl roce vývoje od vydání verze 5.9 byla vydána nová stabilní verze 5.10 toolkitu Qt. Přehled novinek na wiki stránce. Současně byla vydána nová verze 4.5.0 integrovaného vývojového prostředí (IDE) Qt Creator nebo verze 1.10 nástroje pro překlad a sestavení programů ze zdrojových kódů Qbs.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 976 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Editor VIM prakticky - I

    28. 4. 2003 | Pavel Kysilka | Návody | 82617×

    Znáte VIM? A schválně: na kolik procent si myslíte, že využíváte jeho možností? Na 50 %? Na 20 %? Nebaví vás už cvakat na klávesnici 2-3x více kláves než je nutné?

    Na úvod

    Na úvod jsem začal trochu otázkami. Skutečně tento editor má mnoho možností. Před nějakým časem jsem si myslel, že ho ovládám alespoň na 10 %, ale jeho možnosti jsou skoro neomezené. Záleží na tom, co od něj chcete. Po přečtení nějakých těch manuálů a triků vždy nabudu dojmu, že toho příliš moc neumím a možná 5 % jeho možností využívám. Jednou za čas se učím nové grify. Určitě se to vyplatí. Jednou za čas také zjistíte, že pár postupů při editaci se opakuje a že vás již nebaví jenom psát na klávesnici a dělat sekretářku. Potom vám více času a úsilí zbyde na jiné činnosti, třeba na psaní dalšího a efektivnějšího kódu. Na internetu jsem si sehnal nějaké ty návody a prošel pár konferencí a stránek věnovaných tomuto editoru.

    Předpokládám, že VIM již trochu ovládáte. Tento článek by měl pomoci především těm, kdo editor jednou za den spustí a pak ho při odchodu z práce možná vypnou. Ale i začátečníci a ti, kteří ho používají občas, si přijdou na své. A nebo pokud vám vadí, že místo jednoho příkazu používáte tři. Ti, kdo o tomto editoru vědí že existuje, zde mohou vidět jeho sílu a možnosti.

    Očekávám, že se umíte alespoň trochu pohybovat po textu jinak než šipkami a pomocí kláves PgUp a PgDn a že regulární výrazy budou něco, co používáte denně. Absolutní začátečníky trochu zklamu. Těm doporučím seriály od pana Satrapy na root.cz. Také jsem se z nich učil a začínat se má především od začátku. A přiznám se, že i při psaní tohoto článku jsem se ještě stihl pár triků naučit. Nicméně určitě zde mohou něco najít i uživatelé, kteří píší v něčem jiném. Alespoň možnosti tohoto editoru.

    Nebudu se zde rozepisovat o programování funkcí, piškvorkách ve VIMu, mapování kláves, použítí VIMu na skriptování, registrech a značkách.

    Tyto vlastnosti nepoužívám. Nějak jsem zatím nenašel důvod je používat a čas se je učit. Nerad bych zde psal o něčem, co neznám či nemám alespoň trochu odzkoušeno. Počítejte s tím, že většina věcí je z praxe a pokusím se je doplnit komentáři a kde ten či onen příkaz použít. Nečekejte příliš ucelený sled informací.

    Přiznám se, že mám trošku extrémní styl editace textu. Avšak pro mě velice učinný. Ne náhodou říkám, že v jiných editorech nepracuji, protože je to málo "drsné".

    Odložte myši, ruce k sobě na klávesnici (editor je stavěn na to, aby človek měl ruce u sebe a nedělal zbytečné pohyby). Seberte odvahu a maximální úsilí. Bude vás bolet hlava z velkého množství informací a prsty z nových prstokladů.

    Možná se vám bude hodit naučit se psát malíčky a ovládat klávesy <ENTER> a <SHIFT>. Další pomůckou bude asi to, že se umíte pohybovat po textu pomocí h, j, k, l <CTRL+Y>, <CTRL+E>, 0, $. Skákat po slovech pomocí w, W, e, E, b, B. Výhodou je také, pokud umíte přímo změnit pomocí kláves příkazový mód na vkládací mód (I, i, a, A, R, O, o, s, S).

    Nuže, ostře do toho. Počítejte opravdu s "výživnejším" textem. A jediný způsob, jak pár věcí pochytit, je zkoušet je při psaní, používat je a nebát se občas podivat do manuálu VIMu.

    1. Píšeme hned
    2. Závorky
    3. Doplňujeme cokoli
    4. Prohlížení souborů a práce s nimi
    5. Změny velikosti písmen a hodnot číslic
    6. Rychlejší pohyb v textu
    7. Spouštění a užití externích příkazů
    8. Ukládání a práce se soubory
    9. Vyhledávání
    10. Vyhledávání ve více řádcích
    11. Hledání ve více souborech
    12. Nahrazovačky
    13. Zapamatování
    14. Příkazy na příkazové řádce
    15. Formátování textu
    16. Práce s více soubory najednou
    17. Triky v bashi při spouštění editoru
    18. Sloupcové bloky
    19. Další triky
    20. Kryptování
    21. Hexadecimální a jiné hodnoty znaků
    22. Editace přes FTP
    23. Zvýrazněná syntaxe
    24. Nápověda
    25. Námět k dalšímu článku
    26. Náměty k diskusi

    Píšeme hned

    Ne vždy je efektivní pohybovat se po textu šipkami a přepínat se mezi jednotlivými módy pomocí kláves <Ins> <Esc>. Jednotlivé módy lze měnit podstatně rychleji. Pro použití těchto zkratek musíte být vždy v příkazovém módu.

    • I Jdi na první tisknutelný znak na řádku zleva a zapni vkládací mód.
    • i Zapni vkládací mód v pozici kurzoru.
    • a Zapni vkládací mód na pozici kurzoru a jdi na za daný znak za pozicí kurzoru.
    • A Jdi na konec řádky a zapni vkládací mód na pozici kurzoru.
    • R Zapni přepisovací mód na pozici kurzoru.
    • r + ( nějaký znak ) Přepiš znak na pozici kurzoru a zůstaň v příkazovém módu. Vhodné při přepsání obdobně jako zkratka xp na prohození písmen.
    • O Vlož prázdnou řádku nad řádku, na níž je kurzor, jdi na ni a zapni vkládací mód.
    • o Vlož prázdnou řádku nad řádku, na níž je kurzor, jdi na ni a zapni vkládací mód.
    • s Smaž znak na pozici kurzoru a zapni vkládací mód.
    • S Smaž celou řádku a zapni na ní vkládací mód.

    Závorky

    • * # g* g# Najdi stejné slovo, na kterém je kurzor, vpřed či vzad.
    • % Skoč na párovou závorku. Není nad 4 podmínky a 3 cykly v nich a k tomu uživatele Windows, který to luští v kódu.
    • matchit.vim Neškodí stáhnout si tento plugin, pokud ho nemáte již v editoru.

    Ti, kteří dělají v php, mohou navíc skákat po html tazích, značkách <? ?> a klíčových slovek typu if a else. I když není nad závorky a toto hodnotím jako jeden z rozmáhajících se neduhů php.

    Doplňujeme cokoli

    Zde se pracuje ve vkládacím (insert) módu.

    • <C-N><C-P> Slovo.
    • <C-X><C-L> Zbytek dané řádky.
    • /<C-R><C-W> Slovo v příkazové řádce VIMu.
    • /<C-R><C-A> Slovo v příkazové řádce VIMu.
    • cast_nazvu_souboru_<C-X><C-F> Soubor je možné doplňovat i s cestou.
    • :set ignorecase Ignoruj rozdíl malých a velkých písmen při vyhledávání.
    • :syntax on Spustit zvýrazněnou syntaxi.

    Prohlížení souborů a práce s nimi

    • :Ex Seznam všech souborů v daném adresáři. Je možno i vyhledávat. Po stisknuti <Enter> vyberete daný soubor.
    • :Sex To samé, avšak je to v novém okně.
    • :ls Seznam bufferů.
    • :cd .. Klasický příkaz cd.
    • :args Seznam otevřených souborů.

    Změny velikosti písmen a hodnot číslic

    • guu Všechna velká písmena v řádce na malá.
    • gUU Všechna malá písmena v řádce velká.
    • g~~ Prohoď velikosti písmen.
    • vEU Slovo na velká písmena.
    • vE~ Prohoď velikosti písmen ve slově.
    • ggguG Celý soubor na malá písmena.
    • gf Otevři soubor, který se jmenuje jako slovo pod kurzorem.
    • ga Hexadecimální hodnota daného znaku.
    • <C-A>,<C-X> Zvyš či uber hodnotu daného čísla pod kurzorem.
    • <C-R>=5*5 Kalkulačka. Vlož do textu nějaké číslo na základě výpočtu.
    • K Zobraz manuálovou stránku, existuje-li, která se jmenuje jako slovo, na němž je kurzor.

    Rychlejší pohyb v textu

    • '. Jdi na začátek poslední modifikované řádky.
    • `. Jdi na poslední editované místo.
    • . Proveď poslední příkaz.
    • <C-O> Jdi na poslední pozici, kde jsi něco modifikoval.
    • <C-I> To samé, ale jde se zpětně.
    • :ju(mps) Seznam všech Vašich pohybů v textu.
    • :history Historie použitých příkazů.
    • :his c Historie příkazové řádky VIMu.
    • :his s Historie příkazove řádky vyhledávání.
    • q/ Okno s vyhledáváním v historii příkazů.
    • q: Okno s historii použitých příkazů, možno i nějaký vybrat.
    • :<C-F> Tato okna ukončíte příkazem :q.

    Spouštění a užití externích příkazů

    • :r!ls.exe Čti výstup z nějakého externího programu. Pokud se občas divíte, jak kolegové posílají do konferencí údaje přímo z příkazové řádky, tak toto je jeden ze způsobů. Ideální je ve spojení mutt+VIM nebo Elinks+VIM (stačí stisknout klávesu <F4> nad textareou).
    • !!date Spusť externí program, který přepíše danou řádku, na které jste.
    • :%!sort -u Celý obsah souboru nech projet příkazem sort. Případně se dají takto třeba odstraňovat duplicity nebo vytřídit a setřídit dumpy z databází. Je možno určit řádky v textu, na které se dá poslat daný příkaz systému.
    • :'a,'b!sort -u Aplikuj externí příkaz na filtrovaný obsah.
    • !1} sort -u Aplikuj externí příkaz na odstavce (doslova třiď odstavce).

    Ukládání a práce se soubory

    • :wn Ulož a jdi na další buffer. Proč psát :w a potom :bn.
    • :bd Odstraň buffer ze seznamu bufferů (tedy editovaný soubor).
    • :sav php.html Ulož soubor pod jiným jménem a zruš originál.
    • :sav! %<.bak Ulož soubor s jinou příponou, než má.
    • :rew Jdi na začátek seznamu bufferů (rewind).
    • :bn Na další buffer.
    • :bp Na předchozí buffer.
    • ;:brew Jdi na první buffer v seznamu.
    • :sball,:sb Všechny buffery na jednu obrazovku.
    • [I Zobraz řádky obsahující daný vzorek. Třeba před tím než začnete psát nějakou dvouřádkovou nahrazovačku. Někdy je lepší se podívat, zda se vyplatí nahrazovat a zda počet nahrazovaných výrazů je alespoň roven třem. Někdy je lepší daný text smazat a potom pomocí Ctrl+X+P nebo Ctrl+X+N ve vkládacím módu doplnit. Ale v rámci pocvičení nahrazovaček, proč nenahrazovat.

    Vyhledávání

    Ti, co znají sílu regulérních výrazů, tak přes ně i vyhledávají. Případně pojmenovávají ve zdrojácích celé struktury tak, aby se jim dobře i následně lépe vyhledávalo a nahrazovalo. Ideální je mít zapnutou volbu set incserach. Pozor ale na ni. Vyhledávání ve větších souborech může trošku trvat a především, pokud píšete části hledaného výrazu, tak VIM okamžitě hledá. Na příklady vyhledávání si vezmu všelijaká slova. Podobnost s čímkoli je čistě náhodná.

    • /jabko/e Jdi na daný vzorek. Podstatně lepší než jenom vyhledat slovo a potom pomocí e jít na konec slova. Pokud chcete potom za tímto slovem začít editovat stačí stisknout a.
    • /jabko/e+1 To samé, ale o 1 řádku vpřed.
    • /hruska/s Vyhledej vzorek a jdi na jeho první znak.
    • /^fu.*(.*)/ Vyhledej první funkci.
    • /^[A-Z]\+/ Vyhledej všechny řádky začínající nejméně jedním z písmen A-Z.
    • /\<Word\>/i Hledej celé slovo Word.
    • /\<\d\d\d\d\> Najdi hexadecimální číslo.
    • \<\d\{4}\> Najdi hexadecimální číslo trošku lépe zapsané.

    Vyhledávání ve více řádcích

    Víceřádkové vyhledávání. Tady už začíná to pravé vyhledávání a používání regulérních výrazů.

    • /<!--\_p\{-}--> Vyhledání HTML komentářů.
    • /Word\_s*WordPad/i
      Vyhledej všechny mezery mezi slovy Word a WordPad přes více řádků a ignoruj při vyhledávání velikosti písmen.
    • /Cinzano\(\_.\)*Martini Vyhledej vše mezi slovy Cinzano a Martini přes více řádků.
    • :h \_ Nápověda k vyhlížení u regulárních výrazů.

    Hledání ve více souborech

    • :bufdo /hledany retezec
      :argdo /hledany retezec
      Vyhledávání ve více souborech najednou bez přepínání mezi buffery.

    Nahrazovačky

    Asi znáte. Jeden ze značných spořičů práce. Pokud se něco třikrát a více opakuje, nahrazuju. Nemá smysl něco bezhlavě bušit do klávesnice. Ale je dobré koukat na to, co nahrazujete a zálohy nejsou od věci. Smazat zálohy potom můžete vždy. Někdy je to hodně nebezpečné. Dá se takto ušetřit mnoho práce anebo i vytvořit hodně zajímavých náhodných chyb ve zdrojovém kódu.

    • :.,+10s/Word/WordPad/igc Od aktuálního řádku až po následující 10. řádek nahrazuj a ignoruj velikosti písmen a přitom se mě ptej, zda se to má skutečně nahradit.
    • :%s/\r//g Zrušení pozůstatků od kolegů z WIN. Především to zbytečně kreslí po obrazovce syntaxí. I když toto dělá někdy i mc.
    • %s/\s*$//g Smazání prázdných konců řádek. Někdy to dělá paseku v konfigurácích a zbytečně jsou velké soubory. Další výhodou je, že Vám skáče kurzor ve VIMu přesne po koncích slov na řádcích.
    • :%s= [^ ]\+$=&&=
      :%s= \S\+$=&&
      Zduplikuj všechna slova na koncích řádků v celém souboru.
    • & Proveď poslední nahrazovačku.

    Zapamatování

    • :s/\(.*\):\(.*\)/\2 : \1/ Prohození dvou slov okolo dvojtečky.
    • :%s/^\(.*\)\n\1/\1$/ Smaž všechny duplicitní řádky.
    • :%s/^.\{-}pdf/new.pdf/ Smaž první výskyt řetězce v každém řádku.
    • :%s/<!--\_.\{-}-->// Zlikviduj všechny HTML komentáře. Případně se to dá použít na vymazání céckových komentářů (kdyby náhodou chtěl někdo ten zdroják číst a vy ho zrovna nemáte v oblibě).
    • :%s/<|([^ ]*\)\_[^>]*/<\1/ Občas mi grafik dodá HTML vytvořené pomocí nějakého příliš chytrého generátoru. Graficky to sice vypadá hezky, ale pracovat se s tím už nedá. A nebo Vám dojde nejaké HTML z Wordu či Excelu, a Vy potřebujete udělat čisté HTML z 900kB velkého balastu. Vyhlížení Vám dá trošku zabrat na naučení, ale je neskutečně učinné.
    • :s/Word/<c-r>a/g
    • :%s/\f\+\.gif\>/\r&\r/g | v/\.gif$/d | %s/gif/jpg/ Více příkazů v příkazové řádce VIMU za sebou.
    • :%s/\$\(promenna1\|promenna2\)/$this->\1/gc Nahraď všechny vyjmenovaná slova ve výrazu za jedno. Ideální pokud přejmenováváte proměnné či měníte neobjektové funkce na objektové.
    • :%s:\(\w\+\)\(.*\s\+\)\(\w\+\)$:\3\2\1: Prohoď poslední a první sloupce mezi sebou.
    • %s/^.*(\s*[-]\{60}\)[-]*$/\1/g Možná se Vám stane, že potřebujete zformátovat komentáře či oddělovače programového kódu /* -- */ nebo // ---- po někom na určitý počet znaků. Toto je malý příklad.
    • :'<,'>s/Petra/Petra100'/g Označení nějakého textu ve vizuálním módu a potom provést nějakou tu nahrazovačku. Co se týce označení ve vizuálním módu, tak super věc je, že můžete označovat pomocí vyhledávání výrazu či písmene.
    • J Zdvojuje linky, ruší mezery. Případně můžete udat počet či označit pomocí bloku.
    • :g+neco Proveď nějaký příkaz editoru. Asi nejčastěji na mazání nějakých řádků, ale dá se použít téměř na cokoli.
    • :g/\<Excel\>/ Zobraz řádky, kde se vyskytuje dané slovo.
    • :g/<pattern>/z#.5 Zobraz všechny řádky s čísly řádek, na nichž se vyskytuje daný vzorek.
    • :g/^\s*$/d Zruš všechny prázdné řádky.
    • :%s/\(^\s*$\n\)\{2,\}/\1/g Nahraď všechny skupiny za sebou jdoucích řádek s mezerami pouze jednou řádkou s mezerami. Vhodné na úpravy zdrojáků.

    Příkazy na příkazové řádce

    • :g!/^dd/d Smazání prázdných řádek.
    • :v/^jahoda/d Smaž všechny řádky, které neobsahují slovo jahoda. v na začátku má stejný význam jako g!. možna vidíte spojitost s parametry příkazu grep.
    • :v/./.,/./-1join
      :g/^$/,/./-j
      Vlož do sebe prázdné řádky.
    • :g/<input\|<form/p Vypiš řádky obsahující tato dvě slova.
    • :g/^/pu _ Vlož prázdnou řádku. Toto případně řeším přes o (před řádku či O před řádku). Nevýhodou je však, ze se přepnete do Insert módu.
    • :g/^/m0 Reverse souboru. Doslova změníte opačně pořadí řádků souboru. Ideální pro čtení logů, ale i proto jak převést text do skoro nečitelné podoby a pro souteže "mladý luštitel". 0 značí číslo řádky, od které provádíte reverzi.
    • :g/Kafe/t$ Zkopíruj řádky obsahující slovo Kafe na konec souboru.
    • :.,$g/^\d/exe "norm! \<c-a>"
    • :.,$g/^\d/exe "norm \<c-p>" Od aktuálního řádku po konec souboru sniž či zvyš hodnotu čísla.

    Formátování textu

    • Někdy se vyplatí nastavit textwidth=cislo (nebo tw=cislo). Obvykle 75 znaků. Nekonečné řádky nemusí být všude žádoucí. Jedna z mých neřestí je doslova dělat nekonečné řádky a ne vždy si uvědomuju, že ten mail by mohl mít třeba zalamovanou délku a na konci řádky, že se nepíše středník.
    • gq<CR>
    • gqap Zformátuj text mezi odstavci.
    • ggVGgq Zformátuj celý soubor. gg - začátek souboru, G - konec souboru. Přes Visual mód celý soubor označíme. A pak provést nějaký příkaz.
    • : ce, le, ri <cislo> Odsaď nebo formátuj text.

    Práce se s více soubory najednou

    • :argdo %s/foo/bar/ Ve všech otevřených souborech.
    • :bufdo %s/foo/bar/ Ve všech bufferech.
    • ;
    • :windo %s/foo/bar/ Ve všech oknech.
    • :argdo exe '%!sort'|w! Dlouho jsem řesil to, jak kolega s pokusem o editor s názvem "homesite" nahrazuje ve více souborech. Stačí připsat před nahrazovacku bufdo, windo, argdo a už se nahrazuje či provádí nějaký příkaz.

    Triky v bashi při spouštění editoru

    • ls | vim - Editace streamu (třeba výstupu příkazu).
    • vim -o file1 file2 Otevři ve VIMu oba soubory zároveň za sebou v jednom.
    • vim -d file1 file2 Otevří rozdíl obou souborů.
    • vim -c "/tady_je_ta_zapomenuta_zavorka" soubor.c Otevři soubor na přesné pozici.
    • Příklady užití příkazu.

      vim -c "%s/ABC/DEF/g | w" *.txt
      vim -c "argdo %s/ABC/DEF/g | w" *.txt
      vim -s "convert.vim" file.txt

    Sloupcové bloky

    Rozdíl je především v označené oblasti ve vizuálním režimu. Pracujete ve sloupcích.

    Případy využití:

    • Stáhnu si stránku přímo do editoru z Elinksu v textovém režimu. Potom vykopíruji pouze text, který potřebuji.
    • Mám bloky dat takovéhoto typu:

      a1, b1, c1
      a2, b2, c2

      a potřebuji je třeba dostat do tvaru:

      a1,a2,b1,b2,c1,c2

      Postup:

      Nejdříve odřádkuji aneb nahradím čárku čárkou a <Enter> %s/,/,<Ctrl+Enter>/g

      Potom stačí, překopírovat pomocí sloupcových bloků text. Pozor, nesmí se překrývat, případně udělejte mezeru za první slovem, za které překopírováváte daný sloupcový blok.

    Další triky

    • <C-R><C-W> Doplň slovo pod kurzorem na příkazovou řádku.
    • <C-R><C-A> Doplň slovo pod kurzorem do vyhledávání.
    • :scriptnames Seznam pluginů ve Vašem editoru.
    • map <f9> :w<CR>:!c:/php/php.exe %<CR>
      map <f2> :w<CR>:!perl -c %<CR>
      Namapování určitého příkazu na nějakou klávesu.
    • :g/^/exec "s/^/".strpart(line(".")." ", 0, 4) Vlož číslo řádky do souboru, případně se dá řesit ne moc efektivně přes cat -n soubor > dalsi_soubor.
    • :set number Očíslování řádek.
    • << nebo >> Posuň řádky o odstavec doleva(pokud je místo) či doprava.
    • :e cast_nazvu_souboru_<tab> Dokončovaní jmen souboru pomocí tabelátoru.
    • Dalším trikem může být např.: zadáte n v příkazové řádce, případně část jména souboru, pokud jsou podobných nazvů. Potom pohybem po šipkách <nahoru\|dolu> už doplňujete jména souborů, co jste měli otevřené s tímto příkazem.
    • gf Otevři soubor pod kurzorem. Super vychytávka. Zkuste si otevřit nějaký inkludovany soubor či soubor pod HTML odkazem. Podstatně rychlejší než se proklikávat menu. Aneb další věc, o níž si můzete s myší v ruce pouze nechat zdát.

    Kryptování

    • :h :X Nápověda ke kryptování.
    • :X Kryptování souboru. Patrně to nebude nějaké zázračné a superbezpečné kryptování, ale na jednodušší použítí by mělo stačit. Jen si to chce pamatovat heslo.

    Hexadecimální a jiné hodnoty znaků

    • ;:digraphs Zobraz tabulku decimálních, hexadecimálních a oktalových hodnot znaků.
    • :h dig Patřičná nápověda.
    • i<C-K>e'
      i<C-V>233
      i<C-Q>233
      Vkládání těchto hodnot.
    • ga Zobraz tabulku decimálních, hexadecimálních a oktalových hodnot daného znaku.

    Editace přes ftp

    • vim ftp://moje_ipecko/public_html/index.html Přístup přes ftp přímo k editovanému souboru. Není nad věci na dálkové ovládání. Pokud by někdo vědel, jak editovat přímo přes SSH, tak ať dá vědět v diskuzi. Teď nemám na mysli připojit se přímo přes ssh, ani vytvořit tunel.

    Zvýrazněná syntaxe

    • :set syntax=perl Nastav syntax daného jazyka. Každý rozumný jazyk či konfigurační soubor v Linuxu má syntax do editoru VIM. A odvodit název syntaxe jde jednoduše. Většinou nějaká zkratka z názvu. Nenosit v hlavě, stačí trocha intuice. Třeba set syntax=sql a dump z databáze vypadá hned lépe.
    • :set syntax off Vypni zvýrazňovanou syntax. Hodí se u větších souborů. Taktéž, pokud by se Vám soubor načítal příliš dlouho, tak je možno stisknout Ctrl+C. Tím zrušíte načítání třeba souboru o velikosti 10 a stovek MB. Nicméně VIM v pohodě načte soubor o velikosti stovek MB. Ale na následné zpracování takto velkých souborů je mnohdy lepší grep, sed a podobné linuxové nástroje.

    Nápověda

    Tou se zde nechci příliš zabývat. Zde jen napíši, že obvykle stačí zadat v příkazové řádce :h <nejake slovo>, část výrazu, nějakou klávesovou zkratku. A většinou to editor najde. A nebo ji lze vyvolat pomocí <F1>.

    Námět k dalšímu článku

    • Vcelku bych byl rád, kdyby někdo napsal něco o editoru Emacs. I když říkám, že nic lepšího než VIM asi není, tak přesto by mě zajímalo, co vše lze v Emacsu dělat. A možná v čem je lepší. Tedy napsat něco podobného, co jsem zde napsal, avšak o Emacsu.
    • Neříkám, že nemám ještě nějaký nápad a pár postřehů. Tak pokud čas dá, tak možna vyjde další díl.

    Náměty k diskusi

    • Jakékoli triky a vychytávky.
    • Co by se Vám mohlo hodit k práci a co řešíte již dlouho.
    • Nějaké dobré odkazy na "spořiče práce".
    • Nerad bych zde viděl flame typu "VIM nebo Emacs je nejlepší" a to je celý příspěvek. Předem díky.

    Cniry 'Tbyqrasvfu' Xlfvyxn
    Vg?

           

    Hodnocení: 41 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    28.4.2003 10:21 hugis
    Rozbalit Rozbalit vše dalsi zdroj
    donedavna este celkom ziva konferencia o VIMu, z archivu ktorej som sa dozvedel mnohe zaujimave: http://www.mageo.cz/.chatroom/39103?r=/public_chatrooms.html
    28.4.2003 18:08 Martin Krauskopf | skóre: 9
    Rozbalit Rozbalit vše dalsi zdroj
    Tady bych snad dodal jen to, ze momentalne neni tolik ziva, protoze se nikdo na nic nepta, coz znamena ze Vim je jedna perfektne zdokumentovanej a druhak, ze jsou momentalne vsichni diskutujici spokojeni :) Nicmene pokud se zeptate, urcite vam bude vcelku rychle odpovezeno. Nejednou zkusenosti mohu potrvdit . (A to se obcas ptam vazne na ptakoviny :) ) A za dodam 3). Zakladatel auditka tam ma vystavenej svuj konfigurak, kterej tez nejednu otazku zodpovi. Takze se pripojuji k doporuceni kolegy a pripojuji ze je to asi nejlepsi zdroj v cestine ;)
    28.4.2003 11:01 Abraxis
    Rozbalit Rozbalit vše A stejne...
    ...je nejlepsi Ferda! ;)
    theo avatar 28.4.2003 11:41 theo | skóre: 15 | Rožnov ... hádej který?
    Rozbalit Rozbalit vše Konečně
    Hurá, konečně někdo napsal něco pořádného. Už to tady začalo něják upadat :) S tím doplňováním na příkazové řádce (myslím tu ve VIMu) – myslím, že normálně funguje i (teda aspoň mě jo). Taky jsem narazil na zajímavý konfigurační soubor ke stažení od českého autora s českými komentáři. http://www.iglu.cz/wraith/LP000033/s_vim/vimconfig.html Minimálně je to dobrý studijní materiál.
    Sine ira et studio
    28.4.2003 17:05 Petr Mach
    Rozbalit Rozbalit vše Konečně
    Ten odkaz je spravne:

    http://iglu.cz/wraith/odkaz.html?/s_vim/vimconfig.html

    Ten uvedeny brzy ztrati platnost.
    30.9.2003 09:19 M.I.B
    Rozbalit Rozbalit vše aspell
    Konfiguracni priklad zminuje aspell a s nim i poznamku o uzivatelich Win - nemaji smulu !! aspell byl jiz portovan i do tohoto pseudosystemu: http://aspell.net/win32/
    28.4.2003 11:46 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Píšeme hned?
    Rozhodně tam chybí c. Já osobně nejčastěji začínám vkládní textu cw, cW, c}, cG, c% a podobně, dokonce i ctznak a cfznak používám poměrně často. Oproti tomu je např. popsané s celkem k ničemu.
    28.4.2003 12:23 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Píšeme hned?
    Obecně schéma [operátor][pohyb] je asi jeden z nejlepších nápadů ve vi a v textových editorech vůbec, a v článku se z něj moc neobjevilo. Např. vE~ pro změnu velikosti písmen ve slově funguje, ale je proti logice vi, protože zbytečně leze do visuálního módu, logické je (i když na stejný počet kláves) g~E, resp. jen ~E, pokud máte zapnutý option tildeop. Např. g~iw resp. g~iW změní velikost znaku slově, ať jste v něm kdekoli, ne jen na začátku, obecně něcoiw (W) udělá něco se slovem, ať jste v něm kdekoli. Dál: Stálo by za to rozlišit, co funguje v kterém módu. Např. můj oblíbený (insert) Ctrl-O, který na jeden příkaz přepne do normálního módu, tam není, a z článku by si člověk myslel, že to někam skočí (což dělá v normálním módu)
    :set syntax off
    neexistuje, má to být
    :syn off
    {, } skáčou po odstavcích '" skáče na místo, kde jsme byli v souboru naposledy (vhodné jako autocommand při otevření souboru) '[, '] skáčou na začátek a konec naposledy změněného textu r funguje i na bloky (stejně jako x, s, c, ...) zejména u sloupcových se to často hodí. gd, gD hledá deklarace, Ctrl-] hledá v tags. Doplňování je zrovna jedna z věcí, kde se vyplatí používat funkce, normální je doplňovat cokoli inteligentním tabulátorem, příklad viz :h ins-completion % funguje i na #if a spol. K Ctrl-v bych asi doplnil, že s x lze psát hexadecimálně, a s u lze zadat Unicodový znak (očekává to čtyři hexadecimální čislice). Než gf, který otevře soubor ve stejném okně, spíš používám Ctrl-wf, ale Ctrl-wněco by asi chtělo samostatný odstavec...
    29.4.2003 09:25 Vuk
    Rozbalit Rozbalit vše Píšeme hned?
    > :set syntax off > neexistuje, má to být Existuje to ve tvaru :set syntax=off Asi se vloudil překlep ;-)
    29.4.2003 14:13 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Píšeme hned?
    :set syntax=off
    použije soubor syntaxe off.vim ;-) To není žádné vypnutí. Rozdíl snadno zjistíš tak, že si nějaký soubor syntax/off.vim vyrobíš. Stejně tak bych mohl říci, že syntaxi vypne
    :set syntax=foobar
    protože žádný fooobar.vim v defaultní distribuce není.
    6.5.2003 11:00 Vuk
    Rozbalit Rozbalit vše Píšeme hned?
    Vidíš, takhle do hloubky jsem nešel. Prostě jsem to vyzkoušel s rovnítkem, zvýraznění to vyplo (lépe řečeno zvýraznění zmizelo), tak jsem si řekl, že to asi bude delší varianta :syn off To je hned :-)
    28.5.2004 17:02 Nocni_stin
    Rozbalit Rozbalit vše Re: Píšeme hned?
    Vypnutí je:
    :set syntax=
    :-)
    14.9.2004 11:54 Davexx
    Rozbalit Rozbalit vše Re: Píšeme hned?
    Nejjednodušeji:

    :sy on

    :sy off
    28.4.2003 20:03 pavel 'goldenfish' kysilka
    Rozbalit Rozbalit vše Píšeme hned?
    ono by se toho naslo vice, co by se jeste dalo dopsat. to c je super vec.pouzivam taky.
    jeste jeden dil mam castecne pripraveny. zalezi jak bude cas a jak se rychle prokousu napovedou.
    28.4.2003 12:51 bhole
    Rozbalit Rozbalit vše super...
    milujem vim a tento clanok mi priniesol slnko do duse... absolutne super article...
    28.4.2003 19:19 rajo AT platon.sk
    Rozbalit Rozbalit vše super...
    Vsimol si niekto, ze namiesto sipok nesluzia klavesy "ghjk" ale "hjkl" ? Tot chybicka se vloudila ... ale inac super clanok ;)
    28.4.2003 19:55 pavel 'goldenfish' kysilka
    Rozbalit Rozbalit vše super...
    diky za opravu, ty klavesy na pohyb jsou blizko sebe a chybka se vloudila.
    28.4.2003 19:57 pavel 'goldenfish' kysilka
    Rozbalit Rozbalit vše super...
    jeste jednou oprava opravy. ghjk je vedle hjkl.trochu jsem se upsal.
    28.4.2003 20:29 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše super...
    opraveno.
    29.4.2003 10:05 Vuk
    Rozbalit Rozbalit vše Dobrá práce
    I já se připojuji k pochvale autora. Takovéto přehledy nikdy nejsou na škodu. Dost prakticky využitelná se jeví i relativně nová možnost "folding" -- schování určité části textu za zástupný řádek, a to zejména pro lepší přehled. Autor záměrně vynechal registry, ty jsou však -- alespoň pro mě -- velmi přínosné. Do několika z nich se mi při načtení určitého typu souboru pomocí autocommandu načtou pravidelně užívané "výstřižky", které pak stačí pouze opakovaně "vlepovat". Také je dobrý příkaz (zmíněný v jiné souvislosti) :digraphs -- např. pro psaní německých přehlásek není (nebo o tom nevím) pod Linuxem klávesa jako ve Windows. A k tomu lze dighraphs také využít. Další užitečná funkce pro mě jako spisovatele :-) jsou zkratky (:ab) Na závěr tip přímo autorovi: Zkuste se vyhnout vazbám jako "další _výhodou_ je", "_výhodou_ je také". V každém takovém slově lze ušetřit jeden úhoz ;-) -- v těchto souvislostech by podle mě bylo spíše na místě _výhoda_. Používat v takovýchto větách 7. pád je něco jako psát namísto správného "_cos_ to udělal?" přehnané "_co jsi_ to udělal".
    29.4.2003 14:26 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Dobrá práce
    Na psaní německých přehlásek je dead_diaeresis, který je normálně na ` (aspoň na mé české klávesnici klávesnici). S tím sedmým pádem je to tak; protože jde o trvalou vlastnost Vimu, měl by tam být první. Dalo by se ale argumentovat klidně i opačně -- používal-li jsem chvíli Vim, a pak přešel k Emacsu, mohl bych napsat ,,další výhodou Vimu bylo...`` ;-)
    6.5.2003 11:15 Vuk
    Rozbalit Rozbalit vše Dobrá práce
    K té přehlásce, mám asi pod Linuxem klávesnici nastavenou jinak, protože pod tou klávesou, jak píšeš, mám standardní anglické znaky (které jsou ovšem mnohem více využívané). Vlastně ty přehlásky píšu jen ve jménech, to přes CTRL-K u: nebo :u není nic zdlouhavého. Navíc pak lze pro ono jméno užít automatické doplňování přes CTRL-N . K druhému odstavci. Jo, jo. Jen bych v takové větě přidal "... pro mě". Ona tam ta funkce asi zůstala, i když bys Vim opustil. :-)
    29.4.2003 12:00 bhole
    Rozbalit Rozbalit vše mensie problemiky s vimom
    mam teraz take mensie problemiky s vimom, ktory je v slacku 9.0. nefunguje mi zadne mazanie. teda vzdy musim skocit pred znak a zmacknut delete.. a taktiez nemozem v (insert) rezime vymazat prazdny riadok, (resp. odriadkovanie = \n v C :). da sa to napr. tak, ze mysou oznacim jeden prazdny znak (stvorec) a potom zmacknem delete. v mdkckom vime z 9.0 to bezalo bez problemov. rozmyslam, ci nemam problem s nastavenim klavesnice.. mam ju ako 102 znakovu.. dikes moc
    29.4.2003 13:11 Martin Krauskopf | skóre: 9
    Rozbalit Rozbalit vše mensie problemiky s vimom
    ad mazani v normal modu) proste zmackni 'X' ;) ad backspace/"mazani \n" v insmodu) :h bs aneb set bs=2 Vyzkouseno ve slacku 8.1, 9.0 nicmene tim to asi nebude ;)
    30.4.2003 10:39 Tomas Klein
    Rozbalit Rozbalit vše mensie problemiky s vimom
    ve Slacku je standardne vim nastaven jako klasicky vi. pouzijte
    set nocompatible
    a bude se zase chovat tak, jak jste zvykly :-)
    1.5.2003 11:35 bhole
    Rozbalit Rozbalit vše mensie problemiky s vimom
    to je jasne :))) ale tym to nie je..
    10.6.2003 11:36 Jan Hrádek
    Rozbalit Rozbalit vše jste neco k vyhledavani
    takove docasne "set ignorecase" pri vyhledavani/nahrazovani zapnete \c.
    28.5.2004 16:47 Nocni_stin
    Rozbalit Rozbalit vše Regulérní výrazy
    Nechci být detailista, ale co mě ve škole učili, sou regulární výrazy a ne regulérní. :-) Ale jinak super článek, určitě mi některé věci hodně usnadní editaci. Díky
    14.9.2006 21:35 Filip
    Rozbalit Rozbalit vše Re: Editor VIM prakticky - I
    Díky, zajímavé. Jen marně hledám jak nahradit např. čárku za konec řádku. Poradí někdo? Díky.
    6.10.2007 15:18 huhu
    Rozbalit Rozbalit vše Re: Editor VIM prakticky - I
    asi myslis toto:
    s/,/\r/
    18.12.2008 12:58 Michal Kormoš
    Rozbalit Rozbalit vše Re: Editor VIM prakticky - I

    Skôr toto:

     

    s/,/\n/

     

    10.12. 11:10 mark12
    Rozbalit Rozbalit vše Re: Editor VIM prakticky - I
    A letterhead is simply an addition to a sheet that indicates the business and some important information about it. https://www.55printing.com/cheap-color-copies/

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.