スキップしてメイン コンテンツに移動

vimスクリプトのuniteでsvn statusとsvn diffするsource書いた

書きました。
普段使い用に自己満足化した状態で作ってしまっているので、
必要だろうと思われる設定や機能等、教えていただけるとありがたいです。
更には“既にもっと便利なプラグインあるよ!”みたいなのもあれば教えていただけると助かります。

使い方は unite.vim を入れた上で、autoloadディレクトリをマージしてもらえればいけると思います。

そもそも Unite とは、emacsのanythingプラグインと似た感じの動作をするvimのプラグインです。すばらしいですね!

Uniteを開発されているShougoさんのリポジトリ(github):https://github.com/Shougo/unite.vim

ということで僕が書いた駄ソースは以下になります。

https://github.com/kmnk/vim-unite-svn

svn/statusに対してsvnコマンドを実行するactionを拡張していますが、ベースは jump_list なので特に違和感は無いと思います。
拡張しているのは以下のコマンドです。


  • 複数選択可

    • commit

    • add

    • revert

    • delete

    • diff





  • 複数選択不可

    • blame

    • log





以下、簡単な動作説明


Unite svn/status すると


簡単な一覧が出ます。


Tabでメニューを出して add と打って実行すると


svn addされてステータスが変わります。


複数ファイルの場合もスペースでマークして


Tabでメニューを出して commit と打って実行すると


コメント入力画面になるので(普段使わないので -m 対応してないです)、記述して:wqで


コミットされます。


適当に編集すると差分が発生するので



選択して diff と打って実行すると


Unite svn/diff:{file name 1}:{file name 2}:... が実行された結果が出るので、見たい行を選択して Enter を押すと


デフォルトの open が動作して対象ファイルの対象行に飛びます。

一部を選択して操作するのが若干簡単になるかもしれません。

特に今のところ status と diff に関してはこれで困ってないので他により便利なsourceが見つかったりしなければ、次は blame を書こうと思います。

追記(11/02/12 23:22):
書きました。
blame差分

大き目のブランチで試していないので動作が危ういかもしれないです…

追記(11/02/20 22:04):
↑多分大丈夫そうでした。

gitは自分が使いこなせてないので、実用Gitをもりもり読み終わったら作ってみます。

追記(11/02/21):
↑blameやっぱりエラーが出るようです…

裏では泥臭く正規表現書いてmatchlist呼んでいるだけなのでどこかでつまづくかもしれないです

コメント

このブログの人気の投稿

日記をつけはじめて1年とちょっと経ったまとめ

日記をつけはじめて1年とちょっと経ったまとめ 去年(2017)の 1/11 から日記をつけ始め、気づくともう1年以上ほぼ毎日つけていました まさか習慣化するとは思っていなかったんですが、意外と続いたので一旦まとめておこうと思ってのエントリ このエントリでは どういう手法で続けてきたか や 続けてきた結果どうなったか などをまとめておいて、自分用の改善材料にすること、及び、このエントリを見た人の判断材料にすることを目的としています …ので、書き始めた主要因である書籍 日記の魔力 については、覚えている内容を参考にする程度で、本自体の紹介はほぼしないです(読み返すのが面倒だっただけじゃないです) まとめ 書いてみたら長くなったので、まとめから 自分用のフォーマットを整えれば意外と書くのは楽 愚痴も悩みもとりあえず文字に吐き出すと精神衛生上良い 忘れっぽいと思っていたら、思っていたより数倍物事を忘れていることに気づく 万が一興味を持ったら一度 日記の魔力 を読んでみては 今後は… これまで通り毎日ログを書く ふりかえりの意義を再考して、ちゃんと毎週&毎月ふりかえるようにする ふりかえりの中で、どういうログを書いておくと使いやすいか考えて、日記自体も改善する 以降、自分のふりかえりも兼ねているため長文ですが、つらつらと書きます きっかけ 最初のきっかけは、 Twitter のタイムラインに流れてきたブログのエントリ 思考や行動を改善できる「日記の魔力」とは の引用…だった気がする(この時はまだログをつけていなかったので記録も記憶も残っていない…) ここで紹介されている 日記の魔力 という本を一通り読み、本に書いてあるとおりに 騙されたと思って日記を書き始めてみよう と思ったのが最初の一歩 手法 記憶が朧げですが、確か本の著者の方の手法は ワープロかPCか何かで、毎日のログを隙間時間にファイルに記述する 10日に一度くらいのスパンでそれまで書いた日記をふりかえる ふりかえりの中で、自分が人生で追っていきたい主題みたいなものに関連する内容を別のファイルにコピペして貯めていく みたいな形だったはず。色々と細かいルール(天気などの後から調べれば分かることは書かない等)が少しあった気がするけれど、既に覚えて...

