2012-02-10 10 views
1

私はRedHat EL 5を使用しています。私はGTKを使ってコンパイルされたgvim 7.1を使用しています。私が望むのは、gvimからsvn commit(vi/vimを使用)を実行できることです。現在のところ、唯一の問題は、出力が文字化けしていることです。例えば は、呼び出し:!VIはgvimを内から、これを生成します。vimからviを呼び出す(svnコミットに便利です)

[7;1H~ 
            [8;1H~ 
              [9;1H~ 
               [10;1H~ 
                 [11;1H~ 
                   [12;1H~ 
                     [13;1H~ 
                      [14;1H~ 
                        [15;1H~ 
                          [16;1H~ 
                            [ 
17;1H~ 
    [18;1H~ 
      [19;1H~ 
        [20;1H~ 
          [21;1H~ 
           [22;1H~ 
             [23;1H~ 
               [24;1H~ 
                 [25;1H~ 
                  [26;1H~ 
                    [27;1H~ 
                      [28;1H~ 
                        [29;1H~ 
                         [30;1H~ 
                           [31 
;1H~ 
    [32;1H~ 
      [33;1H~ 
       [34;1H~ 
         [35;1H~ 
           [36;1H~ 
             [37;1H~ 
              [38;1H~ 
                [39;1H~ 
                  [15;42HVIM - Vi IMproved[17;43Hversion 
7.0.237[18;39Hby Bram Moolenaar et al.[19;29HVim is open source and freely distributable[21;36HHe 
lp poor children in Uganda![22;28Htype :help iccf<Enter>  for information [24;28Htype :q<En 
ter>    to exit   [25;28Htype :help<Enter> or <F1> for on-line help[26;28Htyp 
e :help version7<Enter> for version info[1;1H 

私はこの問題を解決し、それによって私のsvnはgvimをから呼び出されたときに適切な見てコミット有効にするのvi/vimの/ gvimを設定するにはどうすればよいです。

は、ありがとう Nachum

答えて

4

ではなくgvim -fを使用し、コマンドとしてviを使用しないでください。

問題は、コンソール内でvi(またはvim)にカーソルを移動するなどの処理ができる端末が必要なことです。gvimのptyは非常に基本的なASCII専用端末です。

プレーン古いvimは、サブポーテーションを端末に直接パイプするだけなので、この問題は発生しません。そのため、すべてのエスケープシーケンスが引き続き機能します。新しいgvimをウィンドウがあなたのコミットメッセージをポップアップ表示されるように

あなたは、代わりにgvim -fを使用することができます。 (新しいウィンドウが表示されるので)これはあなたが求めたものではありませんが、vimに完全な端末サポートを追加しなければ、あなたが求めたものに最も近いものです。

2

私はVCSCommand、SVN、GITと他の人と働く素敵なVCSラッパーを使用します。 :VCSCommitまたは,ccは現在のメッセージの下に新しいウィンドウを開き、メッセージを入力して実際のコミットを書き込みます。確かにそれはあなたのセットアップでもう一つのプラグインですが、コンベンションはそれに値するかもしれません。それは私のためです。

関連する問題