aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2019-05-17 00:25:40 +1200
committerTom Ryder <tom@sanctum.geek.nz>2019-05-17 00:25:40 +1200
commitbe05e0243b63d52fff66af6d3e39b1818320a665 (patch)
tree6be6f18f6ecd860844d57502261cfd4e5e098693
parentMerge branch 'release/v4.28.0' (diff)
parentBump VERSION (diff)
downloaddotfiles-be05e0243b63d52fff66af6d3e39b1818320a665.tar.gz
dotfiles-be05e0243b63d52fff66af6d3e39b1818320a665.zip
Merge branch 'release/v4.29.0'v4.29.0
* release/v4.29.0: Bump VERSION Revert "Dispense with system-dependent files" Adjust formatting of autocmd Rearrange filetype and syntax logic Add note about 'ttymouse' option existence Restore 'ttymouse' option existence test Move filetype and syntax logic to end of .vimrc Remove `a` and `A` flags from 'cpoptions' Adjust order of 'backspace' flags per docs Adjust order of some directives Leverage negative 'softtabstop' value Dispense with system-dependent files
-rw-r--r--VERSION4
-rw-r--r--vim/after/indent/vim.vim11
-rw-r--r--vim/filetype.vim4
-rw-r--r--vim/vimrc84
4 files changed, 59 insertions, 44 deletions
diff --git a/VERSION b/VERSION
index bf278408..29f7527e 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-tejr dotfiles v4.28.0
-Thu May 16 01:16:29 UTC 2019
+tejr dotfiles v4.29.0
+Thu May 16 12:25:40 UTC 2019
diff --git a/vim/after/indent/vim.vim b/vim/after/indent/vim.vim
index 6e2eb7f3..0767bca0 100644
--- a/vim/after/indent/vim.vim
+++ b/vim/after/indent/vim.vim
@@ -1,5 +1,5 @@
-" Remove inapplicable defaults from 'indentkeys'
-" Should only need to undo this if the stock plugin didn't
+" Remove inapplicable defaults from 'indentkeys'; we should only need to undo
+" this if the stock plugin didn't already arrange that (before v7.3.539)
setlocal indentkeys-=0#,0{,0},0),:
if !exists('b:undo_indent')
let b:undo_indent = 'setlocal indentkeys<'
@@ -7,5 +7,8 @@ endif
" Observe VimL conventions for two-space indents
setlocal shiftwidth=2
-setlocal softtabstop=2
-let b:undo_indent .= '|setlocal shiftwidth< softtabstop<'
+let b:undo_indent .= '|setlocal shiftwidth<'
+if &softtabstop != -1
+ let &l:softtabstop = &l:shiftwidth
+ let b:undo_indent .= '|setlocal softtabstop<'
+endif
diff --git a/vim/filetype.vim b/vim/filetype.vim
index 66936f34..d7ca5255 100644
--- a/vim/filetype.vim
+++ b/vim/filetype.vim
@@ -505,6 +505,8 @@ augroup filetypedetect
" On leaving insert mode, check whether the first line was changed and looks
" like a shebang format, and if so, re-run filetype detection
- autocmd InsertLeave * call filetype#CheckShebang()
+ autocmd InsertLeave
+ \ *
+ \ call filetype#CheckShebang()
augroup END
diff --git a/vim/vimrc b/vim/vimrc
index 915b02b0..eeb468ff 100644
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -13,33 +13,24 @@ if !exists('$MYVIMRUNTIME')
\ )
endif
-" Load filetype settings, plugins, and maps
-let maplocalleader = ','
-filetype plugin indent on
+" The all-important default indent settings; filetypes to tweak
+set autoindent " Use indent of previous line on new lines
+set expandtab " Use spaces instead of tabs
+set shiftwidth=4 " Indent with four spaces
-" Use syntax highlighting
-if !exists('syntax_on')
- syntax enable
+" The number of spaces the Tab key should insert should follow 'shiftwidth';
+" if Vim is new enough (v7.3.693), use a negative value to automate this,
+" otherwise just use its present value
+if v:version > 703
+ \ || v:version == 703 && has('patch693')
+ set softtabstop=-1
+else
+ let &softtabstop = &shiftwidth
endif
-" Try to use sahara colorscheme with 'cursorline' set; otherwise, use the
-" default colorscheme with a dark background
-try
- colorscheme sahara
- set cursorline
-catch
- set background=dark
-endtry
-
-" The all-important default indent settings; filetypes to tweak
-set autoindent " Use indent of previous line on new lines
-set expandtab " Use spaces instead of tabs
-set shiftwidth=4 " Indent with four spaces
-set softtabstop=4 " Insert four spaces with tab key
-
" Let me backspace over pretty much anything
-set backspace+=eol " Line breaks
set backspace+=indent " Spaces from 'autoindent'
+set backspace+=eol " Line breaks
set backspace+=start " The start of current insertion
" Try to keep backups in one system-appropriate dir, including full encoded
@@ -75,8 +66,7 @@ set completeopt+=menuone " Show the menu even if only one match
" Give me a prompt instead of just rejecting risky :write, :saveas
set confirm
-" Require two spaces for sentence objects
-" Yes, I have become a filthy two-spacer
+" Sentence objects are separated by two spaces
set cpoptions+=J
" Try to keep swapfiles in one system-appropriate dir, including full encoded
@@ -112,7 +102,8 @@ if v:version > 801
set formatoptions+=p
endif
-" Don't load GUI menus; set here before GUI starts
+" Don't load GUI menus; set here before GUI starts or any filetype or syntax
+" logic is performed
if has('gui_running')
set guioptions+=M
endif
@@ -182,9 +173,10 @@ set showbreak=...
set splitbelow " Below the current window, not above
set splitright " Right of the current window, not left
-" No terminal mouse, even if we could
-" The manual says to set 't_RV', but I don't like that
-if &ttymouse !=# ''
+" No terminal mouse, even if we could; the manual says to set 't_RV', but I
+" don't like that
+" Not in NeoVim
+if exists('+ttymouse') && &ttymouse !=# ''
set ttymouse=
endif
@@ -196,10 +188,10 @@ if has('persistent_undo')
endif
" Tab completion settings; see also plugin/wildignore.vim
-set wildmode=list:longest " Tab press completes and lists
if exists('+wildignorecase')
set wildignorecase " Case insensitive, if supported (v7.3.072)
endif
+set wildmode=list:longest " Tab press completes and lists
" Let me move beyond buffer text in visual block mode
set virtualedit+=block
@@ -207,17 +199,23 @@ set virtualedit+=block
" Never beep at me
set visualbell t_vb=
-" Stack normal/visual/select Ctrl-L to clear search highlight
-nnoremap <silent> <C-L> :<C-U>nohlsearch<CR><C-L>
-vnoremap <silent> <C-L> :<C-U>nohlsearch<CR>gv<C-L>
+" Load filetype settings, plugins, and maps
+let maplocalleader = ','
+filetype plugin indent on
-" Remap insert Ctrl-C to undo the escaped insert operation
-if &loadplugins " Don't break the key if we won't be loading the plugin
- imap <C-C> <Plug>(InsertCancel)
+" Use syntax highlighting
+if !exists('syntax_on')
+ syntax enable
endif
-" Map double Ctrl-K in insert mode to search digraph names
-imap <C-K><C-K> <Plug>(DigraphSearch)
+" Try to use sahara colorscheme with 'cursorline' set; otherwise, use the
+" default colorscheme with a dark background
+try
+ colorscheme sahara
+ set cursorline
+catch
+ set background=dark
+endtry
" Remap normal space to scroll down a page
nnoremap <Space> <PageDown>
@@ -226,6 +224,18 @@ if &loadplugins " Don't change the mapping if we won't be loading the plugin
nmap <Space> <Plug>(ScrollNext)
endif
+" Remap insert Ctrl-C to undo the escaped insert operation
+if &loadplugins " Don't break the key if we won't be loading the plugin
+ imap <C-C> <Plug>(InsertCancel)
+endif
+
+" Map double Ctrl-K in insert mode to search digraph names
+imap <C-K><C-K> <Plug>(DigraphSearch)
+
+" Stack normal/visual/select Ctrl-L to clear search highlight
+nnoremap <silent> <C-L> :<C-U>nohlsearch<CR><C-L>
+vnoremap <silent> <C-L> :<C-U>nohlsearch<CR>gv<C-L>
+
" Remap normal/visual & and g& to preserve substitution flags
nnoremap <silent> & :&&<CR>
xnoremap <silent> & :&&<CR>