Перезавантажте .vimrc у Vim без перезавантаження


93

Мене це турбує, коли я щось писав, .vimrcі мені потрібно спершу закрити його та відкрити, щоб застосувати зміни. Чи існує спосіб перезавантаження .vimrcу Vim, не закриваючи його?

Наприклад , я додав set nuдо ~/.vimrcі я хочу , номери рядків будуть з'являтися для всіх моїх вікон і буферів.

Відповіді:


129

:source ~/.vimrc

Виконайте це з внутрішньої версії, яка застосує ваш .vimrc

По черзі

:source $MYVIMRC


18

Ось один для нащадків. Додайте до свого .vimrc:

map <leader>vimrc :tabe ~/.vim/.vimrc<cr>
autocmd bufwritepost .vimrc source $MYVIMRC

Перший рядок означає, що ви можете відкрити свій vimrc з будь-якого буфера vim, ввівши свого лідера, а потім написати "vimrc". Наприклад, моєму лідеру встановлено кома, тому, якщо я перебуваю в режимі редагування і набираю "vimrc", він відкриє мій vimrc на новій вкладці.

Другий рядок автоматично надсилає зміни до вашого vimrc, коли ви їх зберігаєте та закриваєте. Це магія.


1
Ідеально не хочете, map <leader>vimrc :tabe $MYVIMRC<cr>щоб ви відповідали autocmd?
Нік Бісбі

@NickBisby Для мене ~/.vimrc- лише заглушка, яка джерела, ~/.vim/.vimrcщоб я міг тримати все під контролем джерела. Для більшості людей ви праві, це було б :tabe $MYVIMRC<cr>.
Дін

1
Крім того, ви можете використовувати символічне посилання на ваш фактичний .vimrc файл, а не заглушку.
Спойк

Як я можу перезавантажити vimrc, не змінюючи положення мого курсору?
SergioAraujo


4
" 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

Звичайно, автоматичне перезавантаження відбудеться лише в тому випадку, якщо ви відредагуєте vimrcin vim.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.