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 13:44 | Komunita

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13.

    Ladislav Hagara | Komentářů: 1
    dnes 04:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) třetí RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Apple představil iPhone 17e a iPad Air s čipem M4.

    Ladislav Hagara | Komentářů: 6
    včera 21:11 | Zajímavý software

    Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | IT novinky

    Byla oznámena spolupráce GrapheneOS s Motorolou. Podrobnosti v tiskové zprávě. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

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

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.2.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Komunita

    Volí se dvě místa v Radě openSUSE. Seznamte se se čtyřmi kandidáty. Členové projektu openSUSE mohou hlasovat od 1. do 8. března. Výsledky budou oznámeny 9. března.

    lkocman | Komentářů: 3
    1.3. 19:22 | IT novinky

    Společnost OpenAI uzavřela dohodu s americkým ministerstvem obrany o poskytování technologií umělé inteligence (AI) pro utajované sítě americké armády. Firma to oznámila několik hodin poté, co prezident Donald Trump nařídil vládě, aby přestala využívat služby společnosti Anthropic.

    Ladislav Hagara | Komentářů: 12
    1.3. 13:33 | IT novinky

    Technologická společnost Anthropic v noci na dnešek oznámila, že se obrátí na soud kvůli rozhodnutí ministerstva obrany označit ji za bezpečnostní riziko dodavatelského řetězce poté, co nevyhověla jeho požadavkům týkajícím se používání umělé inteligence (AI). Prezident Donald Trump krátce před tím uvedl, že nařídil federálním úřadům postupně ukončit využívání jejích AI technologií. Spor mezi firmou vyvíjející chatbot Claude a

    … více »
    Ladislav Hagara | Komentářů: 15
    28.2. 15:44 | Upozornění

    Zemřel Rob Grant, spolutvůrce kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (7%)
     (0%)
     (12%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 998 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Code completion ve VIMu

    22.5.2005 17:55 | Přečteno: 2638× | HOWTOs | poslední úprava: 25.5.2005 09:51

    Ve zprávičkách jsem zahlédl informaci o doplňování kódu ve skvělém editoru VIM, který se učím používat. Pořád mi v něm ale něco chybělo, rozhodl jsem se tedy IComplete vyzkoušet (domovská stránka a screenshoty). Nakonec to nebylo tak jednoduché, jak by se mohlo na první pohled zdát.

    ICompletion je napsáno v C, na Vim je napojeno pomocí skriptu a nových vlastností Vim7, které umožňují doplňování kódu závislé na kontextu. Po napsání strukturovaného typu se Vám v dolní čáasti obrazovky otevře další okno, které obsahuje seznam členů a metod objektu se stručným popisem. IComplete dokáže napovídat také seznam argumentů právě psané funkce, jména lokálních i globálních proměnných či funkcí, jména statických členů a metod objektu. Přestože nedosahuje kvalit doplňování některých komerčních vývojových prostředí, nabízí to, co spousta lidí již dlouho ve Vimu hledá.

    K funkci je potřeba Vim7, který jsem objevil snad jen v distribuci Gentoo. Musel jsem tedy provést stažení a kompilaci kódu, což se překvapivě neprovádí známou trojicí, ale systémem Aap.

    mkdir ~/aap
    cd ~/aap
    cvs -d:pserver:anonymous@cvs-pserver.sf.net:80/cvsroot/a-a-p checkout Exec
    cd Exec
    su
    ./aap install
    

    Update Aap se provede posloupností:

    cd ~/aap/Exec
    ./aap uninstall
    cvs update
    ./aap install
    
    Aap nemusíte instalovat jako root, pak se Vám nahraje do ~/lib a vytvoří link v ~/bin, později ale stejně budete pravděpodobně instalovat Vim7 pro celý systém, takže je to možná zbytečné.

    Po instalaci aap si vytvoříme adresář ~/viminstall a v tomto adresáři spustíme:

    aap -f http://www.a-a-p.org/vim7/main.aap
    su
    aap install
    

    Pro update programu:

    aap uninstall
    aap update
    aap install
    

    Nyní bychom měli mít nainstalovaný Vim7 v /usr/local. Podíváme se tedy na IComplete, kde je situace již podstatně jednodušší. Stáhneme poslední verzi, kterou najdeme zde, rozbalíme a použijeme klasiku. Problém může nastat, pokud v systému máte nainstalované exuberant-tags, ale alias ctags neexistuje, pak předejte configure ještě parametr CTAGS_CMD=exuberant-ctags.

    ./configure --datadir=/usr/local/share
    make
    su
    make install
    

    Máme vše nainstalováno, ale ještě není vyhráno. Vytvoříme si testovací soubor test.cc s obsahem:

    #include <string>
    #include <iostream>
    
    using namespace std;
    
    typedef struct pokus {
       int a;
       string b;
       char c;
    } pokus;
    
    main() {
       pokus p;
       string str = "blabla";
       p.a = str.length();
       cout << str << ", pocet znaku: " << p.a << endl;
    }
    

    Provedením icomplete -l 15 -c 6 test.cc byste měli dostat

    class:pokus | scope:
    a:                            int a
    b:                            string b
    c:                            char c
    

    To už máme téměř vyhráno, aby nám fungovalo doplňování i u STL tříd, musíme do souboru /etc/icomplete.conf přidat cesty k hlavičkovým souborům. U mě na Mandriva Linuxu LE2005 se nacházejí v adresáři /usr/include/c++/3.4.3. Nyní zkuste spustit icomplete -l 15 -c 14 test.cc a pokud máte štěstí dostanete přehled členů a metod třídy string.

    Spusťte nainstalovaný Vim /usr/local/bin/vim a vyzkoušejte napsat za str tečku nebo ->, mělo by fungovat též doplňování statických členů a metod po ::. Doplňování kódu si vynutíme stiskem Ctrl-X, Ctrl-U, rebuild cache provedeme Ctrl-X, Ctrl-X, Ctrl-U, co chceme doplnit vybíráme vpřed pomocí Ctrl-J nebo zpět Ctrl-K.

    Doufám, že Vám tento návod pomohl a nemuseli jste si vyměnit několik mejlů s autorem jako já :-). Další informace naleznete na stránce projektu.

           

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

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

    Komentáře

    Vložit další komentář

    22.5.2005 20:53 doubleZ | skóre: 24 | blog: smazano
    Rozbalit Rozbalit vše mozna
    heh, mozna to zkusim:-) kazdopadne diky za zapis, pokud to budu zkouset, tak mi zapis pomohl, btw, jak je na tom vim7 se stabilitou?
    elviin avatar 25.5.2005 00:17 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
    Rozbalit Rozbalit vše Re: mozna
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.