diff options
| author | Ben Beltran <ben@freshout.us> | 2013-06-05 09:34:53 -0500 |
|---|---|---|
| committer | Ben Beltran <ben@freshout.us> | 2013-06-05 09:34:53 -0500 |
| commit | e23d7a9f7363bdc69e95a1df31e093db15459fcf (patch) | |
| tree | ca013667439bad6c4fc672b790c1a14d0d71566f /vim/plugin/SearchComplete.vim | |
| parent | 547f6d2a3743174ff385ba239665b5de1964a043 (diff) | |
A whole bunch of new additions to the submodules
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 - |