aboutsummaryrefslogtreecommitdiff
path: root/vim
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2018-06-26 11:13:18 +1200
committerTom Ryder <tom@sanctum.geek.nz>2018-06-26 11:13:18 +1200
commit757ee5eb863378d7a19c360d51d96bf9544786a7 (patch)
treedea1e486567e9f31f40433e40faad35c37ee310d /vim
parentRefactor filetype-specific .vimrc material (diff)
downloaddotfiles-757ee5eb863378d7a19c360d51d96bf9544786a7.tar.gz
dotfiles-757ee5eb863378d7a19c360d51d96bf9544786a7.zip
Clear away VimL mapping rubbish
Diffstat (limited to 'vim')
-rw-r--r--vim/after/ftplugin/vim/clear_maps.vim37
1 files changed, 37 insertions, 0 deletions
diff --git a/vim/after/ftplugin/vim/clear_maps.vim b/vim/after/ftplugin/vim/clear_maps.vim
new file mode 100644
index 00000000..a84ca4b9
--- /dev/null
+++ b/vim/after/ftplugin/vim/clear_maps.vim
@@ -0,0 +1,37 @@
+" vim/clear_maps.vim: Fix clearing buffer-local vim maps that the core
+" ftplugin leaves in place
+
+" Don't load if running compatible or too old
+if &compatible || v:version < 700
+ finish
+endif
+
+" Don't load if already loaded
+if exists('b:did_ftplugin_vim_lint')
+ finish
+endif
+
+" Don't load if the mappings probably weren't loaded in the first place
+if exists('g:no_plugin_maps') || exists('g:no_vim_maps')
+ finish
+endif
+
+" Flag as loaded
+let b:did_ftplugin_vim_clear_maps = 1
+let b:undo_ftplugin = b:undo_ftplugin
+ \ . '|unlet b:did_ftplugin_vim_clear_maps'
+
+" Add undo commands
+let b:undo_ftplugin = b:undo_ftplugin
+ \ . '|silent! nunmap <buffer> [['
+ \ . '|silent! vunmap <buffer> [['
+ \ . '|silent! nunmap <buffer> ]]'
+ \ . '|silent! vunmap <buffer> ]]'
+ \ . '|silent! nunmap <buffer> []'
+ \ . '|silent! vunmap <buffer> []'
+ \ . '|silent! nunmap <buffer> ]['
+ \ . '|silent! vunmap <buffer> ]['
+ \ . '|silent! nunmap <buffer> ]"'
+ \ . '|silent! vunmap <buffer> ]"'
+ \ . '|silent! nunmap <buffer> ["'
+ \ . '|silent! vunmap <buffer> ["'