В настоящее время я пытаюсь связать вместе функцию, чтобы сделать что-то в зависимости от текущего пути к файлу, срабатывает всякий раз, когда я меняю текущий буфер с помощью autocmd BufEnter
По моему .vimrc
autocmd BufEnter * call SayLocation()
Дальше в моем .vimrc
fun SayLocation() let str = expand("%p:~") if str =~ "~/dir1" echo "I am in dir 1!" elseif str =~ "~/dir2" echo "I am in dir 2!" else echo "I am somewhere else" endif endf Однако изменение буфера приводит к следующей ошибке
Строка 3:
E33: нет предыдущего замещающего регулярного выражения
Строка 7:
E33: нет предыдущего замещающего регулярного выражения
Я где-то еще
Кажется, я запускаю компаратор подстроки = ~ неправильно. Любая подсказка?
Кажется, я пропустил крошечную кучу вещей, ха-ха, спасибо большое :) Шаблон теперь распознан, и это все хорошо и весело, но кажется, что функция запускается дважды при каждом изменении буфера: S Бывает ли иметь какие-либо указатели?