From 09b83b6e25431fe9f3122916156f97fb0cfc2b5b Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Tue, 7 Nov 2017 11:43:02 +1300 Subject: Use b:undo variables correctly Setting or adding to b:undo_indent and b:undo_ftplugin variables, which I only learned about just now, allows me to avoid the _GLOBAL.vim hack and remove some files from both vim/indent/ and vim/ftplugin/. These variables aren't subjected to :execute automatically in anything older than Vim 7.0, but I don't think that's too much of a concern as the only real reason they're needed are for changing filetypes in the same buffer, which doesn't happen that often anyway. --- vim/indent/_GLOBAL.vim | 12 ------------ vim/indent/c.vim | 2 -- vim/indent/csv.vim | 10 +++++++--- vim/indent/html.vim | 2 -- vim/indent/perl.vim | 2 -- vim/indent/php.vim | 3 --- vim/indent/sh.vim | 2 -- vim/indent/tsv.vim | 10 +++++++--- vim/indent/vim.vim | 10 +++++++--- 9 files changed, 21 insertions(+), 32 deletions(-) delete mode 100644 vim/indent/_GLOBAL.vim delete mode 100644 vim/indent/c.vim delete mode 100644 vim/indent/html.vim delete mode 100644 vim/indent/perl.vim delete mode 100644 vim/indent/sh.vim (limited to 'vim/indent') diff --git a/vim/indent/_GLOBAL.vim b/vim/indent/_GLOBAL.vim deleted file mode 100644 index d0bdea26..00000000 --- a/vim/indent/_GLOBAL.vim +++ /dev/null @@ -1,12 +0,0 @@ -" Source this file (probably with :runtime) to explicitly set local indent -" settings for a buffer back to the global settings, in case it was changed -" by a prior filetype (e.g. VimL). -setlocal autoindent< -setlocal expandtab< - -" Unfortunately, older versions of Vim (6.2 is known) accept neither the -" `option<` nor `option=` syntax for resetting these numeric values, so we do -" it this clunkier way. -execute 'setlocal shiftwidth=' . &g:shiftwidth -execute 'setlocal softtabstop=' . &g:softtabstop -execute 'setlocal tabstop=' . &g:tabstop diff --git a/vim/indent/c.vim b/vim/indent/c.vim deleted file mode 100644 index fd1b26af..00000000 --- a/vim/indent/c.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Restore local indent settings to the global values -runtime indent/_GLOBAL.vim diff --git a/vim/indent/csv.vim b/vim/indent/csv.vim index 8f98d915..24ef53ce 100644 --- a/vim/indent/csv.vim +++ b/vim/indent/csv.vim @@ -1,6 +1,10 @@ -" Restore local indent settings to the global values -runtime indent/_GLOBAL.vim - " Manual indenting and literal tabs for CSVs setlocal noautoindent setlocal noexpandtab + +" Undo +if !exists('b:undo_indent') + let b:undo_indent = '' +endif +let b:undo_indent = b:undo_indent + \ . '|setlocal autoindent< expandtab<' diff --git a/vim/indent/html.vim b/vim/indent/html.vim deleted file mode 100644 index fd1b26af..00000000 --- a/vim/indent/html.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Restore local indent settings to the global values -runtime indent/_GLOBAL.vim diff --git a/vim/indent/perl.vim b/vim/indent/perl.vim deleted file mode 100644 index fd1b26af..00000000 --- a/vim/indent/perl.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Restore local indent settings to the global values -runtime indent/_GLOBAL.vim diff --git a/vim/indent/php.vim b/vim/indent/php.vim index 025bf3f1..d0fb1f8f 100644 --- a/vim/indent/php.vim +++ b/vim/indent/php.vim @@ -1,6 +1,3 @@ -" Restore local indent settings to the global values -runtime indent/_GLOBAL.vim - " Lie to the php.vim indent file and tell it that it's already loaded itself, " to stop it processing its ridiculous expression-based indenting that never " seems to do what I want. Just plain autoindent is fine. diff --git a/vim/indent/sh.vim b/vim/indent/sh.vim deleted file mode 100644 index fd1b26af..00000000 --- a/vim/indent/sh.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Restore local indent settings to the global values -runtime indent/_GLOBAL.vim diff --git a/vim/indent/tsv.vim b/vim/indent/tsv.vim index a38e53e8..161fbbe3 100644 --- a/vim/indent/tsv.vim +++ b/vim/indent/tsv.vim @@ -1,6 +1,10 @@ -" Restore local indent settings to the global values -runtime indent/_GLOBAL.vim - " Manual indenting and literal tabs for TSVs setlocal noautoindent setlocal noexpandtab + +" Undo +if !exists('b:undo_indent') + let b:undo_indent = '' +endif +let b:undo_indent = b:undo_indent + \ . '|setlocal autoindent< expandtab<' diff --git a/vim/indent/vim.vim b/vim/indent/vim.vim index 3b038349..f9a8f211 100644 --- a/vim/indent/vim.vim +++ b/vim/indent/vim.vim @@ -1,7 +1,11 @@ -" Restore local indent settings to the global values -runtime indent/_GLOBAL.vim - " Observe VimL conventions for two-space indents setlocal shiftwidth=2 setlocal softtabstop=2 setlocal tabstop=2 + +" Undo +if !exists('b:undo_indent') + let b:undo_indent = '' +endif +let b:undo_indent = b:undo_indent + \ . '|setlocal shiftwidth< softtabstop< tabstop<' -- cgit v1.2.3