Re: how to apply a given map, written for a line, to a block of lines?

2017-10-22 Thread Jose Caballero
2017-10-20 23:36 GMT-04:00 Tony Mechelynck :
> On Sat, Oct 21, 2017 at 4:25 AM, Ben Fritz  wrote:
>> On Friday, October 20, 2017 at 5:29:53 PM UTC-5, Jose Caballero wrote:
>>> Hi,
>>>
>>> I would only need to know which key words I need to search in google... :)
>>> I have a few remaps (and iremaps) that modify the current line. For
>>> example, to add # at the beginning, and stuff like that.
>>> I would like to know how to re-use those mappings for a block of
>>> lines, not line by line.
>>> I am wondering if there is a way, for example, to apply it to a
>>> visually select block, or similar.
>>>
>>> Any clue, or link, where I can educate myself on this topic, would be
>>> appreciated.
>>> As I said, at this point, I don't even know which key to search with :help
>>>
>>> Thanks a lot in advance.
>>> Jose
>>
>> Easy way (no extra effort): visually select the lines you want, and type 
>> ":normal " and then your mapping. You should see ":'<,'>normal ". Press 
>> enter to run the command on every line.
>>
>> Harder way would be to create a visual mode mapping that somehow invokes the 
>> behavior you want on each line. Then for bonus points consider an 
>> operator-pending mapping.
>
> Yeah, and for extra bonus points: construct a function with a "range"
> qualifier (see :help :function and :help E124) and/or a user-command
> with a -range attribute, probably defaulting to current line (see
> :help :command and :help :command-range) and update your mapping to
> invoke them. If you define both in a single script (e.g. in your vimrc
> or in an ftplugin), it is possible to define a public (i.e.
> user-facing) command which calls a private (i.e. script-local)
> function.
>
> Best regards,
> Tony.
>


Thanks a lot for the prompt responses.
I have tried to first choice (visually select the lines and type
":normal". Works perfectly. Really easy.
I also added a visual mapping, which I didn't know they exist (pure
ignorance). Also very easy.
I am going now to investigate about the operator-pending mappings...

Once again, thanks a lot.
Cheers,
Jose

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: how to apply a given map, written for a line, to a block of lines?

2017-10-20 Thread Tony Mechelynck
On Sat, Oct 21, 2017 at 4:25 AM, Ben Fritz  wrote:
> On Friday, October 20, 2017 at 5:29:53 PM UTC-5, Jose Caballero wrote:
>> Hi,
>>
>> I would only need to know which key words I need to search in google... :)
>> I have a few remaps (and iremaps) that modify the current line. For
>> example, to add # at the beginning, and stuff like that.
>> I would like to know how to re-use those mappings for a block of
>> lines, not line by line.
>> I am wondering if there is a way, for example, to apply it to a
>> visually select block, or similar.
>>
>> Any clue, or link, where I can educate myself on this topic, would be
>> appreciated.
>> As I said, at this point, I don't even know which key to search with :help
>>
>> Thanks a lot in advance.
>> Jose
>
> Easy way (no extra effort): visually select the lines you want, and type 
> ":normal " and then your mapping. You should see ":'<,'>normal ". Press enter 
> to run the command on every line.
>
> Harder way would be to create a visual mode mapping that somehow invokes the 
> behavior you want on each line. Then for bonus points consider an 
> operator-pending mapping.

Yeah, and for extra bonus points: construct a function with a "range"
qualifier (see :help :function and :help E124) and/or a user-command
with a -range attribute, probably defaulting to current line (see
:help :command and :help :command-range) and update your mapping to
invoke them. If you define both in a single script (e.g. in your vimrc
or in an ftplugin), it is possible to define a public (i.e.
user-facing) command which calls a private (i.e. script-local)
function.

Best regards,
Tony.

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: how to apply a given map, written for a line, to a block of lines?

2017-10-20 Thread Ben Fritz
On Friday, October 20, 2017 at 5:29:53 PM UTC-5, Jose Caballero wrote:
> Hi,
> 
> I would only need to know which key words I need to search in google... :)
> I have a few remaps (and iremaps) that modify the current line. For
> example, to add # at the beginning, and stuff like that.
> I would like to know how to re-use those mappings for a block of
> lines, not line by line.
> I am wondering if there is a way, for example, to apply it to a
> visually select block, or similar.
> 
> Any clue, or link, where I can educate myself on this topic, would be
> appreciated.
> As I said, at this point, I don't even know which key to search with :help
> 
> Thanks a lot in advance.
> Jose

Easy way (no extra effort): visually select the lines you want, and type 
":normal " and then your mapping. You should see ":'<,'>normal ". Press enter 
to run the command on every line.

Harder way would be to create a visual mode mapping that somehow invokes the 
behavior you want on each line. Then for bonus points consider an 
operator-pending mapping.

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


how to apply a given map, written for a line, to a block of lines?

2017-10-20 Thread Jose Caballero
Hi,

I would only need to know which key words I need to search in google... :)
I have a few remaps (and iremaps) that modify the current line. For
example, to add # at the beginning, and stuff like that.
I would like to know how to re-use those mappings for a block of
lines, not line by line.
I am wondering if there is a way, for example, to apply it to a
visually select block, or similar.

Any clue, or link, where I can educate myself on this topic, would be
appreciated.
As I said, at this point, I don't even know which key to search with :help

Thanks a lot in advance.
Jose

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.