社内で利用している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
とかのエラーが出るけど、ちゃんとプラグインのインストールは出来てて、実害は無さそうなのでとりあえず放置で。