เมื่อฉันทำการเปลี่ยนแปลง.vimrc
ฉันมักจะออกเป็นกลุ่มและเปิดมันอีกครั้ง มีวิธีที่ง่ายกว่าในการโหลดการ.vimrc
เปลี่ยนแปลงใหม่หรือไม่
เมื่อฉันทำการเปลี่ยนแปลง.vimrc
ฉันมักจะออกเป็นกลุ่มและเปิดมันอีกครั้ง มีวิธีที่ง่ายกว่าในการโหลดการ.vimrc
เปลี่ยนแปลงใหม่หรือไม่
คำตอบ:
วิ่ง:
:source $MYVIMRC
ด้านในเป็นกลุ่มเพื่อโหลดvimrc
ไฟล์ซ้ำ หรือรุ่นที่สั้นกว่า:
:so $MYVIMRC
ตามที่กล่าวไว้ในความคิดเห็นโดยkenorb
คุณอาจพบว่ามีประโยชน์ในการแมปแบบฟอร์มใดรูปแบบหนึ่งกับคีย์ ตัวอย่างเช่น:
nnoremap <Leader>r :source $MYVIMRC<CR>
:so $m
<Tab> ←การตัดสั้นพิเศษ
:so %
บันทึกการกดแป้นพิมพ์สองมากขึ้นด้วย %
ถูกตั้งค่าเป็นชื่อไฟล์ปัจจุบันของบัฟเฟอร์ที่คุณแก้ไขในกรณีนี้$MYVIMRC
หากคุณต้องการโหลดไฟล์ใหม่อีกครั้ง
:source $MYVIMRC
อย่างที่เปาโลเขียนนั้นถูกต้อง หากคุณเปลี่ยน vimrc บ่อยครั้งคุณสามารถเพิ่มสิ่งนี้ในไฟล์ vimrc ของคุณ:
autocmd BufWritePost .vimrc,_vimrc source $MYVIMRC
นี้จะโหลดไฟล์เมื่อคุณเขียน (จากภายในเซสชันเป็นกลุ่ม
.vim/vimrc
, (2) จะสร้างซ้ำกันautocmd
ดังนั้นการบันทึกแต่ละครั้งจะช้าลงเนื่องจากไฟล์จะถูกโหลดซ้ำหลายครั้ง (3) ไม่ทำงานกับ vim-tiny ซึ่งไม่ได้ทำงาน มี autocmd และยังคงเป็นค่าเริ่มต้นในการแจกแจงลินุกซ์บางอย่าง ดูคำตอบของฉันเพื่อแก้ไขปัญหาเหล่านี้
" 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
)fugitive://
ต่างกัน)vim-tiny
แน่นอนว่าการโหลดอัตโนมัติจะเกิดขึ้นเฉพาะเมื่อคุณแก้ไขvimrc
เป็นกลุ่ม
:so $MYVIMRC
ทางลัด: