سؤال كيف يمكنك إعادة تحميل ملف .vimrc الخاص بك دون إعادة تشغيل vim؟


يمكنك تحرير الخاص بك .vimrc ملف وإعادة تحميله دون الحاجة إلى إعادة تشغيل فيم؟


504
2018-04-17 14:18


الأصل




الأجوبة:


إذا كنت تعدلها ، فيمكنك إعادة تحميلها باستخدام:

:so %

% لتقف على اسم الملف الحالي (انظر :h current-file) و :so هو اختصار ل :sourceالذي يقرأ محتوى الملف المحدد ويعامله ككود Vim.

بشكل عام ، لإعادة تحميل .vimrc النشطة حاليا ، استخدم ما يلي (انظر يوميا فيم):

:so $MYVIMRC

620
2018-04-17 14:24



القي نظرة على stackoverflow.com/questions/803464/... - mrucci
و :so ~/.vimrc يجب أن تعمل أيضا على يونيكس - Yab
: حتى ~ / _vimrc يعمل على النوافذ. بالطبع ، أحتفظ بـ _vimrc في دليل النوافذ الرئيسي ، وإلا فلن ينجح ذلك. لمعرفة ما يعتبره Vim دليل منزلك ، استخدمه :echo expand("~"). - Daniel Miladinov
لاحظ أنه إذا كانت تعيينات لوحة المفاتيح موجودة بالفعل ، فلن يتم مسحها حتى إذا تم حذفها من vimrc الجديد - Phani


حتى أفضل ، يمكنك تكوين فيم لمشاهدة التغييرات في حياتك .vimrc وإعادة تحميل التهيئة تلقائيًا.

augroup myvimrc
    au!
    au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif
augroup END

مصدر: هذا الجواب على SO

ملاحظة: هذه طريقة معينة الساعات للعديد من الأشكال المختلفة من أسماء التكوين فيم بحيث انها متوافقة مع واجهة المستخدم الرسومية فيم، ويندوز فيم، الخ


76
2018-04-28 09:32



ما مدى اداء هذه الطريقة؟ - Alexej Magura
أجد أن استخدام هذا النوع من الأوامر في بعض الأحيان معلقة بلدي nvim لبضع ثوان أو أطول. - jdhao


التعيينات الرئيسية

" Quickly edit/reload this configuration file
nnoremap gev :e $MYVIMRC<CR>
nnoremap gsv :so $MYVIMRC<CR>

الحل الآلي بالكامل

إلى تلقائيا عند إعادة التحميل، أضف التالي إلى حسابك $MYVIMRC:

if has ('autocmd') " Remain compatible with earlier versions
 augroup vimrc     " Source vim configuration upon save
    autocmd! BufWritePost $MYVIMRC source % | echom "Reloaded " . $MYVIMRC | redraw
    autocmd! BufWritePost $MYGVIMRC if has('gui_running') | so % | echom "Reloaded " . $MYGVIMRC | endif | redraw
  augroup END
endif " has autocmd

ثم للمرة الأخيرة ، اكتب:

:so %

في المرة القادمة التي تقوم بحفظ الخاص بك vimrc، سيتم إعادة تحميلها تلقائيًا.

ميزات:

  • يخبر المستخدم ما حدث (تسجيل الدخول إلى :messages)
  • يتعامل مع أسماء مختلفة لملفات التكوين
  • يضمن أن wil تطابق ملف التكوين الفعلي فقط (يتجاهل النسخ في الدلائل الأخرى ، أو fugitive:// فرق)
  • لن يحدث خطأ عند استخدام vim-tiny

بطبيعة الحال ، فإن إعادة التحميل التلقائي لن يحدث إلا إذا قمت بتحرير الخاص بك vimrc في فيم.


9
2017-09-02 14:12





بديل للتذكر / الكتابة :so $MYVIMRC هذه التعيينات. يتيح لك تحرير vimrc بسرعة (ev) أو مصدر vimrc (sv).

" Quickly open/reload vim
nnoremap <leader>ev :split $MYVIMRC<CR>  
nnoremap <leader>sv :source $MYVIMRC<CR>     

5
2018-06-17 10:36