From fe337504f2fb3ded76326b1e3d4d02787a27d853 Mon Sep 17 00:00:00 2001 From: Ben Beltran Date: Wed, 5 Jun 2013 10:50:57 -0500 Subject: Aand that's all the plugins. --- vim/plugin/unimpaired.vim | 315 ---------------------------------------------- 1 file changed, 315 deletions(-) delete mode 100644 vim/plugin/unimpaired.vim (limited to 'vim/plugin/unimpaired.vim') diff --git a/vim/plugin/unimpaired.vim b/vim/plugin/unimpaired.vim deleted file mode 100644 index 60b6c02..0000000 --- a/vim/plugin/unimpaired.vim +++ /dev/null @@ -1,315 +0,0 @@ -" unimpaired.vim - Pairs of handy bracket mappings -" Maintainer: Tim Pope -" Version: 1.1 -" GetLatestVimScripts: 1590 1 :AutoInstall: unimpaired.vim - -if exists("g:loaded_unimpaired") || &cp || v:version < 700 - finish -endif -let g:loaded_unimpaired = 1 - -" Next and previous {{{1 - -function! s:MapNextFamily(map,cmd) - let map = 'unimpaired'.toupper(a:map) - let end = ' ".(v:count ? v:count : "")' - execute 'nmap '.map.'Previous :exe "'.a:cmd.'previous'.end - execute 'nmap '.map.'Next :exe "'.a:cmd.'next'.end - execute 'nmap '.map.'First :exe "'.a:cmd.'first'.end - execute 'nmap '.map.'Last :exe "'.a:cmd.'last'.end - execute 'nmap ['. a:map .' '.map.'Previous' - execute 'nmap ]'. a:map .' '.map.'Next' - execute 'nmap ['.toupper(a:map).' '.map.'First' - execute 'nmap ]'.toupper(a:map).' '.map.'Last' -endfunction - -call s:MapNextFamily('a','') -call s:MapNextFamily('b','b') -call s:MapNextFamily('l','l') -call s:MapNextFamily('q','c') -call s:MapNextFamily('t','t') - -function! s:entries(path) - let path = substitute(a:path,'[\\/]$','','') - let files = split(glob(path."/.*"),"\n") - let files += split(glob(path."/*"),"\n") - call map(files,'substitute(v:val,"[\\/]$","","")') - call filter(files,'v:val !~# "[\\\\/]\\.\\.\\=$"') - call filter(files,'v:val[-4:-1] !=# ".swp" && v:val[-1:-1] !=# "~"') - return files -endfunction - -function! s:FileByOffset(num) - let file = expand('%:p') - let num = a:num - while num - let files = s:entries(fnamemodify(file,':h')) - if a:num < 0 - call reverse(sort(filter(files,'v:val < file'))) - else - call sort(filter(files,'v:val > file')) - endif - let temp = get(files,0,'') - if temp == '' - let file = fnamemodify(file,':h') - else - let file = temp - while isdirectory(file) - let files = s:entries(file) - if files == [] - " TODO: walk back up the tree and continue - break - endif - let file = files[num > 0 ? 0 : -1] - endwhile - let num += num > 0 ? -1 : 1 - endif - endwhile - return file -endfunction - -nnoremap unimpairedONext :edit `=FileByOffset(v:count1)` -nnoremap unimpairedOPrevious :edit `=FileByOffset(-v:count1)` - -nmap ]o unimpairedONext -nmap [o unimpairedOPrevious - -nmap [, :call search('^[<=>]\{7\}','bW') -nmap ], :call search('^[<=>]\{7\}','W') -omap [, V:call search('^[<=>]\{7\}','bW') -omap ], V:call search('^[<=>]\{7\}','W') -xmap [, :exe 'norm! gv'call search('^[<=>]\{7\}','bW') -xmap ], :exe 'norm! gv'call search('^[<=>]\{7\}','W') -nmap [< :call search('^<<<<<<<','bW') -nmap [= :call search('^=======','bW') -nmap [> :call search('^>>>>>>>','bW') -nmap ]< :call search('^<<<<<<<','W') -nmap ]= :call search('^=======','W') -nmap ]> :call search('^>>>>>>>','W') -xmap [< :exe 'norm! gv'call search('^<<<<<<<','bW') -xmap [= :exe 'norm! gv'call search('^=======','bW') -xmap [> :exe 'norm! gv'call search('^>>>>>>>','bW') -xmap ]< :exe 'norm! gv'call search('^<<<<<<<','W') -xmap ]= :exe 'norm! gv'call search('^=======','W') -xmap ]> :exe 'norm! gv'call search('^>>>>>>>','W') -omap [< V:call search('^<<<<<<<','bW') -omap [= V:call search('^=======','bW') -omap [> V:call search('^>>>>>>>','bW') -omap ]< V:call search('^<<<<<<<','W') -omap ]= V:call search('^=======','W') -omap ]> V:call search('^>>>>>>>','W') - -" }}}1 -" Line operations {{{1 - -function! s:BlankUp(count) abort - put!=repeat(nr2char(10), a:count) - ']+1 - silent! call repeat#set("\unimpairedBlankUp", a:count) -endfunction - -function! s:BlankDown(count) abort - put =repeat(nr2char(10), a:count) - '[-1 - silent! call repeat#set("\unimpairedBlankDown", a:count) -endfunction - -nnoremap unimpairedBlankUp :call BlankUp(v:count1) -nnoremap unimpairedBlankDown :call BlankDown(v:count1) - -nmap [ unimpairedBlankUp -nmap ] unimpairedBlankDown - -function! s:Move(cmd, count, map) abort - normal! m` - exe 'move'.a:cmd.a:count - norm! `` - call repeat#set("\unimpairedMove".a:map, a:count) -endfunction - -nnoremap unimpairedMoveUp :call Move('--',v:count1,'Up') -nnoremap unimpairedMoveDown :call Move('+',v:count1,'Down') -xnoremap unimpairedMoveUp :exe 'normal! m`'exe '''<,''>move--'.v:count1`` -xnoremap unimpairedMoveDown :exe 'normal! m`'exe '''<,''>move''>+'.v:count1`` - -nmap [e unimpairedMoveUp -nmap ]e unimpairedMoveDown -xmap [e unimpairedMoveUp -xmap ]e unimpairedMoveDown - -" }}}1 -" Encoding and decoding {{{1 - -function! s:StringEncode(str) - let map = {"\n": 'n', "\r": 'r', "\t": 't', "\b": 'b', "\f": '\f', '"': '"', '\': '\'} - return substitute(a:str,"[\001-\033\\\\\"]",'\="\\".get(map,submatch(0),printf("%03o",char2nr(submatch(0))))','g') -endfunction - -function! s:StringDecode(str) - let map = {'n': "\n", 'r': "\r", 't': "\t", 'b': "\b", 'f': "\f", 'e': "\e", 'a': "\001", 'v': "\013"} - let str = a:str - if str =~ '^\s*".\{-\}\\\@','\>','g') - let str = substitute(str,'"','\"','g') - return str -endfunction - -function! s:XmlEntityDecode(str) - let str = substitute(a:str,'\c&#\%(0*38\|x0*26\);','&','g') - let str = substitute(str,'\c&#\(\d\+\);','\=nr2char(submatch(1))','g') - let str = substitute(str,'\c&#\(x\x\+\);','\=nr2char("0".submatch(1))','g') - let str = substitute(str,'\c'',"'",'g') - let str = substitute(str,'\c"','"','g') - let str = substitute(str,'\c>','>','g') - let str = substitute(str,'\c<','<','g') - let str = substitute(str,'\C&\(\%(amp;\)\@!\w*\);','\=nr2char(get(g:unimpaired_html_entities,submatch(1),63))','g') - return substitute(str,'\c&','\&','g') -endfunction - -function! s:XmlDecode(str) - let str = substitute(a:str,'<\%([[:alnum:]-]\+=\%("[^"]*"\|''[^'']*''\)\|.\)\{-\}>','','g') - return s:XmlEntityDecode(str) -endfunction - -function! s:Transform(algorithm,type) - let sel_save = &selection - let cb_save = &clipboard - set selection=inclusive clipboard-=unnamed clipboard-=unnamedplus - let reg_save = @@ - if a:type =~ '^\d\+$' - silent exe 'norm! ^v'.a:type.'$hy' - elseif a:type =~ '^.$' - silent exe "normal! `<" . a:type . "`>y" - elseif a:type == 'line' - silent exe "normal! '[V']y" - elseif a:type == 'block' - silent exe "normal! `[\`]y" - else - silent exe "normal! `[v`]y" - endif - let @@ = s:{a:algorithm}(@@) - norm! gvp - let @@ = reg_save - let &selection = sel_save - let &clipboard = cb_save - if a:type =~ '^\d\+$' - silent! call repeat#set("\unimpairedLine".a:algorithm,a:type) - endif -endfunction - -function! s:TransformOpfunc(type) - return s:Transform(s:encode_algorithm, a:type) -endfunction - -function! s:TransformSetup(algorithm) - let s:encode_algorithm = a:algorithm - let &opfunc = matchstr(expand(''), '\d\+_').'TransformOpfunc' -endfunction - -function! s:MapTransform(algorithm, key) - exe 'nnoremap unimpaired' .a:algorithm.' :call TransformSetup("'.a:algorithm.'")g@' - exe 'xnoremap unimpaired' .a:algorithm.' :call Transform("'.a:algorithm.'",visualmode())' - exe 'nnoremap unimpairedLine'.a:algorithm.' :call Transform("'.a:algorithm.'",v:count1)' - exe 'nmap '.a:key.' unimpaired'.a:algorithm - exe 'xmap '.a:key.' unimpaired'.a:algorithm - exe 'nmap '.a:key.a:key[strlen(a:key)-1].' unimpairedLine'.a:algorithm -endfunction - -call s:MapTransform('StringEncode','[y') -call s:MapTransform('StringDecode',']y') -call s:MapTransform('UrlEncode','[u') -call s:MapTransform('UrlDecode',']u') -call s:MapTransform('XmlEncode','[x') -call s:MapTransform('XmlDecode',']x') - -" }}}1 - -" vim:set sw=2 sts=2: -- cgit