Foto mit freundlicher Genehmigung:mint imperial
Dieser Artikel ist Teil der fortlaufenden Reihe Vi / Vim Tipps und Tricks. Als Programmierer oder Systemadministrator durchsuchen Sie ständig Quellcodes und Shell-Skripte.
Im Folgenden finden Sie einige typische Aktivitäten, die Sie beim Durchsuchen einer Quellcodedatei ausführen können:
- Navigieren zur Funktionsdefinition durch Angabe des Funktionsnamens.
- Navigieren zur Funktionsdefinition von „Funktionsaufruf“.
- Von der Definition wieder zurück zum Funktionsaufruf.
- Anzeigen des Prototyps/der Signatur von Funktionen oder Variablen.
- Anzeigen der Anzahl von Funktionen in einer Datei usw.
Lassen Sie uns in diesem Artikel überprüfen, wie Sie die oben genannten Aktivitäten im Vim-Editor effizient ausführen können Verwendung von Ctags und Taglist-Plugin.
Die in diesem Artikel erwähnten Techniken mit dem Vim-Editor können für jede Programmiersprache verwendet werden.
Ich. Ctags-Paket installieren und konfigurieren
Schritt 1:ctags-Paket installieren
# 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%]
Schritt 2:Generieren von ctags in Ihrem Quellcode
Wechseln Sie in das Verzeichnis, in dem sich Ihr Quellcode befindet. Im folgenden Beispiel habe ich meinen gesamten Quellcode für die C-Programmierung im Verzeichnis ~/src abgelegt.
# cd ~/src # ctags *.c
Der Befehl ctags erstellt einen Dateinamen tags, der alle erforderlichen Informationen (Tags) über die *.c-Programmdateien enthält. Es folgt eine teilweise Ausgabe der Tags-Einträge in der ctags-Datei.
# 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 leistungsstarke Ctags-Nutzung innerhalb des Vim-Editors
1. Navigieren Sie zur Funktionsdefinition, indem Sie den Funktionsnamen mit :ta
angebenIm folgenden Beispiel bringt Sie :ta main zur Hauptfunktionsdefinition in mycprogram.c
# vim mycprogram.c :ta main
Mit dieser Funktion können Sie zu jeder Funktionsdefinition navigieren, indem Sie den Funktionsnamen angeben.
2. Navigieren zur Funktionsdefinition von „Funktionsaufruf“ mit Strg + ]
Wenn sich der Cursor unter dem Funktionsaufruf befindet, drücken Sie STRG + ], um zur Funktionsdefinition zu gelangen. Wenn sich der Cursor im folgenden Beispiel im Funktionsaufruf ssh_xcalloc befindet, gelangen Sie durch Drücken von Strg + ] zur Funktionsdefinition ssh_xcalloc.
# vim mycprogram.c av = ssh_xcalloc(argc, sizeof(char *));
Hinweis: Wenn die ctags diese Funktion nicht finden konnten, erhalten Sie die folgende Meldung in der vim-Statusleiste unten:E426-Tag nicht gefunden ssh_xcalloc
3. Zurück zum Funktionsaufruf aus der Definition mit Strg + t
Drücken Sie STRG + t, um wieder zum Funktionsaufruf zurückzukehren.
4. Navigieren durch eine Liste von Funktionsnamen mit ähnlichen Namen
In diesem Beispiel geht :ta zu der Funktionsdefinition, deren Name mit get beginnt, und erstellt auch eine Liste zum Navigieren mit den relevanten Funktionen.
# vim mycprogram.c :ta /^get
Die folgenden vim-Befehle können verwendet werden, um durch relevante Funktionen zu navigieren
- :ts – zeigt die Liste.
- :tn – geht zum nächsten Tag in dieser Liste.
- :tp – geht zum vorherigen Tag in dieser Liste.
- :tf – geht zu der Funktion, die an erster Stelle der Liste steht.
- :tl – geht zu der letzten Funktion in der Liste.
III. Taglist-Plugin:Vim-Editor als ultimativer Quellcode-Browser
Die obigen Ctags haben möglicherweise kein Gefühl beim Durchsuchen des Quellcodes vermittelt, da es von Befehlen gesteuert wird, anstatt den Code visuell zu durchsuchen. Wenn Sie also wie im Dateibrowser durch die Quelle navigieren möchten, müssen Sie das vim Taglist-Plugin verwenden, das vim als Quellcode-Browser macht.
Autor des Vim-Taglist-Plugins Yegappan Lakshmanan, sagt darüber als
Das „Tag List“-Plugin ist ein Quellcode-Browser-Plugin für Vim und bietet einen Überblick über die Struktur von Quellcode-Dateien und ermöglicht Ihnen ein effizientes Durchsuchen von Quellcode-Dateien für verschiedene Programmiersprachen.
Schritt 1:Laden Sie das Vim Taglist-Plugin herunter
Laden Sie es wie unten gezeigt von der Website vim.org herunter.
$ cd /usr/src $ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
Schritt 2:Installieren Sie das TagList-Vim-Plugin
$ 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
Schritt 3:Aktivieren Sie das Plugin in ~/.vimrc
Fügen Sie die folgende Zeile zu ~/.vimrc hinzu, um das Plugin für den Vim-Editor zu aktivieren.
$ vim ~/.vimrc filetype plugin on
Voraussetzung: ctags sollte installiert sein, um das Taglist-Plugin zu verwenden. Aber es ist kein Muss, die Tag-Liste manuell mit dem ctags-Befehl zu generieren, um das Taglist-Plugin zu verwenden.
IV. 5 leistungsstarke Funktionen des Taglist-Vim-Plugins
1. Öffnen Sie das Tag-Listenfenster in Vim mit :TlistOpen
# vim mycprogram.c :TlistOpen
Führen Sie im vim-Editor :TlistOpen wie oben gezeigt aus, wodurch das Tag-Listenfenster mit den Tags der aktuellen Datei geöffnet wird, wie in der Abbildung unten gezeigt.
Abb: Vim – Quellcode-Tag/Funktionsliste Windows
2. Zur Funktionsdefinition innerhalb eines Quellcodes springen
Durch Klicken auf den Funktionsnamen im linken Bereich können Sie zur Definition der Funktion gehen, wie in der Abbildung unten gezeigt.
Abb.: Schnell zu einer Funktionsdefinition springen
Neben dem schnellen Sprung zu den Funktionsnamen können Sie zu Klassen, Strukturen, Variablen etc. springen, indem Sie auf die entsprechenden Werte im Tag-Browser auf der linken Seite klicken.
3. Zur Funktionsdefinition springen, die sich in einer anderen Quelldatei befindet
Wenn Sie eine Funktion in einer Quelldatei durchlaufen und zu der Funktionsdefinition gehen möchten, die sich in einer anderen Datei befindet, können Sie dies auf zwei verschiedene Arten tun.
Methode 1:
Wenn Sie die ctags für diese Datei generiert haben, bringt Sie das Drücken von STRG + ] zur Funktionsdefinition, wenn sich der Cursor im Funktionsaufruf befindet. Und automatisch zeigt das Tag-Listenfenster die Tags für diese neu geöffnete Datei.
Methode 2:
Öffnen Sie auch eine andere Datei in derselben vim-Sitzung, wodurch das Tag-Listenfenster mit den Informationen über diese Datei aktualisiert wird. Suchen Sie nach diesem Funktionsnamen im Tag-Listenfenster und durch Drücken von
4. Anzeigen des Prototyps/der Signatur von Funktionen oder Variablen.
Drücken Sie die Leertaste im Funktionsnamen oder im Variablennamen im Tag-Listenfenster, um den Prototyp (Funktionssignatur) davon in der VIM-Statusleiste anzuzeigen, wie unten gezeigt. Klicken Sie im folgenden Beispiel auf die Funktion selectDumpableTable im Tag-Fenster und drücken Sie die Leertaste, wodurch die Funktionssignatur für die Funktion selectDumptableTable in der unteren Vim-Statusleiste angezeigt wird.
Abb.: Anzeige der Funktionssignatur in der Vim-Statusleiste
5. Anzeigen der Gesamtzahl von Funktionen oder Variablen in einer Quellcodedatei
Drücken Sie die Leertaste im Tag-Typ im Tag-Listenfenster, das die Anzahl davon anzeigt. Wenn sich der Cursor im Beispiel unten auf „Funktion“ befindet, drücken Sie die Leertaste, wodurch die Gesamtzahl der Funktionen im aktuellen Quellcode angezeigt wird.
Abb.: Zeigt die Gesamtzahl der im Quellcode verfügbaren Funktionen an
Informationen zum effektiven Schreiben neuer Quellcodedateien mit Vim finden Sie in unseren früheren Artikeln:
- Machen Sie Vim als Ihre Perl-IDE mit dem Plugin perl-support.vim
- Machen Sie Vim mit dem c.vim-Plugin zu Ihrer C/C++-IDE
- Machen Sie Vim als Ihre Bash-IDE mit dem bash-support Plugin.
Empfohlene Lektüre
Vim 101 Hacks, von Ramesh Natarajan . Ich bin ein Kommandozeilen-Junkie. Also bin ich natürlich ein großer Fan von Vi- und Vim-Editoren. Vor einigen Jahren, als ich viel C-Code unter Linux geschrieben habe, habe ich alle verfügbaren Vim-Editor-Tipps und -Tricks gelesen. Basierend auf meiner Vim-Editor-Erfahrung habe ich das Vim 101 Hacks eBook geschrieben, das 101 praktische Beispiele zu verschiedenen erweiterten Vim-Funktionen enthält, die Sie im Vim-Editor schnell und produktiv machen werden. Auch wenn Sie Vi und Vim Editors seit mehreren Jahren verwenden und dieses Buch noch nicht gelesen haben, tun Sie sich bitte einen Gefallen und lesen Sie dieses Buch. Sie werden von den Möglichkeiten des Vim-Editors begeistert sein.
Tolle Vim-Editor-Artikel
Im Folgenden finden Sie einige großartige Vi/Vim-Editor-Tutorials die Sie vielleicht hilfreich finden.
- 12 leistungsstarke Suchen- und Ersetzen-Beispiele für den Vim-Editor
- Vi- und Vim-Makro-Tutorial:Aufnehmen und Abspielen
- Turboladen Sie den Firefox-Browser mit der Vim-Editor-Funktionalität mit dem Vimperator-Add-on auf
Hinweis: Bitte abonnieren Sie The Geek Stuff und verpassen Sie keine zukünftigen Tipps und Tricks für Vi- und Vim-Editoren .