Note: I am Shougo(unite plugin author). This plugin created by h1mesuke originally. He is great VimL programmer. But he has not maintained this plugin in several years. And I cannot contact with him. So I have maintained it instead. To add features to this plugin is hard. I cannot extend it. Pull requests are well come.
unite-outline is a unite.vim's source which provides your Vim's buffer with the outline view. It parses the current buffer's content and extracts headings from the buffer. And then it shows the list of the headings using unite.vim's interface. When you select a heading from the list, you can jump to the corresponding location in the buffer.
The methods for extracting headings can be implemented for each individual filetypes. You can customize them as you like with Vim script and can also create new ones for unsupported filetypes.
Install the distributed files into your Vim script directory which is usually $HOME/.vim, or $HOME/vimfiles on Windows.
You can show the heading list of the current buffer with ":Unite outline" command if you succeeded the installation (and unite-outline supports the filetype of the buffer).
- Exuberant Ctags (Required) http://ctags.sourceforge.net/
To show the heading list of the current buffer, execute |:Unite| command with "outline" as a source parameter.
:Unite outline
unite-outline parses the current buffer's content and extracts headings from the buffer. And then it shows the list of the headings with unite.vim's interface. When you select a heading from the list, you can jump to the corresponding location of the buffer.
See :help unite-outline for more details.
The easiest way to extend this plugin is if your language is supported by ctags. If this is the case, add an entry to the lang_info dictionary in:
./autoload/unite/sources/outline/modules/ctags.vim
The --ctags-options field in the dictionary gets passed to ctags and specifies the things ctags will report, the other fields control how unite-outline organizines the items that ctags returns.
Finally, add an outline_info dictionary in a file named after your filetype:
./autoload/unite/sources/outline/defaults/{FILETYPE}.vim
See the other filetypes already in autoload/unite/sources/outline/defaults for examples of what those files look like. Good luck!
See unite-outline's wiki.