Re: how to apply a given map, written for a line, to a block of lines?
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?
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?
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?
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.