Trac WikiをVim上で編集する
社内で利用しているTracをVim上から編集出来たら楽だなーと思ってプラグインを探していたら、
VimTracという、そこそこ良いものがありました。
利用環境はTrac 0.12.2.ja1、Vim7.3です。
Trac側のXML-RPCプラグインを利用するので、もし未導入ならtrac xml-rpc – Google 検索などを参考にして導入してください。
VimTracの導入
VimTrac – A vim client for the Trac wiki and ticketing system : vim online
プラグインの管理にはVundleを利用しているので、.vimrcか.vimrc.localに下記のような設定を書いてBundleInstall。Trac-wikiマークアップ用プラグインも一緒に導入。
Bundle 'Trac-Wikimarkup'
Bundle 'VimTrac'
let g:tracServerList = {}
let g:tracServerList['strac'] = 'http://maeda:***********@192.168.25.37/trac/server/login/xmlrpc'
let g:tracServerList['ectrac'] = 'http://maeda:***********@192.168.25.37/trac/ec/login/xmlrpc'
let g:tracServerList['hostrac'] = 'http://maeda:***********@192.168.25.37/trac/hosting/login/xmlrpc'
let g:tracServerList['sharetrac'] = 'http://maeda:***********@192.168.25.37/trac/share/login/xmlrpc' |
みたいな感じで設定。***********は自分のtracログイン時のアカウントです。設定の書式は
let g:tracServerList['(Server Name)'] = 'http://(user):(password)@(trac serverpath)/login/xmlrpc' |
といった形式。社内Tracは部署ごとに分かれているので、
- strac
- ectrac
- sharetrac
などと私はtracServerListを設定してます。接続するときに利用します。
trac.vimの修正
Vundle経由で導入すると、trac.pyのpathを見つけられないので、~/.vim/bundle/VimTrac/plugin/trac.pyを下記のように修正
trac.vimの利用方法
Tracサーバに接続
tracServerListで設定した名前で接続
:TWServer strac :TWServer ectrac |
新規wikiページの作成
:TWCreate Common/Server/Memo/maeda |
wikiページの保存
:TWSave "Comment" |
既存wikiページを開く
:TWOpen Common/Server/Memo/maeda |
Wikiページの一覧リストからも選択可能です。
ticket一覧を表示
tracServerListで設定した名前で接続
:TTServer strac :TTServer ectrac |
ticket一覧取得は、最初利用出来なかったのですが、XML-RPCのプラグインをXmlRpcPlugin – Trac Hacksの最新のものにして利用できるようになりました。
社内tracなので当たり障りのないページを開いた感じ

社内SNSでmizzyさんから
VimTracって、編集中に別な人がページ更新した場合に、マージできるのかな?
と聞かれたので、検証をしてみたところ何の警告もなく、上書きをしてしまいました!!
doc/trac.txt at master from mjbrownie/Trac.vim – GitHubを見ても特にconflictとかmergeとかは書いてないので、機能的にないぽいです。複数人で同時に編集するようなページで利用するでは要注意です。
公式ページhttp://www.ascetinteractive.com.au/vimtracも現在はリンク切れなので、情報はかなり少なめです。
今までブラウザからのWiki編集に慣れてしまっていたので、まだ違和感がありますが、Vimで完結出来るので使い勝手良いです。
BundleInstallすると
E122: Function LoadWikiCommands already exists, add ! to replace it |
とかのエラーが出るけど、ちゃんとプラグインのインストールは出来てて、実害は無さそうなのでとりあえず放置で。

