diff --git a/autoload/neosnippet.vim b/autoload/neosnippet.vim index ed6483c..eebf062 100644 --- a/autoload/neosnippet.vim +++ b/autoload/neosnippet.vim @@ -35,7 +35,7 @@ call neosnippet#util#set_default( \ '', 'g:neocomplcache_snippets_dir') call neosnippet#util#set_default( \ 'g:neosnippet#disable_select_mode_mappings', - \ 0, 'g:neocomplcache_disable_select_mode_mappings') + \ 1, 'g:neocomplcache_disable_select_mode_mappings') "}}} " Variables "{{{ @@ -99,17 +99,7 @@ function! s:initialize()"{{{ " Select mode mappings."{{{ if g:neosnippet#disable_select_mode_mappings - snoremap a - snoremap a - snoremap a - snoremap bi - snoremap ' a' - snoremap ` a` - snoremap % a% - snoremap U aU - snoremap ^ a^ - snoremap \ a\ - snoremap a + autocmd neosnippet BufEnter * call s:clear_select_mode_mappings() endif"}}} " Caching _ snippets. @@ -939,6 +929,22 @@ function! s:trigger(function)"{{{ \ a:function, string(cur_text), col) endfunction"}}} +function! s:clear_select_mode_mappings()"{{{ + redir => mappings + silent! smap + redir END + + for line in map(filter(split(mappings, '\n'), + \ "v:val !~# '(\\%(neosnippet\\|neocomplcache_snippets\\)_[^)]*'"), + \ "substitute(v:val, '', '', 'g')") + let map = matchstr(line, '^\a*\s*\zs\S\+') + let map = substitute(map, '', '', 'g') + + silent! execute 'sunmap' map + silent! execute 'sunmap ' map + endfor +endfunction"}}} + " Plugin key-mappings. function! neosnippet#expand_or_jump_impl() return s:trigger(s:SID_PREFIX().'snippets_expand_or_jump') diff --git a/autoload/neosnippet/snippets/vim.snip b/autoload/neosnippet/snippets/vim.snip index 1f0061d..b76a0c0 100644 --- a/autoload/neosnippet/snippets/vim.snip +++ b/autoload/neosnippet/snippets/vim.snip @@ -77,3 +77,11 @@ options head autocmd! autocmd ${2:event} augroup END + +snippet redir +abbr redir => var +options head + redir => ${1} + ${2:} + redir END + diff --git a/doc/neosnippet.txt b/doc/neosnippet.txt index c6ad5b8..21f82d9 100644 --- a/doc/neosnippet.txt +++ b/doc/neosnippet.txt @@ -456,6 +456,7 @@ CHANGELOG *neosnippet-changelog* 2012-10-27 - Fixed for :SnippetEdit. +- Improved g:neosnippet#disable_select_mode_mappings behavior. 2012-10-26 - Improved javascript snippet file.