1

OSX マシンに MacVim をセットアップしているので、デフォルトのVimアプリケーション (例: /usr/bin/vim) は、実際には MacVim に同梱されているコマンドライン バージョンの Vim (例: /Applications/MacVim.app) へのシンボリック リンクになります。 /MacOS/vim)、OSX10.6 に同梱されている標準の Vim よりも重要な利点がいくつかあります。

一連のファイル間の差分を定期的に準備し、それをカラフルなサイド バイ サイド ビューの HTML ファイルにエクスポートする必要があります。これは一般的に次の方法で実現されます。

vim -d file1 file2
(Within Vim): toHTML

これに関する問題は、2 つのファイル セットの HEAD リビジョンと特定のリビジョンを手動でチェックアウトし、ファイルの各ペアに対してこの操作を実行する必要があることです。これには非常に時間がかかります。

コマンドの結果をsvn diffVim にパイプして、統合された差分ビューだけでなく、ディレクトリ全体 (つまり、PWD) のカラフルなサイド バイ サイド ビューの差分を作成することはできますか?

これを達成しようとするいくつかの Vim スクリプトと bash スクリプトを見つけましたが、2 つの重要な問題があります。

  1. MacVimアプリケーションvim -dには .vimdiffvimdiff

  2. 一度に 1 つまたは 2 つのファイルだけではなく、ディレクトリ全体に対して複数ファイルの差分を再帰的に生成したいと考えています。

これが不可能な場合は、多かれ少なかれこれを達成する bash スクリプトを作成することもできますが、これを行うためのより効果的な手段がある場合は、ハッキングされた/信頼できないスクリプトをまとめるのは避けたいと思います。

ありがとうございました。

4

3 に答える 3

2

vimdiffは単に の別名ですvim。バイナリは起動方法を確認し、それに応じて動作を決定します。(そのためgvim、 and にvimも別のファイルはありません。)

Mac OS と Linux マシンで~/binディレクトリを作成し、その中にさまざまな名前から macvim バイナリへのソフトリンクを作成しました。私~/binは自分の道を非常に早く始めました。

私は確認できる仕事をしていませんが、デフォルトの SVN diff を変更しvimdiffて ~/.subversion/config を指すようにできると思います。セクションを探しdiff-cmdます。https://stackoverflow.com/a/9604604/128421も役立つ情報を提供する場合があります。

于 2012-08-31T04:34:00.027 に答える
1

私のaurum:AuVimDiffプラグインを試すことができます.vimdiff分割で複数のタブですべての変更を表示できるコマンドが同梱されています:

AuVimDiff full HEAD 300

手動でチェックアウトすることなく、2 つのリビジョン間の差分を取得します。

AuVimDiff file file1 HEAD 300

(file file1一部はオプションです。省略した場合は、現在のファイルで diffsplit が開きます。すべてのリビジョンもオプションです。1 つのリビジョンを指定すると、作業ディレクトリ内のファイルと比較され、リビジョンを指定しない場合はsvn diff、BASE と作業ディレクトリの間のようになります。)

ここでの 300 は単なるリビジョンの例です。

于 2012-08-29T16:18:07.360 に答える