diff options
-rw-r--r-- | VERSION | 4 | ||||
-rw-r--r-- | vim/after/plugin/insert_cancel.vim | 4 | ||||
-rw-r--r-- | vim/after/plugin/matchparen.vim | 4 | ||||
-rw-r--r-- | vim/autoload/plugin.vim | 7 | ||||
-rw-r--r-- | vim/vimrc | 75 |
5 files changed, 24 insertions, 70 deletions
@@ -1,2 +1,2 @@ -tejr dotfiles v10.8.0 -Mon, 14 Sep 2020 02:30:21 +0000 +tejr dotfiles v10.9.0 +Fri, 18 Sep 2020 09:33:21 +0000 diff --git a/vim/after/plugin/insert_cancel.vim b/vim/after/plugin/insert_cancel.vim new file mode 100644 index 00000000..a8abe6ed --- /dev/null +++ b/vim/after/plugin/insert_cancel.vim @@ -0,0 +1,4 @@ +" Set mapping for insert_cancel.vim +if exists('loaded_insert_cancel') + imap <C-C> <Plug>(InsertCancel) +endif diff --git a/vim/after/plugin/matchparen.vim b/vim/after/plugin/matchparen.vim new file mode 100644 index 00000000..b2be8f61 --- /dev/null +++ b/vim/after/plugin/matchparen.vim @@ -0,0 +1,4 @@ +" If matchparen.vim didn't load, use 'showmatch' instead +if !exists('loaded_matchparen') + set showmatch matchtime=3 +endif diff --git a/vim/autoload/plugin.vim b/vim/autoload/plugin.vim deleted file mode 100644 index 629a4367..00000000 --- a/vim/autoload/plugin.vim +++ /dev/null @@ -1,7 +0,0 @@ -" Check whether plugins are enabled and a specific named plugin (excluding -" extension .vim) is available somewhere within 'runtimepath' -" -function! plugin#Ready(name) abort - return &loadplugins - \ && globpath(&runtimepath, 'plugin/'.a:name.'.vim') !=# '' -endfunction @@ -2,7 +2,7 @@ " Tom Ryder (tejr)’s Literate Vimrc " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ " -" Last updated: Mon, 14 Sep 2020 02:28:57 UTC +" Last updated: Fri, 18 Sep 2020 09:04:53 UTC " " │ And I was lifted up in heart, and thought " │ Of all my late-shown prowess in the lists, @@ -447,15 +447,6 @@ endif " moment, I’ve just added additional entries referring to the user runtime " directory. " -" In much the same way, we add an expected path to a thesaurus, for completion -" with CTRL-X CTRL-T in insert mode, or with ‘t’ added to 'completeopt'. The -" thesaurus data isn’t installed as part of the default ‘install-vim’ target -" in tejr’s dotfiles, but a decent one can be retrieved from my website at -" <https://sanctum.geek.nz/ref/thesaurus.txt>. I got this from the link in -" the :help for 'thesaurus' in v8.1. It’s from WordNet and MyThes-1. I had -" to remove the first two metadata lines from thesaurus.txt, as Vim appeared -" to interpret them as part of the body data. -" set dictionary^=/usr/share/dict/words if s:xdgdatahome !=# '' || !empty(s:xdgdatadirs) execute 'set dictionary^='.option#Escape(join(map( @@ -465,6 +456,18 @@ if s:xdgdatahome !=# '' || !empty(s:xdgdatadirs) \), \ 'option#item#Escape(v:val.''/dictionary.txt'')' \), ',')) +endif + +" In much the same way as 'dictionary', we add an expected path to +" a thesaurus, for completion with CTRL-X CTRL-T in insert mode, or with ‘t’ +" added to 'completeopt'. The thesaurus data isn’t installed as part of the +" default ‘install-vim’ target in tejr’s dotfiles, but a decent one can be +" retrieved from my website at <https://sanctum.geek.nz/ref/thesaurus.txt>. +" I got this from the link in the :help for 'thesaurus' in v8.1. It’s from +" WordNet and MyThes-1. I had to remove the first two metadata lines from +" thesaurus.txt, as Vim appeared to interpret them as part of the body data. +" +if s:xdgdatahome !=# '' || !empty(s:xdgdatadirs) execute 'set thesaurus^='.option#Escape(join(map( \ extend( \ s:xdgdatahome !=# '' ? [s:xdgdatahome] : [], @@ -801,15 +804,6 @@ set noshowcmd " set shortmess+=I -" We’ll only use the old 'showmatch' method of a brief jump to the matching -" bracket under the cursor if the much-preferred matchparen.vim standard -" plugin doesn’t look like it’s going to load, whether because plugins have -" been disabled, or it’s not in any of the plugin directories. -" -if !plugin#Ready('matchparen') - set showmatch matchtime=3 -endif - " I find the defaults of new windows opening above or to the left of the " previous window too jarring, because I’m used to both the i3 window manager " and the tmux terminal multiplexer doing it the other way around, in reading @@ -1052,47 +1046,6 @@ nnoremap <expr> <Space> \ ? "\<PageDown>" \ : ":\<C-U>next\<CR>" -" I hate CTRL-C’s default insert mode behavior. It ends the insert session -" without firing the InsertLeave event for automatic command hooks. Why would -" anyone want that? It breaks plugins that hinge on mirrored functionality -" between the InsertEnter and InsertLeave events, and doesn’t otherwise differ -" from Escape or :stopinsert. Even worse, people think it’s a *synonym* for -" Escape, and use it because it’s easier to reach than the Escape key or -" CTRL-[. Terrible! -" -" Instead, I apply a custom plugin named insert_cancel.vim to make it cancel -" the current insert operation; that is, if the buffer has changed at all -" since the start of the insert operation, pressing CTRL-C will reverse it, -" while ending insert mode and firing InsertLeave as normal. This makes way -" more sense to me, and I use it all the time now. -" -" <https://sanctum.geek.nz/cgit/vim-insert-cancel.git/about/> -" -" You might think on a first look, as I did, that a plugin is overkill, and -" that a mapping like this would be all that’s required: -" -" :inoremap <C-C> <Esc>u -" -" Indeed, it *mostly* works, but there are some subtle problems with it. The -" primary issue is that if you didn’t make any changes during the insert mode -" session that you’re terminating, it *still* reverses the previous change, -" which will be something else entirely that you probably *didn’t* mean to be -" undone. The plugin’s way of working around this and the other shortcomings -" of the simple mapping above is not too much more complicated, but it was not -" easy to figure out. -" -" At any rate, we only want to establish the mapping if we can expect the -" plugin to load, so test that 'loadplugins' is set and that the plugin file -" exists with the expected filename. -" -" If the plugin isn’t available, I just abandon CTRL-C to continue its -" uselessness. -" -if plugin#Ready('insert_cancel') - imap <C-C> - \ <Plug>(InsertCancel) -endif - " I often can’t remember (or guess) digraph codes, and want to look up how to " compose a specific character that I can name, at least in part. The table " in ‘:help digraph-table’ is what to use for that situation, and it solves @@ -1393,7 +1346,7 @@ nnoremap <Leader>g \ :<C-U>echo expand('%:p')<CR> "" Leader,G changes directory to the current file’s location nnoremap <Leader>G - \ :<C-U>cd %:h<Bar>pwd<CR> + \ :<C-U>cd %:h <Bar> pwd<CR> "" Leader,P creates the path to the current file if it doesn’t exist nnoremap <Leader>P \ :<C-U>call mkdir(expand('%:h'), 'p')<CR> |