git status と git branch ができる unite の source 書いた

書きました。 https://github.com/kmnk/vim-unite-giti すでに有りそうな気もするんですが、今のところ知らないのと、 http://kmnk.blogspot.com/2011/02/unitesvn-statussvn-diffsource.html で書くといって既に一年経っているのとで自分で書いてみました。 まだ仕事でがっつり使っていないので、バグや動作不全などあるかもしれません。 昔作った svn と違って何故か vim-unite-git じゃなくて giti なのは、日和っただけで深い意味は無いです。 インストール方法は割愛します。unite.vim 使っている方なら余裕なはずという想定で… 作ったsourceの名前は以下。 giti/status giti/branch 追記(02/29): READMEには追加しているんですが、sourceをいくつか追加しました。以後は README.markdown を参照してください。 giti giti/log giti/config  追記ここまで(02/29) それぞれ、独自 kind を定義していて、以下のactionを持っています。 giti/status add $ git add $FILES rm_cached $ git rm --cached -- $FILES reset $ git reset HEAD $FILES commit $ git commit $FILES amend ←動作が怪しい $ git commit --amend $FILES checkout $ git checkout -- $FILES diff $ git diff $FILES diff_cached $ git diff --cached $FILES git/branch run $ git checkout $BRANCH_NAME or git checkout -b $NEW_BRANCH_NAME delete $ git branch -d $BRANCH_NAME その他、以下の関数を用意しています。key map などして使えるかもしれないです。 giti#branch#delete_force(branch) $ git branch -D...

builderscon tokyo 2017 に行ってきた

builderscon tokyo 2017 に行ってきた builderscon tokyo 2017 (2017/08/03-05) の本編1,2日目に行ってきました きっかけは rebuild.fm のスポンサー宣伝 YAPC ASIA の系統をついでいるのもあるのか、 コンテンツ はかなり幅のある内容で、誰でも興味のある内容が何かしらあるであろう。な、カンファレンスでした 発表資料は既に タイムテーブル の各詳細ページに大体公開されているので、内容はそちらを参考にしていただければと思います(リンクが貼られていないものも少し有りますが、検索すればどこかに上がってることが多いはずです) このエントリでは、自分が聞きに行ったセッションがどこだったかのリストとセッション全体についてのざっくりとした感想、及び、カンファレンス自体についてのざっくりとした感想を書いておき、来年以降また開催された時の参加判断の資料にできればと思います 更新履歴 2017.08.07 公開 聞いたセッション 実際にその場に行って、聞いたセッションのリスト 1日目 Opening DeepLearningによるアイドル顔識別を支える技術 ランチセッション A 株式会社VOYAGE GROUP ランチセッションB Momentum株式会社 マイクロチームでの高速な新規開発を支える開発・分析基盤 Goで実装する軽量マークアップ言語パーサー 2日目 静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話 小さく始めて育てるコンパイラ ランチセッション【PR】エンジニアがkintoneを使うべき3つの理由 サイボウズ株式会社 ランチセッション 【PR】検索サービス開発が絶対におもしろいと思う理由 Supership株式会社 polyglot になろう !! WEB+DB PRESS 100号記念 特別企画 聞きたかったセッション 後評判を聞いたりして、聞きたかったかなーと思ったセッション(後でスライド読む) 1日目 Desktop Apps with JavaScript 横山三国志に「うむ」は何コマある?〜マンガ全文検索システムの構築 RDBアンチ...