web-dev-qa-db-ja.com

VIMのGoLang構文強調表示を追加

ここで提供されるリソースと方向を使用して、ubuntuのVIMに強調表示するGo言語構文を追加しようとしています http://go-lang.cat-v.org/text-editors/vim /

Goにはgo.vimファイルには、VIMの構文設定が含まれ、上記のページには以下の指示があります。

$ GOROOT/misc/vim/syntax/go.vimを〜/ .vim/syntax /に配置し、以下を〜/ .vim/ftdetect/go.vimに配置します:

au BufRead,BufNewFile *.go set filetype=go 

これは、他の場所で見たvim構文をカスタマイズする手順とほぼ同じです( buntu 12.10のVim 7.3には 'ftplugin'ディレクトリがありません および https:// github.com/jnwhiteh/vim-golang/blob/master/readme.txt

だから私はディレクトリを作成するときに正しいことをしていると思う:
〜/ .vim
〜/ .vim/syntax
〜/ .vim/ftdetect

を追加して上記の指示に従います

go.vimを〜/ .vim/syntax /に移動し、〜/ .vim/ftdetect /にgo.vimファイルを作成します。

au BufRead,BufNewFile *.go set filetype=go

しかし、構文の強調表示は発生していないようです。これらの新しい設定ファイルを見るために、強制的にVIM=にするために必要なことはありますか?

54
rocketas

これらの行を~/.vimrcに追加するだけです:

set rtp+=$GOROOT/misc/vim
filetype plugin indent on
syntax on

[〜#〜] edit [〜#〜]これは、これらの行の前のfiletype plugin indent off(つまり.vimrcファイルの先頭)を想定しており、そうでない場合は問題を引き起こす可能性があります。より安全なバージョンについては、以下の@peterSOの回答を参照してください。

20
none

更新:

Go 1.4リリースノート

その他

標準リポジトリの最上位のmiscディレクトリは、プラグイン、初期化スクリプトなどのエディターおよびIDEのGoサポートを含むために使用されます。リストされているエディターの多くはコアチームのメンバーによって使用されていなかったため、これらのメンテナンスには時間がかかり、外部からの助けが必要でした。また、使用していないエディターであっても、特定のエディターに最適なプラグインを決定する必要がありました。 Goコミュニティ全体は、この情報の管理により適しています。したがって、Go 1.4では、このサポートはリポジトリから削除されました。代わりに、 wikiページ で利用可能な情報の精選された有益なリストがあります。


標準のGoディストリビューションには、go/misc/vim/。このディレクトリにはreadme.txtファイルには、インストール手順が含まれています。

readme.txt

Go用Vimプラグイン(http://golang.org

すべてのVimプラグインを使用するには、これらの行を$HOME/.vimrc

" 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

選択するプラグインの数を減らしたい場合は、このファイルの残りの指示に従ってください。

<< .. SNIP .. >>

62
peterSO

Debianでは、ubuntuでも同じだと思います。

Sudo apt-get install vim-gocomplete gocode vim-syntax-go
vim-addon-manager install go-syntax
vim-addon-manager install gocode
40
Thomas

構文の強調表示を最適化するには、 https://github.com/fatih/vim-go を試してください

これは、多くのvimプラグインを統合し、多くの機能を追加する新しいプロジェクトです。 READMEから:

  • 関数、演算子、メソッドなどの構文強調表示の改善。
  • Gocodeによる自動補完のサポート
  • 保存時のgofmtの改善、カーソル位置の保持、取り消し履歴の破壊
  • Godefを使用してシンボル/宣言に移動します
  • Goimportsを介してパッケージを自動的にインポートする
  • パッケージをコンパイルしてビルドし、go installでインストールします
  • 現在のファイルをすばやく実行します
  • 実行テストを実行し、クイックフィックスウィンドウでエラーを確認します
  • Golintでコードをリントする
  • 静的エラーをキャッチするために、入念にコードを実行します。
  • Oracleによる高度なソース分析ツール
  • すべてのソースファイルと依存関係を一覧表示する
  • 未チェックのエラーをerrcheckでチェックします。
  • 統合され改善されたスニペット。アルティスニップまたはネオスニペットをサポート
  • 現在のコードをplay.golang.orgに共有します
20
Greg Ingelmo

2015年1月25日

https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins をご覧ください。Goレポのすべてのエディターとシェルのサポートが削除されたためです( https://codereview.appspot.com/10547004

9
HVNSweeting

私自身の意思決定以外の何らかの理由で、Debianパッケージによって開発用VMにGolangをインストールしました。この特定のvimの配布には、vimの検索結果からわかる限り、vimの利点はありません。とにかく、これらすべての開発VMにグッズを迅速に展開するために、バンドルルートを使用することにしました。おそらく、このメソッドをパペットなどに使用することもできますが、私たちはそうしませんでした。とにかく、私がやったことは次のとおりです。

ステップ1:vundleのインストール: https://github.com/gmarik/vundle

ステップ2:この行を.vimrcに入れます(もちろん、ここからです: https://github.com/jnwhiteh/vim-golang )、コマンドラインからvim +BundleInstall +qallのようにvimを実行しますまたは:BundleInstallを使用してvim内から

Bundle 'jnwhiteh/vim-golang'

ステップ3:この小さなbashスクリプトを保存し、govim.shまたは何でもchmod +x govim.shとしてホイップし、./govim.shのように実行します

次のようなスクリプト:

#!/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/

キャッシング!これですべてのグッズがインストールされました。これについて間違っている場合、誰かが私を修正します。これについてはまだ試していませんが、Vundleを他の回答と一緒に使用すると、runtimepath/rtpが上書きされると思います。

4
Dmitri DB

この page は次のことを示しています。

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

私にとってはうまくいきましたが、最初は/misc/vim/go.vimディレクトリが見つかりませんでした。だから、/ usr/local/go /に行くインストールされていた別のコンピューターからファイルをコピーしました...

3
Mattis Asp

1、2、3のように簡単なはずです:

  1. ファイル vim.go をダウンロードして、~/.vim/syntax名前の下go.vim(まだない場合はディレクトリsyntaxを作成します)。

  2. ファイルがまだない場合は~/.vim/ftdetect/go.vim、作成します(必要に応じてフォルダーも作成します)。

  3. .vim/ftdetect/go.vim、次の行を追加します:au BufRead,BufNewFile *.go set filetype=go

1
tomfl

CentOS 7のvim構文強調表示を有効にする手順は見つかりませんでした。CentOS7.3.1611で動作するように、次の手順をテストしました。まず、ホームディレクトリに次のディレクトリを作成します。

$ mkdir ~/.vim/ftdetect/

次に、上記のディレクトリ内にgo.vimという名前のファイルを作成し、次の内容を含めます。

au BufRead,BufNewFile *.go set filetype=go

Goの構文定義ファイルをダウンロードします: vim.go 。複数のユーザーが共有できるように、適切なシステム全体のディレクトリに転送します。

$ Sudo mv -i go.vim /usr/share/vim/vim74/syntax/
1
pdp