Ich versuche, Go-Sprache-Syntaxhervorhebung zu VIM auf Ubuntu hinzuzufügen, wobei die Ressourcen und Anweisungen hier angegeben sind http://go-lang.cat-v.org/text-editors/vim/ .
Go verfügt über eine go.vim
-Datei, die Syntaxeinstellungen für VIM enthält. Auf der obigen Seite finden Sie die folgenden Anweisungen
Platzieren Sie $ GOROOT/misc/vim/syntax/go.vim in ~/.vim/syntax/und geben Sie Folgendes in ~/.vim/ftdetect/go.vim ein:
au BufRead,BufNewFile *.go set filetype=go
Dies ist mehr oder weniger dieselbe Prozedur für das Anpassen der vim-Syntax, die ich anderswo gesehen habe ( Vim 7.3 auf Ubuntu 12.10 hat nirgendwo das 'ftplugin'-Verzeichnis } und https://github.com/jnwhiteh/vim-golang/blob/master/readme.txt )
Ich glaube, ich mache das Richtige, wenn ich Verzeichnisse erstelle:
~/.vim
~/.vim/Syntax
~/.vim/ftdetect
und befolgen Sie die obigen Anweisungen, indem Sie hinzufügen
go.vim zu ~/.vim/syntax / und erstellen einer Datei go.vim in ~/.vim/ftdetect/die enthält
au BufRead,BufNewFile *.go set filetype=go
Syntax-Highlighting scheint jedoch nicht aufzutreten. Gibt es etwas, das ich tun muss, um VIM diese neuen Einstellungsdateien anzusehen?
sie können diese Zeilen einfach zu Ihrem ~/.vimrc
hinzufügen:
set rtp+=$GOROOT/misc/vim
filetype plugin indent on
syntax on
EDITDies setzt voraus, dass filetype plugin indent off
vor diesen Zeilen steht (d. h. Beginn der .vimrc
-Datei) und kann Probleme verursachen, wenn dies nicht der Fall ist. Siehe unten die Antwort von @ peterSO für die sicherere Version.
AKTUALISIEREN:
Das Misc-Verzeichnis der obersten Ebene des Standard-Repositorys, in dem Go .__ enthalten ist. Unterstützung für Editoren und IDEs: Plugins, Initialisierung Skripte und so weiter. Diese zu pflegen wurde zeitaufwändig und benötigte externe Hilfe, da viele der aufgeführten Editoren nicht verwendet wurden von Mitgliedern des Kernteams. Wir mussten auch Entscheidungen treffen. welches Plugin für einen bestimmten Editor am besten war, auch für Editoren machen wir das nicht verwenden. Die Go-Community ist viel besser geeignet, um diese Informationen zu verwalten. In Go 1.4 wurde diese Unterstützung daher von .__ entfernt. das Repository. Stattdessen gibt es eine kuratierte, informative Liste von was auf einer wiki-Seite verfügbar ist .
Die Standard-Go-Distribution enthält Go-Dateien für Vim in go/misc/vim/
. Dieses Verzeichnis enthält eine readme.txt
-Datei, die Installationsanweisungen enthält.
Vim-Plugins für Go (
http://golang.org
)Um alle Vim-Plugins zu verwenden, fügen Sie diese Zeilen in Ihren
$HOME/.vimrc
ein." Some Linux distributions set filetype in /etc/vimrc. " Clear filetype flags before changing runtimepath to force Vim to reload them. filetype off filetype plugin indent off set runtimepath+=$GOROOT/misc/vim filetype plugin indent on syntax on
Wenn Sie weniger Plugins auswählen möchten, verwenden Sie die Anweisungen im übrigen dieser Datei.
<< .. SNIP .. >>
Unter Debian denke ich, dass es auf Ubuntu genauso ist, Sie nur:
Sudo apt-get install vim-gocomplete gocode vim-syntax-go
vim-addon-manager install go-syntax
vim-addon-manager install gocode
Für die beste Syntax-Hervorhebung versuchen Sie https://github.com/fatih/vim-go
Es ist ein neues Projekt, das viele Vim-Plugins konsolidiert und viele Funktionen hinzufügt. Aus der Liesmich:
am 25.01.2015
Siehe https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins , da jetzt alle Editor- und Shell-Unterstützung in Go-Repo entfernt wird ( https://codereview.appspot.com/105470043 )
Unabhängig von meinen eigenen Entscheidungen haben wir Golang von Debian-Paketen auf den Dev-VMs installiert. Diese spezielle Verteilung von vim enthält keine der Goodies für vim, soweit ich es bei einer Suche nach ihm feststellen konnte. Wie auch immer, ich entschied mich für die Vundle-Route, um die Goodies schnell auf all diese Dev VMs bereitzustellen. Sie könnten diese Methode wahrscheinlich in eine Puppe umwandeln oder etwas, wenn Sie möchten, wir haben das aber nicht gemacht. Jedenfalls habe ich Folgendes getan:
Schritt 1: Installieren Sie vundle: https://github.com/gmarik/vundle
Schritt 2: Setzen Sie diese Zeile in Ihre .vimrc (natürlich von hier aus: https://github.com/jnwhiteh/vim-golang ) und führen Sie dann vim von der Befehlszeile aus wie vim +BundleInstall +qall
oder von innen aus vim mit :BundleInstall
Bundle 'jnwhiteh/vim-golang'
Schritt 3: Speichern Sie dieses kleine Bash-Skript, das ich als govim.sh oder was auch immer chmod +x govim.sh
aufgespielt habe, und führen Sie es wie ./govim.sh
aus.
Skript wie folgt:
#!/bin/bash
mkdir $HOME/.vim/ftdetect
mkdir $HOME/.vim/syntax
mkdir $HOME/.vim/autoload
mkdir $HOME/.vim/autoload/go
mkdir $HOME/.vim/ftplugin
mkdir $HOME/.vim/ftplugin/go
mkdir $HOME/.vim/indent
mkdir $HOME/.vim/compiler
mkdir $HOME/.vim/plugin
mkdir $HOME/.vim/plugin/godoc
ln -s $HOME/.vim/bundle/vim-golang/ftdetect/gofiletype.vim $HOME/.vim/ftdetect
ln -s $HOME/.vim/bundle/vim-golang/syntax/go.vim $HOME/.vim/syntax/
ln -s $HOME/.vim/bundle/vim-golang/autoload/go/complete.vim $HOME/.vim/autoload/go/
ln -s $HOME/.vim/bundle/vim-golang/ftplugin/go.vim $HOME/.vim/ftplugin/
ln -s $HOME/.vim/bundle/vim-golang/ftplugin/go/*.vim $HOME/.vim/ftplugin/go/
ln -s $HOME/.vim/bundle/vim-golang/indent/go.vim $HOME/.vim/indent/
ln -s $HOME/.vim/bundle/vim-golang/compiler/go.vim $HOME/.vim/compiler/
ln -s $HOME/.vim/bundle/vim-golang/plugin/godoc/godoc.vim $HOME/.vim/plugin/godoc/
ln -s $HOME/.vim/bundle/vim-golang/syntax/godoc.vim $HOME/.vim/syntax/
Kaching! Sie haben jetzt alle Goodies installiert, und jemand korrigiert mich, wenn ich dabei falsch liege, aber vielleicht mehr als das, was mit der offiziellen Golang-Distribution kommt. Ich weiß auch nicht, ob ich es noch nicht ausprobiert habe, aber ich denke, dass der runtimepath/rtp verstümmelt wird, wenn Sie Vundle mit den anderen Antworten hier verwenden.
Diese Seite sagt, dass:
Place $GOROOT/misc/vim/syntax/go.vim in ~/.vim/syntax/
and put the following in ~/.vim/ftdetect/go.vim:
au BufRead,BufNewFile *.go set filetype=go
Es hat für mich funktioniert, nur das Verzeichnis /misc/vim/go.vim konnte ich zunächst nicht finden. Also habe ich die Dateien von einem anderen Computer kopiert, der auf/usr/local/go/installiert war ...
Ich habe keine Anweisungen zum Aktivieren der Vim-Syntaxhervorhebung für CentOS 7 gefunden. Habe die folgenden Anweisungen getestet, um mit CentOS 7.3.1611 zu arbeiten. Erstellen Sie zunächst das folgende Verzeichnis in Ihrem Heimatverzeichnis:
$ mkdir ~/.vim/ftdetect/
Dann erstellen Sie eine Datei mit dem Namen go.vim
im obigen Verzeichnis mit dem Inhalt:
au BufRead,BufNewFile *.go set filetype=go
Laden Sie die Syntaxdefinitionsdatei für Go: vim.go herunter. Übertragen Sie es in das richtige systemweite Verzeichnis, damit mehrere Benutzer es gemeinsam nutzen können:
$ Sudo mv -i go.vim /usr/share/vim/vim74/syntax/
Es sollte so einfach wie 1, 2, 3 sein:
Laden Sie die Datei vim.go herunter und legen Sie sie in ~/.vim/syntax
unter dem Namen vim.go
ab (erstellen Sie das Verzeichnis syntax
, falls Sie es noch nicht haben).
Wenn Sie die Datei ~/.vim/ftdetect/go.vim
noch nicht haben, erstellen Sie sie (und ggf. den Ordner).
Fügen Sie in .vim/ftdetect/go.vim
die folgende Zeile hinzu: au BufRead,BufNewFile *.go set filetype=go