Why? - You might have so many mappings in your .vimrc,
but while editing are you really using all of
your mappings?
Sometimes a question might also answers you !!
How? -
$ vim .vimrc
Lets take an example :
I wanna add a mapping to display line numbers when ever
I press F2 key twice.
add below line to your .vimrc to map F2 key to display line numbers:
nnoremap <F2><F2> :set invnu nu?<CR> " use F2F2 to toggle line numbers.
Now its time to add Status Bar.
add below lines to your .vimrc to show status bar:
" first, enable status line always
set laststatus=2
highlight StatusLine guifg=darkred ctermbg=darkred ctermfg=blue
set statusline =%F%m%r%h%w\ [<F2>=nu]
launch vim with a text file:
$ man grep | col -b > /tmp/grep.txt && vim /tmp/grep.txt
now you can see bottom of vim editor status bar appears which shows your mapping as '[<F2>=nu]'.
Press F2 twice to show line numbers, again press F2 twice to switch off line numbers.
Go Ahead and add more mappings:
Example:
let g:I=0
function! INC(increment)
let g:I =g:I + a:increment
return g:I
endfunction
nnoremap <F1><F1> :set invnu nu?<CR>
nnoremap <F5><F5> :set invhls hls?<CR>
nnoremap <F4><F4> :set invwrap wrap?<CR>
nnoremap <F2><F2> :vsplit<CR>
nnoremap <F3><F3> <C-W>w
nnoremap <F6><F6> :set invpaste paste?<CR>
nnoremap <F7> mz:let g:I=0 \|sil\| .,.+24s/^/\=INC(1).'<TAB>'/<CR>:'z<CR>:set nohls<CR>
nnoremap <F7><F7> mz:let g:I=0 \|sil\| .,$s/^/\=INC(1).'<TAB>'/<CR>:'z<CR>:set nohls<CR>
nnoremap <F8> :'z,$s/^[0-9]\+<TAB>//<CR>:'z<CR>
" first, enable status line always
set laststatus=2
highlight StatusLine guifg=darkred ctermbg=darkred ctermfg=blue
set statusline =%F%m%r%h%w\ [<F1>=nu]\ [<F2>='vsplit']\ [<F3>=]\ [<F4>=wrap]\ [<F5>=highlight]\ [<F6>=paste]\ [<F7>=num]\ [<F8>=remove\ num]
You can change color of status bar based on your taste, use vim 7.0 or greater.
HAPPY VIMMING !!
Cheers - Satya.
No comments:
Post a Comment