Heim  >  Artikel  >  Backend-Entwicklung  >  vim golang automatischer Sprung

vim golang automatischer Sprung

王林
王林Original
2023-05-14 16:31:07975Durchsuche

Wenn wir Vim zum Bearbeiten von Go-Code verwenden, stoßen wir häufig auf Situationen, in denen wir zu einer Funktions- oder Variablendefinition springen müssen. In Vim können wir einige Plug-Ins oder Tricks verwenden, um dies zu erreichen. In diesem Artikel wird eine der Methoden vorgestellt – die Verwendung von gutentags und vim-go, um einen automatischen Sprung zu erreichen.

1. Gutentags installieren

gutentags ist ein Vim-Plugin zum Generieren von Tag-Dateien, das uns helfen kann, den Code schnell zu durchsuchen und Variablen- und Funktionsdefinitionen in der Datei zu finden. Wenn Sie Gutentags nicht installiert haben, können Sie es mit dem folgenden Befehl installieren:

//Vundle
Plugin 'ludovicchabant/vim-gutentags'

//NeoBundle
NeoBundle 'ludovicchabant/vim-gutentags'

//vim-plug
Plug 'ludovicchabant/vim-gutentags'

Führen Sie nach Abschluss der Installation „:help gutentags“ in Vim aus, um die Anweisungen zur Verwendung von Gutentags anzuzeigen.

2. Installieren Sie vim-go

vim-go ist ein Vim-Plug-in für Go-Sprachentwickler, das uns helfen kann, Go-Sprachprogramme schnell zu schreiben, zu debuggen und zu testen. Wenn Sie vim-go nicht installiert haben, können Sie es mit dem folgenden Befehl installieren:

//Vundle
Plugin 'fatih/vim-go'

//NeoBundle
NeoBundle 'fatih/vim-go'

//vim-plug
Plug 'fatih/vim-go'

Führen Sie nach Abschluss der Installation „:help go“ in Vim aus, um die Anweisungen zur Verwendung von vim-go anzuzeigen.

3. Gutetags und vim-go konfigurieren

Nach der Installation von gutentags und vim-go müssen wir sie so konfigurieren, dass sie zusammenarbeiten können, um die automatische Sprungfunktion zu erreichen.

  1. Gutentags konfigurieren

Fügen Sie die folgende Konfiguration in der .vimrc-Datei hinzu:

let g:gutentags_project_root = ['.git', '.svn', '.hg']
let g:gutentags_cache_dir = '~/.vim/tags'
let g:gutentags_file_list_command = 'git ls-files'
let g:gutentags_generate_on_write = 1

Die Bedeutung dieser Konfigurationselemente ist:

  • g:gutentags_project_root: Geben Sie das Projektstammverzeichnis an. Bei der Suche nach Tag-Dateien wird dies der Fall sein im Stammverzeichnis des Projekts und in dessen Unterverzeichnis liegen.
  • g:gutentags_cache_dir: Geben Sie den Speicherpfad der Tag-Dateien an. Guentags speichert die generierte Tag-Datei im Cache, sodass Sie die Tag-Datei nicht erneut generieren müssen, wenn Sie das nächste Mal nach derselben Datei oder Variablen suchen.
  • g:gutentags_file_list_command: Geben Sie an, wie die Dateien im aktuellen Projekt aufgelistet werden sollen. Hier haben wir den Befehl git ls-files verwendet, um die Dateiliste abzurufen, aber es können auch andere Befehle verwendet werden.
  • g:gutentags_generate_on_write: Geben Sie an, ob beim Speichern von Dateien automatisch Tag-Dateien generiert werden sollen.
  1. Konfigurieren Sie vim-go

Fügen Sie die folgende Konfiguration in der .vimrc-Datei hinzu:

let g:go_def_mode='gopls'
let g:go_auto_sameids = 1
let g:go_list_type = "quickfix"
let g:go_list_autowin = 1
let g:go_fmt_command = "goimports"
let g:go_complete_unimported = 1
let g:go_def_mapping_enabled = 0

Die Bedeutung dieser Konfigurationselemente ist:

  • g:go_def_mode: Geben Sie die Verwendung von gopls als Backend zum Definieren von Sprüngen an Dies ist ein Sprachserver, der offiziell von der Go-Sprache bereitgestellt wird.
  • g:go_auto_sameids: Geben Sie an, ob die Tag-Datei automatisch aktualisiert werden soll, wenn zu verschiedenen Funktions- oder Variablendefinitionen in derselben Datei gesprungen wird.
  • g:go_list_type: Geben Sie an, dass das Quickfix-Fenster verwendet werden soll, um zugehörige Informationen anzuzeigen.
  • g:go_list_autowin: Geben Sie an, ob beim Öffnen des Quickfix-Fensters automatisch zum ersten Fehlerelement gesprungen werden soll.
  • g:go_fmt_command: Geben Sie die Verwendung von goimports zum Formatieren des Codes an.
  • g:go_complete_unimported: Gibt an, ob nicht importierte Pakete in die Vervollständigung einbezogen werden sollen.
  • g:go_def_mapping_enabled: Gibt an, ob die Tastenkombinationszuordnung für GoDef-Befehle aktiviert werden soll.

4. Automatischen Sprung realisieren

Nachdem wir gutetags und vim-go konfiguriert haben, können wir jede Go-Datei in Vim öffnen, den Cursor auf eine Funktion oder Variable bewegen und dann die Tastenkombination „gd“ drücken, um automatisch zu springen definierte Position.

Während des automatischen Sprungvorgangs generiert gutentags automatisch die Tag-Datei. Wenn die Datei bereits vorhanden ist, wird sie direkt verwendet. Beim Springen zu verschiedenen Funktions- oder Variablendefinitionen in derselben Datei aktualisiert vim-go automatisch die Tag-Datei, um sicherzustellen, dass der nächste Sprung den Definitionsort genau lokalisieren kann. Die Verwendung der oben genannten Methode kann unsere Schreibeffizienz erheblich verbessern und Variablen- und Funktionsdefinitionen im Code schnell durchsuchen und finden.

Das obige ist der detaillierte Inhalt vonvim golang automatischer Sprung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Golang ändert den Slice-TypNächster Artikel:Golang ändert den Slice-Typ