Obecnie próbuję powiązać funkcję, aby zrobić coś w zależności od bieżącej ścieżki pliku, uruchamianej za każdym razem, gdy zmieniam bieżący bufor za pomocą autocmd BufEnter
W moim .vimrc
autocmd BufEnter * call SayLocation()
Dalej w moim .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
Jednak zmiana bufora powoduje następujący błąd
Wiersz 3:
E33: brak poprzedniego zastępczego wyrażenia regularnego
Wiersz 7:
E33: brak poprzedniego zastępczego wyrażenia regularnego
Jestem gdzieś indziej
Wygląda na to, że źle używam komparatora podłańcuchów. Jakieś wskazówki?
:augroup
; Dodałem to do mojej odpowiedzi.