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 17:11 | Zajímavý projekt

Na Kickstarteru běží kampaň na podporu USB RTC pro Raspberry Pi aneb hodiny reálného času (nejenom) pro Raspberry Pi připojitelné přes USB.

Ladislav Hagara | Komentářů: 2
dnes 16:00 | Nová verze

Google Chrome 90 byl prohlášen za stabilní. Nejnovější stabilní verze 90.0.4430.72 přináší řadu oprav a vylepšení (YouTube, Pete LePage z devadesátek :-)). Zdůraznit lze použití HTTPS jako výchozího protokolu při nezadání protokolu. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 37 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
včera 11:00 | Zajímavý projekt

Björn Ståhl představil desktopové prostředí Pipeworld postavené na Arcanu, tj. na jeho vlastním display serveru, herním enginu a realtimovém multimediálním frameworku v jednom. Videoukázka na YouTube.

Ladislav Hagara | Komentářů: 6
včera 10:00 | Komunita

Společnost System76 prodávající počítače s předinstalovaným Pop!_OS nebo Ubuntu oznámila, že v Pop!_OS 21.04 bude nové desktopové prostředí COSMIC vycházející z GNOME. Představení prostředí v příspěvku na blogu.

Ladislav Hagara | Komentářů: 5
včera 09:00 | Nová verze

nnn (Wikipedie), někdy také n³, je neortodoxní terminálový správce souborů. V den čtvrtých narozenin projektu byla vydána nová verze 4.0. Její kódový název je Sushi.

Ladislav Hagara | Komentářů: 0
včera 08:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2021-3472 v X.Org Serveru a XWaylandu. Chyba je zneužitelná k lokální eskalaci práv (pokud X server běží pod právy roota). Opravena je v upstream verzích X.Org Serveru 1.20.11 a XWaylandu 21.1.1.

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

Bylo vydáno FreeBSD 13.0. Podrobnosti v poznámkách k vydání.

Fluttershy, yay! | Komentářů: 0
včera 01:00 | Zajímavý projekt

Collapse OS vznikl jako svobodný operační systém pro počítače v případě „pomalého kolapsu civilizace“ sestavitelné a udržovatelné ze součástek rozšířených zařízení jako kalkulátory Texas Instruments, a to za účelem programování dalších jednočipů pro automatizaci. Autor po roce a půl projekt označil za hotový, ale plánuje pokračovat v jeho vylepšování. Ke stažení jsou zdrojové kódy (pod GNU GPLv3) a dokumentace.

Fluttershy, yay! | Komentářů: 0
13.4. 14:33 | Komunita

Nvidia podpoří projekt Common Voice částkou 1,5 milionu dolarů. Mozilla píše o demokratizaci a diverzifikaci hlasové technologie. Nvidia prostě použije otevřenou databázi hlasových záznamů k trénování svého systému Jarvis, viz úvodní přednáška CEO Nvidie Jensena Huanga na NVIDIA GTC 2021.

Ladislav Hagara | Komentářů: 0
13.4. 09:00 | IT novinky

Tento týden probíhá virtuální konference NVIDIA GTC 2021 (GPU Technology Conference). Doporučit ke zhlédnutí lze úvodní přednášku CEO Nvidie Jensena Huanga. Z kuchyně představil celou řadu novinek (NVIDIA Grace CPU, NVIDIA DRIVE Atlan, AI-Capable Supercomputer Alps, …). Dění na konferenci lze sledovat na Twitteru.

Ladislav Hagara | Komentářů: 3
Kolik času v průměru denně trávíte videohovory/-konferencemi? (ať už v práci, škole nebo soukromě)
 (51%)
 (13%)
 (16%)
 (11%)
 (7%)
 (1%)
 (2%)
Celkem 324 hlasů
 Komentářů: 7, poslední 8.4. 12:14
Rozcestník

Code completion ve VIMu

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