2

Vim/Neovim (this is an issue in both as far as I can tell) does not seem to like files with '@' in the name, even though I have isfname is set to the default, which is @,48-57,/,.,-,_,+,,,#,$,%,~,=, which makes me think that this all should work. Steps to reproduce:

echo "foo" > /tmp/bar@file
echo "/tmp/bar@file" | vim -u NONE -

The gf command will not go to the file, saying E447: Can't find file "/tmp/bar" in path. Am I missing something here?

wsny
  • 23
  • 4

1 Answers1

4

Am I missing something here?

Yes, as written in :h 'isfname':

If the character is '@', all characters where isalpha() returns TRUE are included. Normally these are the characters a to z and A to Z, plus accented characters. To include '@' itself use "@-@".

So @ in isfname, iskeyword etc. actually means "all alphas", not literal "@". And you still need to add set isfname+=@-@ to your vimrc.

Matt
  • 20,685
  • 1
  • 11
  • 24