Tip #303: Statusline Tab Level Function Ruler TVIM
tip karma |
Rating -1/3, Viewed by 1963
|
created: |
|
August 8, 2002 2:05 |
|
complexity: |
|
basic |
author: |
|
TVIM Tamed Vim |
|
as of Vim: |
|
6.0 |
I use this function to let me know if my cursor is on a TAB column.
The t* on the ruler means I am not. But t3 means the cursor is on tablevel 3
~vimrc ----------------------- My Ruler ------------------------ r4,c13,t3
~vimrc ----------------------- My Ruler ------------------------ r4,c14,t*
If you want to change a tab level you can drag or push the first character
of a line to a desired tab level. (more on that later)
This ruler replacement will let you know where you are, whether you
like to use space tabs (see vimtip #12 ) or regular tabs. My function is set
to four space tabs stops and only goes 9 levels but can be easily modified.
Actually I just wanted to learn how to use a function in my _vimrc
and this was my first attempt. Add this to your _vimrc
"--------------------cut------------------
set laststatus=2
"This makes sure the ruler shows. See help laststatus
set statusline=%f\ ---------\ My\ Ruler\ ----------\ r%l,c%c,t%{ShowTab()}
"See help statusline (I toggle between 12 helpful rulers -- more on that later)
fu ShowTab()
let TabLev='*'
let Col=(col("."))
if Col == 1 | let TabLev='0' | en
if Col == 5 | let TabLev='1' | en
if Col == 9 | let TabLev='2' | en
if Col ==13 | let TabLev='3' | en
if Col ==17 | let TabLev='4' | en
if Col ==21 | let TabLev='5' | en
if Col ==25 | let TabLev='6' | en
if Col ==29 | let TabLev='7' | en
if Col ==33 | let TabLev='8' | en
if Col ==37 | let TabLev='9' | en
return TabLev
endf
"The ruler (statusline) shows a t* unless you are on col 1,5,9,13,...
"-------------------cut-------------------
This function ShowTab() gets called and updates the ruler with every cursor
move but it does not slow things down as I type. Perhaps a speed typist
may complain :-)
In case I write something else you may search on the key word TVIM
Best Wishes TVIM Tamed Vim [email protected]
<<Use gvim in kmail |
fold braces and javadoc >>
Additional Notes
|