Glide Note

glidenote's blog

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

とかのエラーが出るけど、ちゃんとプラグインのインストールは出来てて、実害は無さそうなのでとりあえず放置で。

Comments