3

私は、portableapps.com の多くのアプリケーション、特に 7-zip ポータブルと gVim ポータブルを仕事に使用しています。

7zip の外部エディターを gVimPortable.exe に設定しました。アーカイブまたは圧縮ファイル内にないファイルを編集する場合は完全に機能しますが、アーカイブまたは圧縮ファイル内のファイルを編集する場合は悲惨なことに失敗します。

何が起こるかというと、7-zip ポータブルがファイルを一時的な場所に保存し、gvimportable.exe を起動し、gvimportable.exe が gvim.exe をフォークして開きます。

gvimportable.exe が終了してしばらくすると、Procmon で、7zFM.exe が一時ファイルを削除する「SetDispositionInformationFile」(詳細: 「Delete: True」) を実行し、gvim がそれを開こうとすると、ファイルが削除されました。

エディターを NotepadPlusPlusportable.exe に設定すると、完全に機能することに注意してください。

この動作について説明はありますか?

-fgVimPortable.exe のオプションでは問題が解決しないことに注意してください。

4

2 に答える 2

3

gvimがデフォルトで開始されると、フォークして終了するため、7zは編集が終了したと見なし、ファイルを削除します。

必要なのは、引数を渡す-f--nofork、これを防ぐことです。

gvimマニュアルのスタートアップセクションを参照してください

rev1

追加

let &guioptions = "gmrLtTf"

to _vimrc([編集]-> [スタートアップ設定])

于 2010-10-08T07:47:56.427 に答える
2

私は解決策を見つけたと思います.少なくとも私のenv(7zip v9.20 + PortableappsのgVim 7.2)で動作します.

  1. <base>\App\vim\vim72\gVim.exe代わりに使用する 7zip エディターを設定します。<base>\gVimPortable.exe
  2. .vimrc ファイルを<base>\App\vim\_gvimrc(ではなく<base>\Data\setting) に置きます。

説明:

  1. 7zip は、外部アプリが終了したと判断した後に一時ファイルを削除します。gVimPortable は 7zip に間違った指示を与えると思います。したがって、gVimPortable を使用してください。7zip でファイルを削除する前にファイルを開くのに十分な速さである必要があるため、コンテンツを表示するには運が必要です。しかし、7zip は常に gVim を正しく検出できます。
  2. 推測しただけですが、両方のようで、<base>\App\vim\vim72\gVim.exeロード<base>\gVimPortable.exeできました<base>\App\vim\_gvimrc:-)
于 2011-06-23T18:01:21.817 に答える