https://github.com/tomtom/ttoc_vim
A regexp-based table of contents of the current buffer for vim
https://github.com/tomtom/ttoc_vim
outline vim vim-plugin vim-script
Last synced: 8 months ago
JSON representation
A regexp-based table of contents of the current buffer for vim
- Host: GitHub
- URL: https://github.com/tomtom/ttoc_vim
- Owner: tomtom
- Created: 2010-08-16T13:25:44.000Z (over 15 years ago)
- Default Branch: master
- Last Pushed: 2015-11-06T13:20:55.000Z (about 10 years ago)
- Last Synced: 2025-04-18T20:49:51.653Z (8 months ago)
- Topics: outline, vim, vim-plugin, vim-script
- Language: VimL
- Homepage: http://www.vim.org/scripts/script.php?script_id=2014
- Size: 153 KB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: CHANGES.TXT
Awesome Lists containing this project
README
This plugin tries to duplicate the functionality of Marc Weber's
outline.vim (vimscript #1947) on the basis of its description and of
vim's own |:g|. Other than outline.vim, it relies on tlib (vimscript
#1863).
The TToC command can be used to get a quick table of contents of the
buffer based on a given regular expression. The regexp can be defined on
the command line, in window (w:ttoc_rx), buffer-local (b:ttoc_rx)
variables or in global filetype-specific (g:ttoc_rx_{&filetype})
variables. The order actually is: [wbg]:ttoc_rx_{&filetype} >
[wbg]:ttoc_rx.
The TToC command can also evaluate an expression to get the line
numbers. The expression is evalutated if TToC is invoked without a regex
argument and the expression is defined for that filetype
([wbg]:ttoc_expr_{&filetype}). The expression needs to return either a
sorted and unique list of line numbers either as a vim list or as a
newline-separated string.
In the list view, you can select a line and either preview it (),
jump there (<), close the list and jump there ().
Example: >
" Use the default settings for the current file-type
:TToC
" Show all words beginning at column 1
:TToC ^\w
" Show 'if' statements (but not the concluding 'then' statement)
:TToC ^\s*if\>.\{-}\ze\s\+then
" Show 'if' statements and 3 extra lines
:3TToC! \
The TToC with a bang works somewhat like |:g| only that you can
browse/filter the list and select an item after reviewing the results.
Try it out and compare (with the help file as current buffer): >
:TToC! TToC
with >
:g/TToC
-----------------------------------------------------------------------
Status: Works for me (there may be some minor quirks)
Dependencies:
tlib :: http://github.com/tomtom/tlib_vim
> git clone git://github.com/tomtom/tlib_vim.git
Install: See http://github.com/tomtom/vimtlib/blob/master/INSTALL.TXT
See http://github.com/tomtom for related plugins.