Re: right-to-left text selection
On 5/20/2006 7:21 PM, Gerald Lai wrote: >> Hi, Gerald. Thanks for the reply. This is a pretty creative suggestion, >> but I can't get it to work quite right. I tried adding this to my >> .vimrc: >> >> nnoremap <2-LeftMouse> viwo >> vnoremap <2-LeftDrag> > > Yes, Vim should recognize the <2-LeftDrag> event. I verified your > problem and found out what happened :) > > Stripping down my mappings led me to the solution. Add this extra > mapping: > > nnoremap That did it! Thanks again for the help, Gerald. With this I'm finally able to mark the last thing of my vimrc todo list. :-) -- Jared
Re: right-to-left text selection
On Sat, 20 May 2006, Jared wrote: On 5/18/2006 1:52 AM, Gerald Lai wrote: On Tue, 16 May 2006, Gerald Lai wrote: I just thought of another more pleasing workaround, if you're interested. Try: nnoremap <2-LeftMouse> viwo vnoremap <2-LeftDrag> This way, if you wish to select the last character, start with a double click instead of a single click (ala "include the last character, damn it!") ;) If you want it to be in SELECT mode after the double click, then use this instead: nnoremap <2-LeftMouse> viwo Hi, Gerald. Thanks for the reply. This is a pretty creative suggestion, but I can't get it to work quite right. I tried adding this to my .vimrc: nnoremap <2-LeftMouse> viwo vnoremap <2-LeftDrag> What's happening is that the last character will be selected, but I'm unable to "drag" without clicking again. When I click that third time, one of two things happen: * I click it fast enough to trigger the triple-click event, which selects the whole line. * I click slow enough that the default single-click action kicks in, which takes me back to my original problem. The vnoremap line doesn't seem to have any effect. Does Vim recognize that <2-LeftDrag> event? That seems like it should solve my problem, but Vim seems to ignore it. Yes, Vim should recognize the <2-LeftDrag> event. I verified your problem and found out what happened :) When I tried those mappings on my settings, it works perfectly. When I started it without my settings (that heavily modified mouse mappings), it does as you describe. Stripping down my mappings led me to the solution. Add this extra mapping: nnoremap It ought to work then with the other 2 mappings, and does not disrupt anything from what I can tell. Seems that was doing its "job" within the double-click. HTH :) -- Gerald
Re: right-to-left text selection
On Wed, 17 May 2006 at 11:41pm, Jared wrote: > On 5/17/2006 11:11 PM, Eric Arnold wrote: > > While the visual mode selection is active, hitting "o" moves to the > > opposite corner. > > > > > > > > Keep in mind that it doesn't work the same with a selection made by > > the mouse, since that leaves it in "select" mode not visual mode, > > which has some properties like insert mode, but in general has to be > > treated differently. Use ^G to switch visual/select modes. > > > Ok, this was the problem. I was using select mode rather than visual mode, > and it was behaving exactly as you described. If I select the text, then > hit ^gol^c, I can finally select all text, including the last character. Yay! > > Not exactly the easiest key sequence, but at least I can make it work now. > > Thanks, Eric! > > -- > Jared If this worksout for you, try creating a map, something like: vnoremap ol or even, itself to be: vnoremap ol You might even be able to map the to do this automatically, not sure how you have selection mode setup, but if you give your settings, I can try to get a mapping work for you. -- HTH, Hari __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Re: right-to-left text selection
On Tue, 16 May 2006, Gerald Lai wrote: On Tue, 16 May 2006, Jared wrote: [snip] So, my question: is it somehow possible to be able to select the last character of a line when selecting from right-to-left while using selection=exclusive? [snip] I just thought of another more pleasing workaround, if you're interested. Try: nnoremap <2-LeftMouse> viwo vnoremap <2-LeftDrag> This way, if you wish to select the last character, start with a double click instead of a single click (ala "include the last character, damn it!") ;) If you want it to be in SELECT mode after the double click, then use this instead: nnoremap <2-LeftMouse> viwo HTH. -- Gerald
Re: right-to-left text selection
On 5/17/2006 11:11 PM, Eric Arnold wrote: > While the visual mode selection is active, hitting "o" moves to the > opposite corner. > > > > Keep in mind that it doesn't work the same with a selection made by > the mouse, since that leaves it in "select" mode not visual mode, > which has some properties like insert mode, but in general has to be > treated differently. Use ^G to switch visual/select modes. Ok, this was the problem. I was using select mode rather than visual mode, and it was behaving exactly as you described. If I select the text, then hit ^gol^c, I can finally select all text, including the last character. Yay! Not exactly the easiest key sequence, but at least I can make it work now. Thanks, Eric! -- Jared
Re: right-to-left text selection
Jared wrote: On 5/17/2006 12:52 AM, Gerald Lai wrote: So, my question: is it somehow possible to be able to select the last character of a line when selecting from right-to-left while using selection=exclusive? The simplest work around is to hit "ol" (that's oh-el) to select that last character. How exactly does this work? When I hit o in command mode, it adds a newline below and moves the cursor down. If I hit o in select mode, it overtypes my selection. Hitting l does move the character to the right, but not if it's on the last line. Sorry, must've just misunderstood you. Would you mind explaining again? Thanks. -- Jared Try using it in --VISUAL-- (not --SELECT--) mode. To start Visual mode, hit v (characterwise), V (linewise) or Ctrl-V (blockwise) in Normal mode, then move the cursor. (And if you use Ctrl-V to paste, use Ctrl-Q instead.) Best regards, Tony.
Re: right-to-left text selection
While the visual mode selection is active, hitting "o" moves to the opposite corner. If it isn't doing that for you, I'd check for vmap interference. 3. Changing the Visual area *visual-change* *v_o* o Go to Other end of highlighted text: The current cursor position becomes the start of the highlighted text and the cursor is moved to the other end of the highlighted text. The highlighted area remains the same. Keep in mind that it doesn't work the same with a selection made by the mouse, since that leaves it in "select" mode not visual mode, which has some properties like insert mode, but in general has to be treated differently. Use ^G to switch visual/select modes. On 5/17/06, Jared <[EMAIL PROTECTED]> wrote: On 5/17/2006 12:52 AM, Gerald Lai wrote: >> So, my question: is it somehow possible to be able to select the last >> character of a line when selecting from right-to-left while using >> selection=exclusive? > > The simplest work around is to hit "ol" (that's oh-el) to select that > last character. How exactly does this work? When I hit o in command mode, it adds a newline below and moves the cursor down. If I hit o in select mode, it overtypes my selection. Hitting l does move the character to the right, but not if it's on the last line. Sorry, must've just misunderstood you. Would you mind explaining again? Thanks. -- Jared
Re: right-to-left text selection
On 5/17/2006 12:52 AM, Gerald Lai wrote: >> So, my question: is it somehow possible to be able to select the last >> character of a line when selecting from right-to-left while using >> selection=exclusive? > > The simplest work around is to hit "ol" (that's oh-el) to select that > last character. How exactly does this work? When I hit o in command mode, it adds a newline below and moves the cursor down. If I hit o in select mode, it overtypes my selection. Hitting l does move the character to the right, but not if it's on the last line. Sorry, must've just misunderstood you. Would you mind explaining again? Thanks. -- Jared
Re: right-to-left text selection
On 5/17/2006 5:13 AM, Georg Dahn wrote: >> >> So, my question: is it somehow possible to be able to select the >> >> last character of a line when selecting from right-to-left while using >> >> selection=exclusive? > > > > This can be done by doing > > > > :set virtualedit=onemore Well, I tried this and it does solve the selection problem. However, it introduces yet another annoying behavior: if I'm on the end of the line in command mode and hit x, it will will no longer repeatedly delete the last character. Instead, it will delete to the "onemore" position, then sit there doing nothing. It's definitely a good suggestion. I just have too many nuisances. :-) -- Jared
Re: right-to-left text selection
Hi! > So, my question: is it somehow possible to be able to select the last > character of a line when selecting from right-to-left while using > selection=exclusive? This can be done by doing :set virtualedit=onemore which allows the cursor to move just past the end of the line. This makes exclusive selection much more consistent, but is not compatible to Vi. It may break some plugins, so use it with care! Of course, doing :set virtualedit=all helps, too, but this is something, which many people don't like. I don't like it and set 'virtualedit' to 'block'. BTW, starting the right-to- left selection in Insert mode selects the last character, too. Best wishes, Georg Send instant messages to your online friends http://uk.messenger.yahoo.com
Re: right-to-left text selection
Nevermind. Mail maddness. On 5/17/06, Eric Arnold <[EMAIL PROTECTED]> wrote: Use the "o" command to switch positions of the cursor, and then move to the left. On 5/16/06, Gerald Lai <[EMAIL PROTECTED]> wrote: > On Tue, 16 May 2006, Jared wrote: > > [snip] > > So, my question: is it somehow possible to be able to select the last > > character of a line when selecting from right-to-left while using > > selection=exclusive? > [snip] > > The simplest work around is to hit "ol" (that's oh-el) to select that > last character. > > You should know that the behavior of selection=exclusive has been shown > to been inconsistent. IMO, it's better to have selection=inclusive and > work around to removing the newline if it exists. > > HTH. > -- > Gerald >
Re: right-to-left text selection
Use the "o" command to switch positions of the cursor, and then move to the left. On 5/16/06, Gerald Lai <[EMAIL PROTECTED]> wrote: On Tue, 16 May 2006, Jared wrote: [snip] > So, my question: is it somehow possible to be able to select the last > character of a line when selecting from right-to-left while using > selection=exclusive? [snip] The simplest work around is to hit "ol" (that's oh-el) to select that last character. You should know that the behavior of selection=exclusive has been shown to been inconsistent. IMO, it's better to have selection=inclusive and work around to removing the newline if it exists. HTH. -- Gerald
Re: right-to-left text selection
On Tue, 16 May 2006, Jared wrote: [snip] So, my question: is it somehow possible to be able to select the last character of a line when selecting from right-to-left while using selection=exclusive? [snip] The simplest work around is to hit "ol" (that's oh-el) to select that last character. You should know that the behavior of selection=exclusive has been shown to been inconsistent. IMO, it's better to have selection=inclusive and work around to removing the newline if it exists. HTH. -- Gerald
right-to-left text selection
Ok, I have a really weird questions this time. I use the selection=exclusive option, because I don't like Vim to select the hidden "newline" character at the end of lines when I'm copying or deleting an entire line. However, this has one side effect that I have not been able to figure out. If I try to select a line of text from the right to the left, it is impossible to select the last character of the line. Of course, one solution would be to set selection=inclusive, but then the newline character at the end of the line is always selected when selecting text from left to right. I know that sounds pretty trivial, but it's a major nuisance for my editing style. So, my question: is it somehow possible to be able to select the last character of a line when selecting from right-to-left while using selection=exclusive? Alternatively, is there some way to make Vim NOT select the newline character at the end of the line when selecting text from left-to-right while using selection=inclusive? At this point I've tried quite a few options and I'm thinking it's not, but I'd certainly like to hear from the pros if they have any suggestions. Does this even make sense? Given how many times I used the word "select", probably not. :-) Please let me know if this comes across as gibberish and I'll try to better explain myself. Thanks! -- Jared