diff options
Diffstat (limited to 'vim/plugin/SearchComplete.vim')
| -rw-r--r-- | vim/plugin/SearchComplete.vim | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/vim/plugin/SearchComplete.vim b/vim/plugin/SearchComplete.vim deleted file mode 100644 index 8e950c6..0000000 --- a/vim/plugin/SearchComplete.vim +++ /dev/null @@ -1,100 +0,0 @@ -" SearchComplete.vim -" Author: Chris Russell -" Version: 1.1 -" License: GPL v2.0 -" -" Description: -" This script defineds functions and key mappings for Tab completion in -" searches. -" -" Help: -" This script catches the <Tab> character when using the '/' search -" command. Pressing Tab will expand the current partial word to the -" next matching word starting with the partial word. -" -" If you want to match a tab, use the '\t' pattern. -" -" Installation: -" Simply drop this file into your $HOME/.vim/plugin directory. -" -" Changelog: -" 2002-11-08 v1.1 -" Convert to unix eol -" 2002-11-05 v1.0 -" Initial release -" -" TODO: -" - - -"-------------------------------------------------- -" Avoid multiple sourcing -"-------------------------------------------------- -if exists( "loaded_search_complete" ) - finish -endif -let loaded_search_complete = 1 - - -"-------------------------------------------------- -" Key mappings -"-------------------------------------------------- -noremap / :call SearchCompleteStart()<CR>/ - - -"-------------------------------------------------- -" Set mappings for search complete -"-------------------------------------------------- -function! SearchCompleteStart() - cnoremap <Tab> <C-C>:call SearchComplete()<CR>/<C-R>s - cnoremap <silent> <CR> <CR>:call SearchCompleteStop()<CR> - cnoremap <silent> <Esc> <C-C>:call SearchCompleteStop()<CR> -endfunction - -"-------------------------------------------------- -" Tab completion in / search -"-------------------------------------------------- -function! SearchComplete() - " get current cursor position - let l:loc = col( "." ) - 1 - " get partial search and delete - let l:search = histget( '/', -1 ) - call histdel( '/', -1 ) - " check if new search - if l:search == @s - " get root search string - let l:search = b:searchcomplete - " increase number of autocompletes - let b:searchcompletedepth = b:searchcompletedepth . "\<C-N>" - else - " one autocomplete - let b:searchcompletedepth = "\<C-N>" - endif - " store origional search parameter - let b:searchcomplete = l:search - " set paste option to disable indent options - let l:paste = &paste - setlocal paste - " on a temporary line put search string and use autocomplete - execute "normal! A\n" . l:search . b:searchcompletedepth - " get autocomplete result - let @s = getline( line( "." ) ) - " undo and return to first char - execute "normal! u0" - " return to cursor position - if l:loc > 0 - execute "normal! ". l:loc . "l" - endif - " reset paste option - let &paste = l:paste -endfunction - -"-------------------------------------------------- -" Remove search complete mappings -"-------------------------------------------------- -function! SearchCompleteStop() - cunmap <Tab> - cunmap <CR> - cunmap <Esc> -endfunction - |