I wrote a vim function to help me navigate the wiki when I'm editing it. It extends the 'gf' (goto file) functionality. Once installed, you place the cursor on a wiki page name and press 'gf' (without the quotes); if the file exists, it gets loaded.
This function takes into account the ikiwiki linking rules when deciding which file to go to.
> " NOTE: the root of the wiki is considered the first directory that contains a
> " .ikiwiki folder, except $HOME/.ikiwiki (the usual ikiwiki libdir)
>
> That's not going to work in all situations; for example, with an ikiwiki which uses git as the backend, the normal setup is that one has
>
> * a bare git repository
> * a git repository which ikiwiki builds the wiki from (which has a .ikiwiki directory in it)
> * an *additional* git repository cloned from the bare repository, which is used for making changes from the command-line rather than the web. It is this repository in which one would be editing files with vim, and *this* repository does not have a .ikiwiki directory in it. It does have a .git directory in the root, however, so I suppose you could use that as a method of detection of a root directory, but of course that would only work for git repositories.
>
> -- [[KathrynAndersen]]
>
>> You are completely right; all of my wikis are compiled both locally and
>> remotely, and so the local repo also has a `.ikiwiki` folder. And that's not the
>> "usual" setup.
>>
>> checking for a `.git` dir would not work when the wiki's source files aren't
>> located at the root of the repo.
>>
>> So, besides of doing a `touch .ikiwiki` at the root of the wiki in your local
> Interesting. I was at one point looking at "potwiki.vim", which implements a local wiki and follows CamelCase links, creating new files where necessary etc., to see if it could be adapted for ikiwiki (See [[tips/vim syntax highlighting/discussion]]). I didn't get anywhere. -- [[Jon]]