write ahead log

ロールフォワード用

vim-goを使う

vim-go, 使い方がよくわかっていないのでチュートリアルをやってみた.
(gocodeのコード補完だけでも便利だけど)

チュートリアルは作者さんのを見るのが一番だろうけど, ありがたいことにhnakamurさんが日本語訳してくれている.

読んでみると, とても多機能で凄すぎなんだけど, 全部は使いこなせないのでよく使いたくなりそうなものだけメモしとく.

テスト

GoCoverageはマジで感動した.

コマンド 機能
:GoTest テストを実行
:GoTestFunc カーソル下の関数のテストだけ実行
:GoCoverage テストカバレッジに合わせてコードを色付け
:GoCoverageClear 色付けを解除
:GoCoverageToggle CoverageとClearをトグル

テキスト編集

if はinner function, af は a functionかな?

コマンド 機能
dif 関数内削除
vif 関数内選択
daf 関数全体削除
vaf 関数全体選択

定義ジャンプ

コマンド 機能
:GoDef 識別子の定義へ移動
gd :GoDefのノーマルモードでのエイリアス
Ctrl + ] 同上
:GoReferrers 識別子の参照をFixリストへ
:GoCallees 関数の呼び出される側の一覧をFixリストへ
:GoCallers 関数の呼び出し元一覧をFixリストへ
ctrl + t 移動から戻る(標準のctrl + oより賢い)

リファクタリング

コマンド 機能
:GoRename 識別子をリネームする

コード生成

コマンド 機能
:GoGenerate go generateを実行
:GoImpl カーソル上の識別子に対するインターフェース実装のテンプレートを実装

まだまだ機能があり全然使いこなせませんが, ほんと, 便利です.