يقوم مدير الملفات 7Z بحذف ملف مؤقت للمحرر الخارجي

StackOverflow https://stackoverflow.com/questions/3830395

  •  26-09-2019
  •  | 
  •  

سؤال

أنا أستخدم الكثير من التطبيقات من PortableApps.com للعمل ، وخاصة 7-zip المحمولة و GVIM المحمولة.

لقد قمت بتعيين محرر 7Zip الخارجي على gvimportable.exe. إنه يعمل بشكل مثالي عند تحرير ملف لا يوجد داخل أرشيف أو ملف مضغوط ... لكنه يفشل فشلاً ذريعًا عند تحرير ملف داخل ملف أو ملف مضغوط.

ما يحدث هو أن 7-ZIP Portable يخزن الملف إلى مكان مؤقت ، ويطلق gvimportable.exe ، والذي يفتح gvim.exe.

وبعض الوقت بعد خروج gvimportable.exe ، أستطيع أن أرى في procmon أن 7zfm.exe تقوم بـ "setDispositionInformationFile" (التفاصيل: "حذف: صحيح") الذي يحذف الملف المؤقت ، وعندما يحاول GVIM فتحه ، كان الملف قد تم فتحه. تم الحذف.

لاحظ أنه يعمل بشكل مثالي إذا قمت بتعيين المحرر على NotePadPlusPlusPlusable.exe.

هل لديك تفسير لهذا السلوك؟

من فضلك لا هذا -f خيار gvimportable.exe لا يحل مشكلتي.

هل كانت مفيدة؟

المحلول

عندما بدأت GVIM كما تقول افتراضيًا ، يعتقد 7Z أن 7Z يعتقد أن التحرير قد انتهى من الملف وحذفه.

ما تحتاجه هو تمرير الحجة -f أو --nofork لمنع هذا.

انظر قسم بدء التشغيل في دليل GVIM

Rev1

يضيف

let &guioptions = "gmrLtTf"

ل _vimrc (تحرير-> إعدادات بدء التشغيل)

نصائح أخرى

أعتقد أنني وجدت حلاً ، على الأقل يعمل على ENV (7zip v9.20 + GVIM 7.2 من PortableApps).

  1. اضبط محرر 7Zip للاستخدام <base>\App\vim\vim72\gVim.exe بدلا من ال <base>\gVimPortable.exe
  2. ضع ملف .VIMRC على <base>\App\vim\_gvimrc (ليس في <base>\Data\setting).

تفسير:

  1. ستقوم 7Zip بحذف ملف temp بعد أن يعتقد أن التطبيق الخارجي قد تم إنهاءه ، وأعتقد أن GVimportable يعطي 7zip مؤشرا خاطئا على هذا. لذا استخدم gvimportable ، فأنت بحاجة إلى حظ لرؤية المحتوى ، لأنه يجب أن يكون سريعًا بما يكفي لفتح الملف قبل حذفه 7zip ، ويعمل في وقت ما ، وأحيانًا لا. لكن 7Zip يمكن دائمًا اكتشاف GVIM بشكل صحيح.
  2. لقد تخمنت للتو ، لكن يبدو كلاهما <base>\App\vim\vim72\gVim.exe و <base>\gVimPortable.exe يمكن تحميل <base>\App\vim\_gvimrc :-)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top