diff options
| author | Teddy Wing | 2014-05-26 16:42:27 -0400 | 
|---|---|---|
| committer | Teddy Wing | 2014-05-26 16:42:27 -0400 | 
| commit | 5f9e0aa4e524097c5e2428b96c21c4f92a2a3b9f (patch) | |
| tree | 887cea36650b615013e1bf94256759d1df2c0d35 | |
| parent | 7b091cedf8d112a6e22e201c731829039f67a443 (diff) | |
| download | dotvim-5f9e0aa4e524097c5e2428b96c21c4f92a2a3b9f.tar.bz2 | |
Create custom vim plugin for Stab command
Take the `Stab` command from my vimrc and put it in a custom plugin.
This will keep my vimrc cleaner and since the the functions are
autoloaded it may ever so slightly improve performance.
| -rw-r--r-- | bundle/set-tab/autoload/set_tab.vim | 27 | ||||
| -rw-r--r-- | bundle/set-tab/plugin/set_tab.vim | 3 | 
2 files changed, 30 insertions, 0 deletions
| diff --git a/bundle/set-tab/autoload/set_tab.vim b/bundle/set-tab/autoload/set_tab.vim new file mode 100644 index 0000000..c3bcec1 --- /dev/null +++ b/bundle/set-tab/autoload/set_tab.vim @@ -0,0 +1,27 @@ +" Set tabstop, softtabstop and shiftwidth to the same value +" http://vimcasts.org/episodes/tabs-and-spaces/ +function! set_tab#Stab() +  let l:tabstop = 1 * input('set tabstop = softtabstop = shiftwidth = ') +  if l:tabstop > 0  +    let &l:sts = l:tabstop +    let &l:ts = l:tabstop +    let &l:sw = l:tabstop +  endif +  call s:SummarizeTabs() +endfunction + +function! s:SummarizeTabs() +  try  +    echohl ModeMsg +    echon 'tabstop='.&l:ts +    echon ' shiftwidth='.&l:sw +    echon ' softtabstop='.&l:sts +    if &l:et +      echon ' expandtab' +    else +      echon ' noexpandtab' +    endif +  finally +    echohl None +  endtry +endfunction diff --git a/bundle/set-tab/plugin/set_tab.vim b/bundle/set-tab/plugin/set_tab.vim new file mode 100644 index 0000000..4b58fa3 --- /dev/null +++ b/bundle/set-tab/plugin/set_tab.vim @@ -0,0 +1,3 @@ +" Set tabstop, softtabstop and shiftwidth to the same value +" http://vimcasts.org/episodes/tabs-and-spaces/ +command! -nargs=* Stab call set_tab#Stab() | 
