Я видел довольно много случаев использования "функции!" в других файлах vimrc, но нет легко найти документацию «function!».
В чем разница между "функцией" и "функцией!"?
:help user-functions
Когда функция с таким именем уже существует и [!] Имеет значение не используется сообщение об ошибке. Когда используется [!], существующая функция молча заменяется. Если это не в данный момент выполняется, это ошибка.
Как правило, он подавляет сообщения, которые могут выдаваться командой.
Например, используя function!, вы можете переопределить уже определенную функцию.
function!
function (с соответствующими) параметрами определяет новую функцию, но завершается ошибкой, если функция с таким именем уже существует. function! всегда заменяет любую существующую функцию с указанным именем новым предоставленным определением.
function
Это говорит так же:
:help function