Vimでgolangのシンタックスハイライト
ということで、.vimrcには以下のように設定する。To use all the Vim plugins, add these lines to your $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
Vimの環境構築
Ubuntu12.04での環境構築
最近になってやっとLinuxを開発に使うことが増えてきたので、 環境構築の記録をメモしていこうと思います。
ディストリビューションはDebian7かUbuntu12.04のどちらかにしようと思って、 とりあえずこのページはUbuntuの設定。
Linux初心者ですので、これからちょくちょく変更したり説明が間違ってたり するかもしれませんのでご注意あそばせ。
まずOSを入れたら、必要なツールを入れていきます。 Ubuntuソフトウェアセンターからインストール。
- ブラウザ。chromeみたいなもの。
・mozc
- GUIのSVNクライアント。TortoiseSVNには遠く及ばないが、とりあえず…
・git
・tig
- CUIでgitのログが見れる
- gvim
・byobu
- tmuxの皮。ターミナルのセッション管理とか、マルチウィンドウチックに
・ipython
- 最近goやってるので
・zsh
- すんばらしいシェル。まだ設定を試行錯誤中。
=== これから ===
Vimの環境構築をする
zshの設定をする
Linuxで気持ちいい開発をできるように色々設定していく
text/templateで配列の配列をもつ構造体の配列をもつ構造体を表示したい場合
golangで text/template を使用して文字を出力する場合で 渡すオブジェクトに、オブジェクトの配列(スライス)が含まれていて、 かつそのオブジェクト内にも配列(スライス)が含まれていた場合の表示方法。
文字で書くとわけわかめだがこんなの。
type piyo struct { Array [4][4]int } type hoge struct { piyos [4]piyo }
hoge.piyos[0].Array[0][0] にアクセスする場合の テンプレート側の書き方は、templateにhogeを渡したとして、
{{with index .piyos 0}}{{index .Array 0 0}}{{end}}
です。
HTML出力にtemplateを使用する場合は html/template を使いましょう。
なんというか、言語内は素晴らしく直感的なのに、 なんでこういうところがあまり直感的に見えないフォーマットなんだろう…。
参考
Vim + SCons
すばらですね。:set makeprg=scons