Vim Tips Wiki


1,615pages on
this wiki

Use this page to discuss script 31 a: switch between alternate files quickly (.c --> .h etc)

  • Add constructive comments, bug reports, or discuss improvements (see the guideline).
  • Do not document the script here (the author should do that on
  • This page may be out of date: check the script's page above, and its release notes.


Three filesEdit

Nice plugin, but it doesn't seem to work correctly when there are three files: i.e. foo.h foo.inl and foo.cpp

Solution: This is because already open files are scored higher than other files. Thus when there you have foo.h and foo.inl loaded, foo.cpp won't be considered. To fix, change the body of BufferOrFileExists to "return filereadable(a:fileName)". I also changed FindOrCreateBuffer to ignore a:findSimilar - I don't know if thats strictly necessary.

Separate foldersEdit

Thanks for your contribution. But I have a challenge in switching between header files and source files when they are in directories such as src/ and include/.

If I'm editing foo.c in src/, it will look for foo.h in src. But I have foo.h in include/. Can you please help.

Solution: the docs has a section on g:alternateSearchPath


This is a great plugin. The only drawback is that it does not handle folders with comma's in it, unfortunately. For example, if I'm editing src,/foo.c, and want to switch to src,/foo.h, then :A does not work.

<leader>is is mapped to <Esc>:IHS<CR>:A<CR>, even in insert mode. My <leader> is space, so every time I type " is" it invokes that, which * is* really annoying. Thanks for your work.

Around Wikia's network

Random Wiki