EightHeader : Easily create custom headlines, foldtext, toc, etc.
script karma |
Rating 7/4,
Downloaded by 1868 |
Comments, bugs, improvements
|
Vim wiki
|
created by |
Laszlo Bimba |
|
script type |
utility |
|
description |
https://github.com/BimbaLaszlo/vim-eightheader
To use EightHeader just move the cursor to the line which you want to modify (hereinafter line), then call it:
EightHeader( {length}, {align}, {oneline}, {decor}, {marker}, {str} )
{length} Length of the header.
{align} Alignment of text.
{oneline} If false, then underline the {line} with {decor}.
{decor} Decorator text to fill with.
{marker} Extra content after decotRightEnd.
{str} Replace the content of {line} with this.
An example with {oneline} set to true (1) (s:str means the original line, see EightHeaderVars for details):
call EightHeader( 78, 'center', 1, ['l ', 'decor', ' r'], ' m', '\=" ".s:str." "' )
l decordecordecordecordeco TEXT IN THE LINE cordecordecordecordecord r m
If you don't like the default 'foldtext' you can customize it by setting to
EightHeaderFolds().
For example the closed folds looks like this by default:
+-- 45 lines: Fold level one
+--- 67 lines: Fold level two
If you would like to change it to this kind:
Fold level one................45 lines
Fold level two..............67 lines
... then you can use this function:
let &foldtext = "EightHeaderFolds( '\\=s:fullwidth-2', 'left', [ repeat( ' ', v:foldlevel - 1 ), '.', '' ], '\\= s:foldlines . \" lines\"', '' )"
An alternative usage for example formating a vimhelp table of contents:
Options;options
Default mappings;maps
Launch nuclear strike;apocalypse
... to this:
Options........................................................|options|
Default mappings..................................................|maps|
Launch nuclear strike.....................................|apocalypse|
Visually select the lines, than:
call EightHeader( 78, "left", 1, ".", "\\='|'.matchstr(s:str, ';\\@<=.*').'|'", "\\=matchstr(s:str, '.*;\\@=')" ) |
|
install details |
Open in vim then run
:so %
... or use Vundle:
Add these lines to your .vimrc after 'call vundle#rc()' to install from the official repository (https://github.com/BimbaLaszlo/vim-eightheader):
Plugin 'bimbalaszlo/vim-eightheader'
Open vim again, then call ':PluginInstall'
Please rate if you using it! |
|
script versions (upload new version)
Click on the package to download.
ip used for rating: 18.97.14.90
|