Tim,
On 2014-09-20 23:42, Tim Chase wrote:
> On 2014-09-20 23:09, Philip Rhoades wrote:
>> If I have words in a file - either on the same or separate lines -
>> is it possible, within vim (I could probably do what I want with a
>> shell script and grep) to search for _any_ of the words in the set?
>> 
>> eg I have a file with words:
>> 
>>    quick fox lazy dog
>> 
>> and I have a text file open in vim with the lines
>> 
>> the
>> quick
>> brown
>> fox
>> jumps
>> over
>> the
>> lazy
>> dog
>> 
>> - I want my search to stop on "quick" then "fox" then "lazy" then
>> "dog" when the search is repeated . . seems too hard to me . .
> 
> You can mung your file to make it into an expression and then use
> that to search:
> 
>   :new          " create an empty buffer
>   :r words.txt  " read your wordlist into it
>   :%s/\_s\+/\\|/g  " convert all whitespace including newlines
>                    " to "\|", the "or" conjunction in a regexp
>   :y a          " yank that into the "a" register
>   :q
>   :let @/ = '\<\%(' . @a, '\.[*') . '\)\>'
> 
> The "let" line takes the resulting combined terms, wraps it in the
> enforcement that it have word boundaries so you don't find "bulldogs"
> but only "dog", and assigns it to the search register. If you don't
> care about word boundaries, you can just do
> 
>   :let @/ = @a
The simple version works fine but there is an error in the complex let 
statement somewhere - I can see the search register and the "a" register 
- can you explain how the stuff around the "a" register works or point 
me to somewhere?
Thanks,
Phil.
-- 
Philip Rhoades
GPO Box 3411
Sydney NSW	2001
Australia
E-mail:  phil@pricom.com.au
-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
--- 
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Saturday, September 20, 2014
Subscribe to:
Post Comments (Atom)
 
No comments:
Post a Comment