Vim Tips Wiki
No edit summary
Line 3: Line 3:
 
==Comments==
 
==Comments==
 
Nice plugin, but it doesn't seem to work correctly when there are three files:
 
Nice plugin, but it doesn't seem to work correctly when there are three files:
 
 
i.e. foo.h foo.inl and foo.cpp
 
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.
   
 
Thanks for your contribution.
 
Thanks for your contribution.

Revision as of 10:24, 29 August 2014

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 vim.org).
  • This page may be out of date: check the script's vim.org page above, and its release notes.

Comments

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.

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.

Thanks, Shakthi

Bugs

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.

Thanks, Bart