GNU/Linux >> Znalost Linux >  >> Linux

Ctags a Taglist:Převeďte Vim Editor na krásný prohlížeč zdrojového kódu pro jakýkoli programovací jazyk


Foto s laskavým svolením:mint imperial

Tento článek je součástí probíhající série Vi / Vim Tipy a triky. Jako programátor nebo správce systému budete neustále procházet zdrojové kódy a skripty shellu.

Níže jsou uvedeny některé typické činnosti, které můžete provádět při procházení souboru zdrojového kódu:

  1. Přechod na definici funkce zadáním názvu funkce.
  2. Přechod na definici funkce z „volání funkce“.
  3. Opětovný návrat k volání funkce z definice.
  4. Zobrazení prototypu/podpisu funkcí nebo proměnných.
  5. Zobrazení počtu funkcí v souboru atd.


V tomto článku se podíváme na to, jak efektivně provádět výše uvedené činnosti v Editoru Vim pomocí ctagů a pluginu pro seznam tagů.

Techniky uvedené v tomto článku pomocí editoru Vim lze použít pro jakýkoli programovací jazyk.

I. Ctags Package Install and Configure

Krok 1:Instalace balíčku ctags

# apt-get install exuberant-ctags

(or)

# rpm -ivh ctags-5.5.4-1.i386.rpm
warning: ctags-5.5.4-1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing...          ########################################### [100%]
   1:ctags            ########################################### [100%]

Krok 2:Generování ctagů ve zdrojovém kódu

Přejděte do adresáře, kde se nachází váš zdrojový kód. V níže uvedeném příkladu jsem uložil veškerý zdrojový kód programování v C do adresáře ~/src.

# cd ~/src

# ctags *.c

Příkaz ctags vytvoří značky názvu souboru, které budou obsahovat všechny požadované informace (tagy) o souborech programu *.c. Následuje částečný výstup položek tagů v souboru ctags.

# cat tags
AddAcl  dumputils.c     /^AddAcl(PQExpBuffer aclbuf, const char *keyword)$/;"   f       file:
ArchiveEntry    pg_backup_archiver.c    /^ArchiveEntry(Archive *AHX,$/;"        f
AssignDumpId    common.c        /^AssignDumpId(DumpableObject *dobj)$/;"        f

II. 4 výkonné použití Ctags v editoru Vim

1. Přejděte k definici funkce zadáním názvu funkce pomocí :ta

V níže uvedeném příkladu vás :ta main zavede k definici hlavní funkce v mycprogram.c

# vim mycprogram.c
:ta main

Pomocí této funkce můžete přejít k libovolné definici funkce zadáním názvu funkce.

2. Přechod na definici funkce z ‚volání funkce‘ pomocí Ctrl + ]

Když je kurzor pod voláním funkce, stiskněte CTRL + ] pro přechod na definici funkce. V následujícím příkladu, když je kurzor ve volání funkce ssh_xcalloc, stisknutím Ctrl + ] se dostanete k definici funkce ssh_xcalloc.

# vim mycprogram.c
            av = ssh_xcalloc(argc, sizeof(char *));

Poznámka: Pokud ctags nemohly najít tuto funkci, zobrazí se ve stavovém řádku vim ve spodní části následující zpráva:Značka E426 nenalezena ssh_xcalloc

3. Návrat zpět k volání funkce z definice pomocí Ctrl + t

Stiskněte CTRL + t, čímž se znovu vrátíte k volání funkce.

4. Procházení seznamu názvů funkcí, které mají podobné názvy

V tomto příkladu :ta přejde na definici funkce, jejíž název začíná get, a také vytvoří seznam pro navigaci s relevantními funkcemi.

# vim mycprogram.c

:ta /^get

Následující příkazy vim lze použít k procházení relevantními funkcemi

  • :ts – zobrazí seznam.
  • :tn – přejde na další značku v tomto seznamu.
  • :tp – přejde na předchozí značku v tomto seznamu.
  • :tf – přejde na funkci, která je na prvním místě v seznamu.
  • :tl – přejde na funkci, která je na konci seznamu.

III. Taglist Plugin:Vim Editor jako konečný prohlížeč zdrojového kódu

Výše uvedené značky Ctag možná neposkytly pocit procházení zdrojového kódu, protože jsou řízeny příkazy namísto vizuálního procházení kódu. Pokud tedy chcete procházet zdrojovým kódem jako v prohlížeči souborů, musíte použít plugin vim taglist, díky kterému je vim prohlížeč zdrojového kódu.

Autor pluginu vim taglist Yegappan Lakshmanan o tom říká jako

Plugin „Tag List“ je plugin prohlížeče zdrojového kódu pro Vim a poskytuje přehled o struktuře souborů zdrojového kódu a umožňuje vám efektivně procházet soubory zdrojového kódu pro různé programovací jazyky.

Krok 1:Stáhněte si plugin Vim Taglist

Stáhněte si jej z webu vim.org, jak je uvedeno níže.

$ cd /usr/src

$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

Krok 2:Nainstalujte plugin TagList Vim

$ mkdir ~/.vim # if the directory does not exist already

$ cd ~/.vim

$ unzip /usr/src/taglist.zip
Archive:  /usr/src/taglist.zip
  inflating: plugin/taglist.vim
  inflating: doc/taglist.txt

Krok 3:Povolte plugin v ~/.vimrc

Přidejte následující řádek do ~/.vimrc, abyste povolili plugin pro editor Vim.

