السادس/همة استعادة الملفات التي تم فتحها
سؤال
كنت أتساءل إذا كان هذا المشتركة IDE الميزة متوفرة.
افترض فتح العديد من الملفات باستخدام همة ، باستخدام vsplit
و split
.ثم أغلق كل شيء.
في اليوم التالي, أريد أن استعادة تلك الملفات.هذا هو استرداد الطريقة التي تم فتحها عدم الحاجة إلى فتح كل واحد (باستخدام split
و vsplit
) مرة أخرى.
هل هذا ممكن ؟
تحديث:
باستخدام mksession!
و source
أوامر تعيين الأوامر في .vimrc
ملف, هل هناك طريقة parameterize تعيينات حتى كتابة محددة الملف ؟
على سبيل المثال:
map <F2> :mksession! ~/vim_session @INSERT_HERE<cr> "Save session to @INSERTHERE file
شكرا مقدما
المحلول
ويمكنك تعيين باستخدام: mksession و: المصدر إلى مجموعة من المفاتيح لتوفير سهلة واستعادة. وهنا مثال من وجهة نظري .vimrc يستخدم F2 و F3:
map <F2> :mksession! ~/vim_session <cr> " Quick write session with F2
map <F3> :source ~/vim_session <cr> " And load session with F3
نصائح أخرى
وتعطي نظرة على :mksession
الأوامر، لخلق <ل أ href = "http://vimdoc.sourceforge.net/htmldoc/starting.html#views-sessions" يختلط = "noreferrer"> session
:
وA الدورة تبقي المشاهدات لجميع النوافذ، بالإضافة إلى الإعدادات العمومية. يمكنك حفظ جلسة وعند استعادة لاحقا تخطيط نافذة متشابهون. يمكنك استخدام الدورة للتبديل بسرعة بين مختلف المشاريع، وتحميل تلقائيا الملفات التي تم الماضي في العمل على في ذلك المشروع.
اقتباس فقرة>هل يمكن النظر في استخدام GNU شاشة . باختصار: انها نافذة مدير سطر الأوامر التي تسمح للمستخدم الوصول إلى عدة جلسات محطة منفصلة داخل محطة الدورة واحدة. والميزة الرئيسية بالنسبة لي هو أنه يمكنك فصل الدورة، أغلق نافذة المحطة الطرفية، وبعد إعادة إرفاق الدورة، ومواصلة العمل.
والنهج الأفضل وجدتها هو استخدام البرنامج المساعد همة الدورة، HTTP: // جيثب. كوم / xolox / همة الدورة التي يمكن تركيبها عن طريق إضافة:
Plugin 'xolox/vim-session'
ل.vimrc الخاص بك، تليها:
:PluginInstall
وهذا البرنامج المساعد يدعم جلسات متعددة: يمكنك تحديد جلسة بالاسم ومن ثم التعامل معه بهذا الاسم. يمكن إضافة جلسات أو حذفها، وتحديثها، المدرجة، ...
ولقد تم استخدامه لعدة أشهر من الآن. موصى به للغاية.
وكنت قد تكون مهتمة في هذا الكتاب:
http://www.swaroopch.com/notes/Vim#Download
وانها واحدة من الاشياء القليلة الأولى التي تظهر لك كمثال على كيفية كبيرة فيم هو. ؛)
وأيضا، <cr>
لتقف على نقل العودة.
SessionMan http://www.vim.org/scripts/script.php?script_id=2010 يقدم أسهل وظيفة.كن حذرا مع miniBufExplorer.انها لا تتفق إلا إذا كنت تستخدم نسخة معدلة مصنوعة من قبل أندرو على vim_use (وحتى ذلك الحين, انه في منتصف الطريق فقط متوافق)
وبلدي الحل هو على النحو التالي، ووضعها في ملف .vimrc. HTH.
" session related.
" Default session is located `~/.session_'. The suffix `_' is a dirty
" solution, just like the one-element tuple `(tuple_eliment,)' in Python..
cnoremap <C-O> source ~/.session_
cnoremap <C-S> mksession! ~/.session_
nnoremap <silent> <C-S><C-S> :mksession! ~/.session_ <CR>
ويبدو أن أكثر تعقيدا، ولكنها مفيدة جدا إذا كان لديك جلسات متعددة لحفظ وتحميل.
وP.S.
هنا، I اعتماد <Ctrl-S>
و<Ctrl-O>
اختصارات مألوفة، لحفظ وتحميل دورات. IMHO، وهذا هو أكثر راحة من الوصول يدي إلى <Fn>
مفتاح. ؛ -)
وأنا أقترح استخدام همة-هاجس . هو أفضل بكثير من mksession
الافتراضي كما أنه يبقى من الوقت الخاص بك لا تزال تفعل ما تريد.
على أساس hgmnz الجواب وتوسيع التحديث.
يمكنك إسقاط <cr>
من رسم الخرائط و هذا سوف يضع لك في وضع الأوامر لإنهاء الأمر.
map <F2> :mksession! ~/<will stop here and you can type>
عندما تسير في وضع الأوامر يمكنك كتابة % ثم اضغط tab وسوف تتوسع إلى الملف الحالي هو المسار المطلق ، يمكنك أيضا كتابة %:p:h ثم اضغط tab للتوسع في الملف الحالي دليل.
يمكنك أيضا حفظ كل دورة إلى دليل العمل وباستخدام المحلية العازلة الدلائل يمكنك الحصول على العديد من جلسات العمل الدلائل.
map <F2> :mksession! ./.vim_sessions <cr> " Will save session to current buffers directory.
map <F3> :source ./.vim_sessions <cr>
:lcd " Changes the current's buffer directory
أيضا أن تكون حذرا مع إعادة جلسات كما يفعل تفريغ جميع الراهنة تحميل مخازن (http://vimdoc.sourceforge.net/htmldoc/starting.html#%3Amksession)
- افرغت كل تحميلها حاليا مخازن.