السادس/همة استعادة الملفات التي تم فتحها

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

  •  06-07-2019
  •  | 
  •  

سؤال

كنت أتساءل إذا كان هذا المشتركة 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)

  1. افرغت كل تحميلها حاليا مخازن.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top