$ vim ~/.vimrc
filetype plugin on

Předběžné: Chcete-li používat plugin pro seznam tagů, je třeba nainstalovat ctags. Není však nutné generovat seznam značek ručně pomocí příkazu ctags pro použití pluginu taglist.

IV. 5 výkonných funkcí pluginu Taglist Vim

1. Otevřete okno Seznam značek ve Vimu pomocí :TlistOpen

# vim mycprogram.c
:TlistOpen

Z editoru vim spusťte :TlistOpen, jak je uvedeno výše, čímž se otevře okno se seznamem značek se značkami aktuálního souboru, jak je znázorněno na obrázku níže.


Obr: Vim – Zdrojový kód Tag/Seznam funkcí Windows

2. Přejít na definici funkce ve zdrojovém kódu

Kliknutím na název funkce v levém panelu budete moci přejít k definici funkce, jak je znázorněno na obrázku níže.


Obr: Rychle přejděte na definici funkce

Kromě rychlého přeskakování na názvy funkcí můžete přeskočit na třídy, struktury, proměnné atd. kliknutím na odpovídající hodnoty v prohlížeči značek na levé straně.

3. Přejděte na definici funkce, která je v jiném zdrojovém souboru

Když procházíte funkcí ve zdrojovém souboru a chcete přejít na definici funkce, která je v jiném souboru, můžete to udělat dvěma různými metodami.

Metoda 1:

Pokud jste pro tento soubor nechali vygenerovat ctagy, když je kurzor ve volání funkce, stisknutím CTRL + ] se dostanete k definici funkce. A okno seznamu značek automaticky zobrazí značky pro tento nově otevřený soubor.

Metoda 2:

Otevřete další soubor také ve stejné relaci vim, což aktualizuje okno seznamu značek informacemi o tomto souboru. Vyhledejte název funkce v okně se seznamem značek a stisknutím na názvu funkce v okně se seznamem značek přejdete k definici funkce.

4. Zobrazení prototypu/podpisu funkcí nebo proměnných.

Stisknutím „mezera“ v názvu funkce nebo v názvu proměnné v okně seznamu značek zobrazíte její prototyp (signaturu funkce) ve stavovém řádku VIM, jak je znázorněno níže. V níže uvedeném příkladu klikněte na funkci selectDumpableTable v okně Tag a stiskněte mezerník, čímž se zobrazí podpis funkce pro funkci selectDumptableTable ve spodním stavovém řádku Vim.


Obr: Zobrazit podpis funkce na stavovém řádku Vim

5. Zobrazení celkového počtu funkcí nebo proměnných v souboru zdrojového kódu

stiskněte „mezera“ v typu tagu v okně seznamu tagů, kde se zobrazí jeho počet. V níže uvedeném příkladu, když je kurzor na „funkci“, stiskněte mezerník, čímž se zobrazí celkový počet funkcí v aktuálním zdrojovém kódu.


Obr: Zobrazení celkového počtu funkcí dostupných ve zdrojovém kódu

Chcete-li efektivně psát nové soubory zdrojového kódu pomocí Vim, přečtěte si naše dřívější články:

  • Udělejte Vim jako své IDE Perl pomocí pluginu perl-support.vim
  • Udělejte z Vimu své IDE C/C++ pomocí pluginu c.vim
  • Udělejte z Vimu své Bash-IDE pomocí pluginu podporující bash.

Doporučená četba

Vim 101 Hacks, od Rameshe Natarajan . Jsem feťák z příkazového řádku. Takže jsem přirozeně velkým fanouškem editorů Vi a Vim. Před několika lety, když jsem psal hodně kódu C na Linuxu, jsem četl všechny dostupné tipy a triky editoru Vim. Na základě svých zkušeností s editorem Vim jsem napsal e-knihu Vim 101 Hacks, která obsahuje 101 praktických příkladů různých pokročilých funkcí Vim, díky nimž budete v editoru Vim rychlý a produktivní. I když používáte editory Vi a Vim několik let a nečetli jste tuto knihu, udělejte si laskavost a přečtěte si tuto knihu. Budete ohromeni možnostmi editoru Vim.

Úžasné články editoru Vim

Následuje několik skvělých návodů editoru Vi / Vim které by vám mohly pomoci.

  • 12 účinných příkladů hledání a nahrazování pro editor Vim
  • Výukový program makra Vi a Vim:Jak nahrávat a přehrávat
  • Turbocharge prohlížeč Firefox s funkcí Vim Editor pomocí doplňku Vimperator

Poznámka: Přihlaste se k odběru The Geek Stuff a nenechte si ujít žádné budoucí tipy a triky editorů Vi a Vim .


Linux
  1. MIXXX – krásný, bezplatný a open source DJ software

  2. Jak volat funkci C v C++, funkci C++ v C (Mix C a C++)

  3. Kód pro malloc a zdarma

  1. Nástroje a tipy s otevřeným zdrojovým kódem pro zlepšení výkonu počítače se systémem Linux

  2. 15 knih pro děti, které (chcete) milovat Linux a open source

  3. Jak najít volajícího a volaného funkce v kódu C ve vi/vim?

  1. MuditaOS:Krásný a minimální mobilní operační systém s otevřeným zdrojovým kódem pro běžné telefony

  2. vifm:Prohlížeč souborů terminálu pro milovníky hardcore Vim

  3. Nejlepší editory JavaScriptu pro Linux