--- Robert Cussons <[EMAIL PROTECTED]> wrote: > Jean-Rene David wrote: > > * Robert Cussons [2006.10.18 09:29]: > > > >>Everything seems to work fine now, except the > >>searched for items aren't highlighted like they > >>normally are when I search > > > > > > Whether or not search items are highlighted > > depends on the value of the 'hlsearch' option. > > > > The search item gets highlighted on my end when the > > option is set. Is yours set? [snip]
I have learned a lot from this thread! I changed the function slightly (see below) because I also didn't understand the missing ^M was causing my problem. I like to use * and # for searching for a string in highlight mode, then I press F10 to turn off highlighting. However, pressing F10 with nohls highlights the word under the cursor without searching for it, which was is a modification of some comments at the bottom of vimtip #1. Between this thread and the discussions in vimtip #1 I now have the following which works really *really* nicely: "----begin---- " disabled initially since it distracts me set nohlsearch " in normal mode, make * highlight the search string nnoremap <silent> * *:set hls<CR> nnoremap <silent> # #:set hls<CR> " in visual mode, use highlighted selection for search pattern vnoremap <silent> * :call VisualSearch('f')<CR>:set hls<CR> vnoremap <silent> # :call VisualSearch('b')<CR>:set hls<CR> function! VisualSearch(direction) let l:saved_reg = @" execute "normal! vgvy" let l:pattern = escape(@", '\/.*$^~[]') let l:pattern = substitute(l:pattern, "\n$", "", "") let @/ = l:pattern let @" = l:saved_reg if a:direction == 'f' normal n else normal N endif endfunc " map <F10> to toggle the highlight search mode " if hlsearch is on then simply turn it off " if hlsearch is off then highlight word under cursor only nnoremap <silent> <F10> :call SetSearchReg()<CR>:set invhls<CR> function! SetSearchReg() if &hlsearch == 0 let @/ = expand('<cword>') endif endfunc " my mind/fingers think of <F10> as highlight search mode " so make visual mode <F10> and <Shift><F10> work like * and # vnoremap <silent> <F10> :call VisualSearch('f')<CR>:set hls<CR> vnoremap <silent> <S-F10> :call VisualSearch('b')<CR>:set hls<CR> "-----end----- Regards, David __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com