Pertanyaan Bagaimana Anda memuat ulang file .vimrc Anda tanpa memulai ulang vim?


Bisakah Anda mengedit .vimrc file dan kembali tanpa harus me-restart Vim?


496
2018-04-17 14:18


asal




Jawaban:


Jika Anda mengeditnya, Anda dapat memuatnya kembali dengan:

:so %

% singkatan dari nama file saat ini (lihat :h current-file) dan :so adalah kependekan dari :source, yang membaca isi file yang ditentukan dan memperlakukannya sebagai kode Vim.

Secara umum, untuk memuat kembali .vimrc yang sedang aktif, gunakan yang berikut ini (lihat Vim Harian):

:so $MYVIMRC

613
2018-04-17 14:24



Silahkan lihat stackoverflow.com/questions/803464/… - mrucci
dan :so ~/.vimrc harus bekerja juga pada unix - Yab
: jadi ~ / _vimrc berfungsi di windows. Tentu saja, saya menyimpan _vimrc di direktori home windows saya, atau ini tidak akan berfungsi. Untuk melihat apa yang dilihat Vim direktori home Anda, gunakan :echo expand("~"). - Daniel Miladinov
Perhatikan bahwa jika pemetaan keyboard sudah di tempat, maka mereka tidak akan terhapus bahkan jika mereka dihapus dari vimrc baru - Phani


Lebih baik lagi, Anda mengkonfigurasi Vim untuk melihat perubahan pada Anda .vimrc dan secara otomatis memuat ulang konfigurasi.

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

Sumber: jawaban ini pada SO

Catatan: metode khusus ini memperhatikan berbagai variasi nama file konfigurasi Vim sehingga kompatibel dengan GUI Vim, Windows Vim, dll.


76
2018-04-28 09:32



Bagaimana performanya adalah metode ini? - Alexej Magura


Pemetaan kunci

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

Solusi sepenuhnya otomatis

Untuk secara otomatis muat ulang saat menyimpan, tambahkan yang berikut ini ke Anda $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

lalu untuk terakhir kalinya, ketik:

:so %

Lain kali Anda menyimpannya vimrc, itu akan dimuat ulang secara otomatis.

Fitur:

  • Memberi tahu pengguna apa yang telah terjadi (juga masuk ke :messages)
  • Menangani berbagai nama untuk file-file konfigurasi
  • Pastikan bahwa itu hanya cocok dengan file konfigurasi yang sebenarnya (mengabaikan salinan di direktori lain, atau a fugitive:// diff)
  • Tidak akan menghasilkan kesalahan jika menggunakan vim-tiny

Tentu saja, pemuatan ulang otomatis hanya akan terjadi jika Anda mengedit vimrc di vim.


8
2017-09-02 14:12





Alternatif untuk mengingat / mengetik :so $MYVIMRC adalah pemetaan ini. Ini memungkinkan Anda mengedit vimrc dengan cepat (ev) atau sumber vimrc (sv).

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

5
2018-06-17 10:36