Подумайте об этом так: у Vim есть модель времени выполнения , которая содержит все параметры, сопоставления, пользовательские команды и т. Д., Которые в настоящее время активны;это живет в памяти Вима.При запуске Vim строит эту модель с помощью встроенных настроек по умолчанию, а также любой пользовательской конфигурации, такой как ~/.vimrc
, и установленных вами плагинов.Когда вы :source
используете свою конфигурацию (или плагин), Vim просто обновляет материал, который уже существует и не изменился, и любые дополнения вводятся в модель времени выполнения.
Чтобы удалить вещи, самый простой способ - просто выйти из Vim и перезапустить его .Весь процесс построения модели времени выполнения начнется снова, и все, что вы удалили из вашей конфигурации, больше не будет.
В качестве альтернативы вам придется явно удалить материал из модели времени выполнения;для большинства вещей есть соответствующие отрицательные команды:
- Для параметров, вы можете восстановить значение по умолчанию с помощью
:help :set-&
- Инверсия
:map
равна:unmap
.Для вашего примера, инверсия :iabbrev @@ ...
равна :iunabbrev @@
. - Там
:command
и :delcommand
. :autocmd
можно удалить с помощью :autocmd!
: Cp.:help autocmd-remove
Как видите, существуют способы, но их использование несколько противоречиво.Если у вас нет большого количества состояний в редакторе (много открытых файлов, настройки еще не сохранены в конфигурации и т. Д.), Выйти и снова открыть Vim проще.
Ограничение области настроек
Иногда требуется сокращение или настройка только для определенного буфера.Некоторые люди пытаются решить эту проблему, определяя и отменяя определения, но это неуклюже и неправильно: Vim поддерживает это в виде плагинов файлового типа (:help ftplugin
).Используя :setlocal
вместо :set
и :map <buffer>
, :abbreviate <buffer>
, :command -buffer
, эта настройка будет применяться только к буферам этого типа файлов (например, файлам Java, но не коду Python).Если вы введете такую команду в интерактивном режиме, она будет доступна только в буфере current и больше нигде.