คุณสามารถแก้ไข.vimrc
ไฟล์และโหลดซ้ำโดยไม่ต้องรีสตาร์ท Vim หรือไม่
คุณสามารถแก้ไข.vimrc
ไฟล์และโหลดซ้ำโดยไม่ต้องรีสตาร์ท Vim หรือไม่
คำตอบ:
หากคุณกำลังแก้ไขคุณสามารถโหลดซ้ำได้ด้วย:
:so %
%
ย่อมาจากชื่อไฟล์ปัจจุบัน (ดู:h current-file
) และ:so
ย่อมาจาก:source
ซึ่งอ่านเนื้อหาของไฟล์ที่ระบุและถือว่าเป็นรหัส Vim
โดยทั่วไปหากต้องการโหลด. vimrc ที่ใช้งานอยู่ในปัจจุบันให้ใช้สิ่งต่อไปนี้ (ดูVim รายวัน ):
:so $MYVIMRC
:so ~/.vimrc
ควรทำงานบนยูนิกซ์ด้วย
:echo expand("~")
ที่จะเห็นสิ่งที่เป็นกลุ่มพิจารณาไดเรกทอรีบ้านของคุณให้ใช้
:so ~/.vim/gvimrc
ที่ใดก็ตามที่คุณวางไว้แน่นอน
ยิ่งไปกว่านั้นคุณกำหนดค่า Vim เพื่อเฝ้าดูการเปลี่ยนแปลงในของคุณ.vimrc
และโหลดการกำหนดค่าใหม่โดยอัตโนมัติ
augroup myvimrc
au!
au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif
augroup END
ที่มา: คำตอบนี้เกี่ยวกับ SO
หมายเหตุ: วิธีการเฉพาะนี้จะตรวจสอบชื่อไฟล์ Vim config ที่หลากหลายเพื่อให้เข้ากันได้กับ GUI Vim, Windows Vim และอื่น ๆ
" 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
คือการจับคู่เหล่านี้ มันช่วยให้คุณแก้ไข vimrc ( ev
) หรือ source vimrc ( sv
) ได้อย่างรวดเร็ว
" Quickly open/reload vim
nnoremap <leader>ev :split $MYVIMRC<CR>
nnoremap <leader>sv :source $MYVIMRC<CR>