aboutsummaryrefslogtreecommitdiffstats
path: root/bundle/set-tab
diff options
context:
space:
mode:
authorTeddy Wing2014-05-26 16:42:27 -0400
committerTeddy Wing2014-05-26 16:42:27 -0400
commit5f9e0aa4e524097c5e2428b96c21c4f92a2a3b9f (patch)
tree887cea36650b615013e1bf94256759d1df2c0d35 /bundle/set-tab
parent7b091cedf8d112a6e22e201c731829039f67a443 (diff)
downloaddotvim-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.
Diffstat (limited to 'bundle/set-tab')
-rw-r--r--bundle/set-tab/autoload/set_tab.vim27
-rw-r--r--bundle/set-tab/plugin/set_tab.vim3
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()