Shizuoka.goという勉強会を立ち上げて、 静岡にGo言語旋風を巻き起こそうと考えていたのですが、 立ち上げた割に開発自体はあんまりしてないなぁって事で最近目下勉強中です。 当初Twitterクライアントを作っていたのですが、 必殺のOAuth周りを触って覚えようって事で自作OAuthライブラリも作りました。 ※この辺りは後日 ちなみに勉強会をやるに当たって、 みなさん多いだろうって事でIntelliJIDEAを導入して開発していたのですが、 『Vimでやりたい!』という嬉しい声が上がったので 私の設定をブログで起こす事になりました。 ちなみにIntelliJを採用したのは、viのプラグインがある為で、 『LiteIDE』にviキーバインドがあればそっちに行くと思います。 QtにFakeVimというのがあって、それをコンパイルから行えば可能かは現在調査中です。 ※この辺りもうまく行けば後日GoのSDKについているものを読み込ませます。 環境変数GOROOTはSDKを配置したパスです。 .vimrcファイルにset runtimepath+=$GOROOT/misc/vimと追加します。 これによって『.go』ファイルがシンタックス表示されます。 コマンドモードで:Import net/httpとすればnet/httpのimport文を自動補完してくれます。:Fmtとやると『go fmt xxx.go』をやってくれます。 これがSDK内にあるのは嬉しい! ただ私はauto BufWritePre *.go Fmtを追加して、ファイル保存時にfmtを勝手に行うようにしています。 これ実は各IDEに欲しくて、IntelliJのプラグインでやってくれる設定を PullRequestしようかと考えているところです。 まず環境変数GOPATHを設定します。 これはGo言語のライブラリ等を取ってきた時に配置される場所です。 それでhttp://github.com/nsf/gocodeのコードを取ってきます。go get github.com/nsf/gocode取得できたら、exe "set runtimepath+=".globpath($GOPATH, "src/github.com/nsf/gocode/vim")を追加します。 これで、『.』の後にをタイプすれば、入力候補が出てきます。 色が気持ち悪いので hi Pmenu ctermbg=7 hi PmenuSel ctermbg=4 hi PMenuSbar ctermbg=8を設定しています。 私は『neocomplcache』を入れて『.』で自動的に入力候補を出してくれます。 NeoBundleを入れてやってます。 私はプレゼンで使う事も多いので端末の文字が大きめなので Goだとタブがきついのでset tabstop=4 set shiftwidth=4 set softtabstop=4を入れて少し幅を小さくしています。 プラグインのツリー表示を前に使ってたのですが、 最近パソコンがいかれたので、 折角なのでExモードでタブを使う用にしています。 『vim』ってだけ打つとExモードで立ち上がる設定function! s:GetBufByte() let byte = line2byte(line('$') + 1) if byte == -1 return 0 else return byte - 1 endif endfunction autocmd VimEnter * nested if @% == '' && s:GetBufByte() == 0 | Ex | endifまぁこんな感じです。 本当にGo使う為だけに設定した.vimrcはこちら。package main import "fmt" func main() { fmt.Println("%d",5) }
2014年4月15日火曜日
Go言語開発をVimで
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