2010-12-29 18:23:44 -05:00
|
|
|
*indent_guides.txt* A plugin for visually displaying indent levels in Vim.
|
2010-12-05 02:18:59 -05:00
|
|
|
|
|
|
|
*indent-guides*
|
|
|
|
____ __ __ ______ _ __
|
|
|
|
/ _/____ ____/ /___ ____ / /_ / ____/__ __(_)____/ /___ _____
|
|
|
|
/ / / __ \/ __ // _ \/ __ \/ __/ / / __ / / / / // __ // _ \/ ___/
|
|
|
|
_/ / / / / / /_/ // __/ / / / /_ / /_/ // /_/ / // /_/ // __(__ )
|
|
|
|
/___//_/ /_/\__,_/ \___/_/ /_/\__/ \____/ \__,_/_/ \__,_/ \___/____/
|
|
|
|
|
|
|
|
|
|
|
|
Author: Nate Kane <nathanaelkane AT gmail DOT com>
|
2011-01-04 22:22:40 -05:00
|
|
|
Version: 1.2
|
|
|
|
Last Change: 5 Jan 2011
|
2010-12-05 02:18:59 -05:00
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
CONTENTS *indent-guides-contents*
|
|
|
|
|
2010-12-29 06:15:52 -05:00
|
|
|
1. Introduction.......................... |indent-guides-introduction|
|
|
|
|
2. Commands.............................. |indent-guides-commands|
|
|
|
|
3. Options............................... |indent-guides-options|
|
|
|
|
4. Mappings.............................. |indent-guides-mappings|
|
|
|
|
5. Terminal Vim.......................... |indent-guides-terminal-vim|
|
|
|
|
6. About................................. |indent-guides-about|
|
|
|
|
7. Changelog............................. |indent-guides-changelog|
|
|
|
|
8. License............................... |indent-guides-license|
|
2010-12-05 02:18:59 -05:00
|
|
|
|
|
|
|
==============================================================================
|
2010-12-11 08:13:31 -05:00
|
|
|
1. INTRODUCTION *indent-guides-introduction*
|
|
|
|
|
2010-12-29 18:23:44 -05:00
|
|
|
Indent Guides is a plugin for visually displaying indent levels in Vim.
|
|
|
|
|
|
|
|
This plugin should work with gVim out of the box, no configuration needed.
|
2010-12-05 02:18:59 -05:00
|
|
|
|
2010-12-11 19:14:19 -05:00
|
|
|
Features:~
|
2010-12-11 08:13:31 -05:00
|
|
|
* Can detect both tab and space indent styles.
|
2010-12-29 18:23:44 -05:00
|
|
|
* Automatically inspects your colorscheme and picks appropriate colors (gVim
|
2010-12-29 06:15:52 -05:00
|
|
|
only).
|
2010-12-11 08:13:31 -05:00
|
|
|
* Will highlight indent levels with alternating colors.
|
2010-12-30 05:35:22 -05:00
|
|
|
* Full support for gVim and basic support for Terminal Vim.
|
2010-12-29 18:23:44 -05:00
|
|
|
* Seems to work on Windows gVim 7.3 (haven't done any extensive tests
|
2010-12-29 06:53:05 -05:00
|
|
|
though).
|
2011-01-04 22:22:40 -05:00
|
|
|
* Customizable size for indent guides, eg. skinny guides (soft-tabs only).
|
2010-12-12 04:33:16 -05:00
|
|
|
|
2010-12-11 08:13:31 -05:00
|
|
|
==============================================================================
|
|
|
|
2. COMMANDS *indent-guides-commands*
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
2010-12-05 04:16:14 -05:00
|
|
|
:IndentGuidesToggle *:IndentGuidesToggle*
|
2010-12-09 07:49:30 -05:00
|
|
|
Toggles the indent guides on and off.
|
2010-12-05 04:16:14 -05:00
|
|
|
|
2010-12-11 08:13:31 -05:00
|
|
|
------------------------------------------------------------------------------
|
2010-12-05 02:18:59 -05:00
|
|
|
:IndentGuidesEnable *:IndentGuidesEnable*
|
2010-12-09 07:49:30 -05:00
|
|
|
Enables the indent guides for the current buffer and any other buffer upon
|
|
|
|
entering it.
|
2010-12-05 02:18:59 -05:00
|
|
|
|
2010-12-11 08:13:31 -05:00
|
|
|
------------------------------------------------------------------------------
|
2010-12-05 02:18:59 -05:00
|
|
|
:IndentGuidesDisable *:IndentGuidesDisable*
|
2010-12-09 07:49:30 -05:00
|
|
|
Disables the indent guides for the current buffer and any other buffer upon
|
|
|
|
entering it.
|
2010-12-05 02:18:59 -05:00
|
|
|
|
|
|
|
==============================================================================
|
2010-12-11 08:13:31 -05:00
|
|
|
3. OPTIONS *indent-guides-options*
|
2010-12-05 02:18:59 -05:00
|
|
|
|
2010-12-11 08:13:31 -05:00
|
|
|
------------------------------------------------------------------------------
|
2010-12-07 04:41:05 -05:00
|
|
|
*'indent_guides_indent_levels'*
|
2010-12-07 08:03:11 -05:00
|
|
|
Use this option to control how many indent levels to display guides for.
|
2011-01-04 22:22:40 -05:00
|
|
|
|
2010-12-11 08:13:31 -05:00
|
|
|
Default: 30. Values: integer.
|
2010-12-05 02:18:59 -05:00
|
|
|
>
|
2010-12-11 08:13:31 -05:00
|
|
|
let g:indent_guides_indent_levels = 30
|
2010-12-07 08:03:11 -05:00
|
|
|
<
|
|
|
|
|
2010-12-11 08:13:31 -05:00
|
|
|
------------------------------------------------------------------------------
|
2010-12-07 08:03:11 -05:00
|
|
|
*'indent_guides_auto_colors'*
|
|
|
|
Use this option to control whether or not the plugin automatically calculates
|
|
|
|
the highlight colors. Will use the current colorscheme's background color as a
|
|
|
|
base color.
|
2011-01-04 22:22:40 -05:00
|
|
|
|
2010-12-07 08:03:11 -05:00
|
|
|
Default: 1. Values: 0 or 1.
|
|
|
|
>
|
|
|
|
let g:indent_guides_auto_colors = 1
|
|
|
|
<
|
|
|
|
|
2010-12-20 07:30:18 -05:00
|
|
|
If you set this option to 0, be sure to manually define some highlight colors
|
|
|
|
in an autocmd.
|
2010-12-11 08:13:31 -05:00
|
|
|
>
|
2010-12-29 06:15:52 -05:00
|
|
|
let g:indent_guides_auto_colors = 0
|
|
|
|
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd guibg=red ctermbg=3
|
|
|
|
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=green ctermbg=4
|
2010-12-11 08:13:31 -05:00
|
|
|
<
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
2010-12-10 08:19:39 -05:00
|
|
|
*'indent_guides_color_change_percent'*
|
2010-12-07 08:05:01 -05:00
|
|
|
Use this option to control the percent at which the highlight colors will be
|
|
|
|
lightened or darkened.
|
2011-01-04 22:22:40 -05:00
|
|
|
|
2010-12-10 08:19:39 -05:00
|
|
|
Default: 0.05. Values: between 0 and 1.
|
2010-12-07 08:03:11 -05:00
|
|
|
>
|
2010-12-10 08:19:39 -05:00
|
|
|
let g:indent_guides_color_change_percent = 0.05
|
2010-12-05 02:18:59 -05:00
|
|
|
<
|
|
|
|
|
2011-01-04 22:22:40 -05:00
|
|
|
------------------------------------------------------------------------------
|
|
|
|
*'indent_guides_indent_guide_size'*
|
|
|
|
Use this option to customize the size of the indent guide. By default the
|
|
|
|
value is set to 0, which will set the guide size to be the same as the
|
|
|
|
|shiftwidth|. Setting this value to be larger than the |shiftwidth| is essentially
|
|
|
|
the same as setting it to 0.
|
|
|
|
|
|
|
|
A common use of this setting is to create skinny indent guides, which look
|
|
|
|
great with a |shiftwidth| of 4 or more.
|
|
|
|
|
|
|
|
NOTE: This option only works for soft-tabs (spaces) and not for hard-tabs.
|
|
|
|
|
|
|
|
Default: 0. Values: between 0 and |shiftwidth|.
|
|
|
|
>
|
|
|
|
let g:indent_guides_indent_guide_size = 1
|
|
|
|
<
|
|
|
|
|
2010-12-05 02:18:59 -05:00
|
|
|
==============================================================================
|
2010-12-11 08:13:31 -05:00
|
|
|
4. MAPPINGS *indent-guides-mappings*
|
2010-12-05 05:01:34 -05:00
|
|
|
|
2010-12-11 08:13:31 -05:00
|
|
|
The default mapping for toggling indent guides is <Leader>ig. You can easily
|
|
|
|
map it to other keys. For example:
|
2010-12-05 05:01:34 -05:00
|
|
|
>
|
|
|
|
:nmap <Leader>ig :IndentGuidesToggle<CR>
|
|
|
|
<
|
|
|
|
|
|
|
|
You can also map some other commands that are not mapped by default. For
|
|
|
|
example:
|
|
|
|
>
|
|
|
|
:nmap <Leader>ie :IndentGuidesEnable<CR>
|
|
|
|
:nmap <Leader>id :IndentGuidesDisable<CR>
|
|
|
|
<
|
|
|
|
|
|
|
|
==============================================================================
|
2010-12-29 06:15:52 -05:00
|
|
|
5. TERMINAL VIM *indent-guides-terminal-vim*
|
|
|
|
|
|
|
|
At the moment Terminal Vim only has basic support. This means is that colors
|
2010-12-29 06:29:13 -05:00
|
|
|
won't be automatically calculated based on your colorscheme. Instead, some
|
|
|
|
preset colors are used depending on whether `background` is set to `dark` or
|
|
|
|
`light`.
|
2010-12-29 06:15:52 -05:00
|
|
|
|
|
|
|
When `set background=dark` is used, the following highlight colors will be
|
|
|
|
defined:
|
|
|
|
>
|
|
|
|
hi IndentGuidesEven ctermbg=darkgrey
|
|
|
|
hi IndentGuidesOdd ctermbg=black
|
|
|
|
<
|
|
|
|
|
2010-12-29 06:29:13 -05:00
|
|
|
Alternatively, when `set background=light` is used, the following highlight
|
|
|
|
colors will be defined:
|
2010-12-29 06:15:52 -05:00
|
|
|
>
|
|
|
|
hi IndentGuidesEven ctermbg=lightgrey
|
|
|
|
hi IndentGuidesOdd ctermbg=white
|
|
|
|
<
|
|
|
|
|
2010-12-29 06:29:13 -05:00
|
|
|
If for some reason it's incorrectly defining light highlight colors instead of
|
|
|
|
dark ones or vice versa, the first thing you should check is that the
|
|
|
|
`background` value is being set correctly for your colorscheme. Sometimes it's
|
|
|
|
best to manually set the `background` value in your `.vimrc`, for example:
|
2010-12-29 06:15:52 -05:00
|
|
|
>
|
|
|
|
colorscheme desert256
|
|
|
|
set background=dark
|
|
|
|
<
|
|
|
|
|
|
|
|
Alternatively you can manually setup the highlight colors yourself, see
|
|
|
|
|indent_guides_auto_colors| for an example.
|
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
6. ABOUT *indent-guides-about*
|
2010-12-11 08:13:31 -05:00
|
|
|
|
2010-12-11 19:14:19 -05:00
|
|
|
Why did I build this plugin?~
|
2010-12-11 08:13:31 -05:00
|
|
|
* I believe indent guides make nested code easier to read and understand.
|
2010-12-29 18:23:44 -05:00
|
|
|
* Other editors have them and it's high time Vim did.
|
2010-12-11 08:13:31 -05:00
|
|
|
* None of the existing indent guide plugins on the market suited my needs.
|
|
|
|
* I wanted to learn me some VimL.
|
|
|
|
|
2010-12-11 19:14:19 -05:00
|
|
|
Links:~
|
2010-12-11 08:13:31 -05:00
|
|
|
* Github: https://github.com/nathanaelkane/vim-indent-guides
|
|
|
|
* Bugs & Issues: https://github.com/nathanaelkane/vim-indent-guides/issues
|
|
|
|
|
2010-12-29 06:15:52 -05:00
|
|
|
Credits:~
|
|
|
|
* Matt Wozniski (godlygeek) for letting me use the list of color names and
|
|
|
|
hex codes from his CSApprox plugin.
|
|
|
|
|
2010-12-11 19:14:19 -05:00
|
|
|
Contact:~
|
|
|
|
* Twitter: @nathanaelkane
|
|
|
|
* Email: <nathanaelkane AT gmail DOT com>
|
|
|
|
* IRC: nate- on Freenode (I usually idle in the #vim channel)
|
|
|
|
|
|
|
|
Bug reports, feedback, suggestions etc are welcomed.
|
2010-12-11 08:13:31 -05:00
|
|
|
|
|
|
|
==============================================================================
|
2010-12-29 06:15:52 -05:00
|
|
|
7. CHANGELOG *indent-guides-changelog*
|
2010-12-05 02:18:59 -05:00
|
|
|
|
2011-01-04 22:22:40 -05:00
|
|
|
1.2~
|
|
|
|
* Customizable size for indent guides, eg. skinny guides (soft-tabs only).
|
|
|
|
* Refactored some internal logic.
|
2010-12-20 07:30:18 -05:00
|
|
|
1.1~
|
2010-12-29 18:23:44 -05:00
|
|
|
* Added basic support for Terminal Vim. See |indent-guides-terminal-vim| for
|
2010-12-29 06:15:52 -05:00
|
|
|
more information.
|
|
|
|
* Cut down on rgb to hex color conversions by adding a big dictionary of
|
|
|
|
color names and hex codes.
|
|
|
|
* Various bug fixes.
|
2010-12-20 07:30:18 -05:00
|
|
|
|
2010-12-05 02:18:59 -05:00
|
|
|
1.0~
|
|
|
|
* First public version.
|
|
|
|
|
|
|
|
==============================================================================
|
2010-12-29 06:15:52 -05:00
|
|
|
8. LICENSE *indent-guides-license*
|
2010-12-05 02:18:59 -05:00
|
|
|
|
|
|
|
The MIT Licence
|
|
|
|
http://www.opensource.org/licenses/mit-license.php
|
|
|
|
|
|
|
|
Copyright (c) 2010 Nate Kane
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
|
|
in the Software without restriction, including without limitation the rights
|
|
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
|
|
all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
|
THE SOFTWARE.
|
|
|
|
|
|
|
|
vim:tw=78:ts=2:ft=help:norl:
|
|
|
|
|