On Tue, Apr 20, 2010 at 6:26 PM, Gary Johnson <[email protected]> wrote:
> On 2010-04-20, stosss wrote:
>> On Tue, Apr 20, 2010 at 4:31 PM, Gary Johnson <[email protected]> wrote:
>> > On 2010-04-20, stosss wrote:
>> >> On Tue, Apr 20, 2010 at 1:48 PM, Brett Stahlman wrote:
>> >> > On Apr 19, 2:00 am, stosss <[email protected]> wrote:
>> >> >> Again I have read :help visual-mode and :help map as in my other post
>> >> >> about visual-mode I can't figure out how to make it work.
>> >> >>
>> >> >> Will some one enlighten me?
>> >> >
>> >> > Perhaps if you gave an example of what you were trying to
>> >> > accomplish...
>> >> >
>> >>
>> >> As I have declared in the few posts that I have sent to this list, I
>> >> am still knew and learning. Maybe my approach is wrong or not as good
>> >> as another approach.
>> >>
>> >> I figured out how to set up a map to wrap a word or an entire line in
>> >> an HTML tag. Sometimes I want to wrap more than one word but less then
>> >> the whole line.
>> >>
>> >> Although I am reading help I don't always know all the pieces needed
>> >> to accomplish my task.
>> >
>> > As Brett tried to explain, no one can help you if they don't know
>> > the "it" you are trying to make work.  If something you are doing is
>> > not working as you expect it to, then show here _exactly_ what you
>> > are doing.  That is, show _exactly_ the commands you are executing
>> > or the sequence of keys you are typing.  Include the text you are
>> > attempting to edit.  Then show or explain _exactly_ the results you
>> > are getting and explain the results you expected to get.
>> >
>> > This may help.
>> >
>> >    http://catb.org/~esr/faqs/smart-questions.html
>> >
>> > Even if you are looking for broader knowledge than just the answer
>> > to a particular problem, a particular problem can be the starting
>> > place.  It will give people here a better idea of what you do and
>> > do not know and will help them suggest specific areas of the Vim
>> > documentation that you might benefit from reading.
>>
>> Working with *any* HTML tag, here are some examples: <p> <b> <i> <h2> <br /> 
>> <a>
>>
>> I have several maps created. The ones I have created all work as expected.
>>
>> Take the <i> and <b> tags. I am able to use my maps to wrap one word
>> or an entire line.
>>
>> What I don't know how to do, or even where to look, is make a map to
>> wrap more than one word but less then the entire line with an HTML
>> tag. I have created examples below.
>>
>> All the maps that I have created either work with one of the <F[2-9]>
>> or have \ in the first keystroke of the map command.
>>
>> examples:
>>
>> in my ~/.vimrc I have:
>>
>> map #6 i<i><Esc>ea</i><Esc> " wraps one word
>>
>> map #7 i<b><Esc>ea</b><Esc> " wraps one word
>>
>> map \i8 0i<i><Esc>$a</i><Esc>0 " moves cursor to ^ wraps everything
>> from ^ to $ and then moves cursor back to ^
>>
>>
>> One line of text with a lot of filler to <i>show</i> map results of
>> the first map above.
>>
>> Second line of text with a lot of filler to <b>show</b> map results of
>> the second map above.
>>
>> <i>Third line of text with a lot of filler to show map results of the
>> third map above.</i>
>>
>> Forth <i>line of text</i> with <b>a lot of filler</b> to illustrate
>> desired results.
>>
>> I don't know what to read to learn how to create a map that I can
>> execute and then tell it how many words to wrap with the HTML tag.
>
> Someone posted a number of good solutions to this problem fairly
> recently, but I can't seem to find that thread at the moment.  As I
> recall, one of the solutions used the substitute command s within a
> visually-selected region to replace the selected text with that same
> text preceded and followed by the desired tags.  I'm not sure how
> good a solution the following is, but it seems to work.
>
>    :vnoremap #3 ygvs<i><C-R>"</i><Esc>
>
> That yanks the visually-selected text into the default register (y),
> re-selects the region (gv), substitutes the text in that region (s)
> with the initial tag (<i>) followed by insertion of the previously
> yanked text from the default register (<C-R>") followed by the end
> tag (</i>) and ends the substitution (<Esc>).
>
> Most of the information on visual-mode is in
>
>    :help visual.txt
>
> For a more tutorial approach, you could start with
>
>    :help toc
>
> and search for "visual".  That will show you the sections
>
>    :help 04.4
>    :help 10.5
>    :help 26.1
>
> The commands I used above are explained in
>
>    :help visual-operators
>    :help gv
>    :help i_CTRL-R
>    :help mapmode-v
>    :help 40.1
>
> Getting back to your statement that you didn't know how to specify a
> certain number of words to wrap, once you enter visual mode by
> typing 'v', you can continue to move the cursor using most of the
> usual normal-mode commands.  For example, to select three words to
> wrap, you could move the cursor to the first word, then type
>
>    v3e
>
> You can also move the cursor to the opposite end of the
> visually-selected region by typing 'o'.  So for example, after
> selecting those three words you might discover that you wanted the
> preceding word as well.  Then you would just type
>
>    ob

Thank you, this should get me going. I will read all those help
sections and play around with this to see how to actually be able to
use it.

-- 
If we can but prevent the government from wasting the labours of the
people, under the pretence of taking care of them, they must become
happy. - Thomas Jefferson

-- 
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

Subscription settings: http://groups.google.com/group/vim_use/subscribe?hl=en

Reply via email to