Как вам перезагрузить ваш.файл vimrc без перезапуска vim?

вы можете редактировать свои .vimrc файл и перезагрузить его без перезагрузки Vim?

3
задан Oxfist
17.01.2023 17:13 Количество просмотров материала 2466
Распечатать страницу

4 ответа

если вы редактируете его, вы можете перезагрузить его:

:so %

% обозначает текущее имя файла (см. :h current-file) и :so сокращенно :source, которое считывает содержимое указанного файла и обрабатывает его как код Vim.

в общем, для повторной загрузки активного в данный момент .vimrc, используйте следующее (см. Daily Vim):

:so $MYVIMRC
620
отвечен Matteo Riva 2023-01-19 01:01

еще лучше настроить Vim для отслеживания изменений в .vimrc и автоматически перезагружать конфиг.

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

источник: это ответ на так

Примечание: этот конкретный метод отслеживает множество вариантов имен файлов конфигурации Vim, чтобы он был совместим с GUI Vim, Windows Vim и т. д.

76
отвечен Andrei 2023-01-19 03:18

клавиш

" 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:// diff)
  • не вызовет ошибку при использовании vim-tiny

конечно, автоматическая перезагрузка произойдет, только если вы отредактируете vimrc в vim.

9
отвечен Tom Hale 2023-01-19 05:35

альтернатива запоминанию / вводу :so $MYVIMRC эти сопоставления. Это позволяет быстро редактировать vimrc (ev) или источник vimrc (sv).

" Quickly open/reload vim
nnoremap <leader>ev :split $MYVIMRC<CR>  
nnoremap <leader>sv :source $MYVIMRC<CR>     
5
отвечен maged 2023-01-19 07:52

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх