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í
×
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

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

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

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

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 34
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 16
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 10
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (15%)
     (17%)
     (22%)
     (15%)
     (18%)
     (16%)
     (15%)
    Celkem 181 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Code completion ve VIMu

    22.5.2005 17:55 | Přečteno: 2578× | 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.