]> git.madduck.net Git - etc/vim.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Allow users to disable individual maps with hasmapto checks
authorCiro Santilli 六四事件 法轮功 <ciro.santilli@gmail.com>
Mon, 4 May 2015 14:14:30 +0000 (16:14 +0200)
committerCiro Santilli 六四事件 法轮功 <ciro.santilli@gmail.com>
Mon, 4 May 2015 14:15:43 +0000 (16:15 +0200)
README.md
ftplugin/mkd.vim

index 5ba457d48ade28d514905d4a294b8ffdb0ad3068..894037a5d8600c037386cd6d394667c4ba723ac0 100644 (file)
--- a/README.md
+++ b/README.md
@@ -125,6 +125,14 @@ The following work on normal and visual modes:
 
 -   `]u`: go to parent header (Up). `<Plug>Markdown_MoveToParentHeader`
 
+This plugging follows the recommended Vim plugin mapping interface, so if you want to change the map `]u` to `asdf`, add to your `.vimrc`:
+
+    map asdf <Plug>Markdown_MoveToParentHeader
+
+To disable a map, use:
+
+    map <Plug> <Plug>Markdown_MoveToParentHeader
+
 ## Commands
 
 -   `:HeaderDecrease`:
index 6e04bd2cc1103705a157d1edd9c2e83abd17d9be..d67864aad717d3371cfe36be0d8f0603b927cca9 100644 (file)
@@ -510,6 +510,13 @@ function! s:OpenUrlUnderCursor()
     endif
 endfunction
 
+function! s:MapNotHasmapto(lhs, rhs)
+    if !hasmapto('<Plug>' . a:rhs)
+        execute 'nmap <buffer>' . a:lhs . ' <Plug>' . a:rhs
+        execute 'vmap <buffer>' . a:lhs . ' <Plug>' . a:rhs
+    endif
+endfunction
+
 call <sid>MapNormVis('<Plug>Markdown_MoveToNextHeader', '<sid>MoveToNextHeader')
 call <sid>MapNormVis('<Plug>Markdown_MoveToPreviousHeader', '<sid>MoveToPreviousHeader')
 call <sid>MapNormVis('<Plug>Markdown_MoveToNextSiblingHeader', '<sid>MoveToNextSiblingHeader')
@@ -519,20 +526,13 @@ call <sid>MapNormVis('<Plug>Markdown_MoveToCurHeader', '<sid>MoveToCurHeader')
 nnoremap <Plug>Markdown_OpenUrlUnderCursor :call <sid>OpenUrlUnderCursor()<cr>
 
 if !get(g:, 'vim_markdown_no_default_key_mappings', 0)
-    nmap <buffer> ]] <Plug>Markdown_MoveToNextHeader
-    nmap <buffer> [[ <Plug>Markdown_MoveToPreviousHeader
-    nmap <buffer> ][ <Plug>Markdown_MoveToNextSiblingHeader
-    nmap <buffer> [] <Plug>Markdown_MoveToPreviousSiblingHeader
-    nmap <buffer> ]u <Plug>Markdown_MoveToParentHeader
-    nmap <buffer> ]c <Plug>Markdown_MoveToCurHeader
-    nmap <buffer> gx <Plug>Markdown_OpenUrlUnderCursor
-
-    vmap <buffer> ]] <Plug>Markdown_MoveToNextHeader
-    vmap <buffer> [[ <Plug>Markdown_MoveToPreviousHeader
-    vmap <buffer> ][ <Plug>Markdown_MoveToNextSiblingHeader
-    vmap <buffer> [] <Plug>Markdown_MoveToPreviousSiblingHeader
-    vmap <buffer> ]u <Plug>Markdown_MoveToParentHeader
-    vmap <buffer> ]c <Plug>Markdown_MoveToCurHeader
+    call <sid>MapNotHasmapto(']]', 'Markdown_MoveToNextHeader')
+    call <sid>MapNotHasmapto('[[', 'Markdown_MoveToPreviousHeader')
+    call <sid>MapNotHasmapto('][', 'Markdown_MoveToNextSiblingHeader')
+    call <sid>MapNotHasmapto('[]', 'Markdown_MoveToPreviousSiblingHeader')
+    call <sid>MapNotHasmapto(']u', 'Markdown_MoveToParentHeader')
+    call <sid>MapNotHasmapto(']c', 'Markdown_MoveToCurHeader')
+    call <sid>MapNotHasmapto('gx', 'Markdown_OpenUrlUnderCursor')
 endif
 
 command! -buffer -range=% HeaderDecrease call s:HeaderDecrease(<line1>, <line2>)