Monday, March 6, 2023

Re: get better copy backwards

I often consider the cursor as the left edge of the block. This way, yanking backwards makes sense. Ensure the left edge of your cursor is outside (i.e. "right-bounding") the text you want to yank. Then the solution in Salman Halim's answer makes sense. 

This works for all cases except when you are at EOL. For the EOL case, there's a config which allows the cursor to go beyond EOL — can't remember it off the top of my head now, but it's there. Once you have that setup, the solution in my first paragraph should work.

If both of these don't feel right to you, you could always visually select with your motions, then yank.


Best,
Igbanam

On Mon, Mar 6, 2023 at 6:23 PM Igor Lerinc <igor.lerinc7@gmail.com> wrote:
i'm saying that: backward yank doesn't include the ] where your cursor currently is

so i always lose that one last character. 
i already have easymotion plugin, and that's why i just use 'f', even tought i'm familiar with F for backwards, but just want to do less keystrokes, that's whole point right?

i understand, that pointer needs to be in that position, in order to be able to insert before and after cursor , with i and a . 
but why can't it copy that one front char in front of it if it's last char in a word? 

what happens when i try to copy is i lose that last char from word. 
and that alone, is making Vim useless for speedy work (tought, i wouldn't complain about other features, just that, this slows me down very much)

On Monday, March 6, 2023 at 5:51:09 PM UTC+1 Salman Halim wrote:
On Mon, Mar 6, 2023 at 11:17 AM Igor Lerinc <igor.l...@gmail.com> wrote:
imagine i have line of text:
echo "Zdravo, " . $_GET["ime"] . " " . $_GET["prezime"] . "." . "<br/><br/>";

my cursor is 

echo "Zdravo, " . $_GET["ime"] . " " . $_GET["prezime"] . "." . "<br/><br/>";

and then, i move cursor to ] with f
it will go before last character in word

echo "Zdravo, " . $_GET["ime"] . " " . $_GET["prezime". "." . "<br/><br/>";

and if i want to yank it backwards to $
i need to move my cursor to left and only then yank it backwards

i really hate that 'feature', why cursor can't just sit and go to the last character in word?

Igor,

It's possible I didn't fully understand the problem you're facing. Are you saying that you aren't sure about how to yank backwards or are you saying that the backward yank doesn't include the ] where your cursor currently is?

If the first, then just as 'f' and 't' move forward to a given character, 'F' and 'T' move backward. In your case, you could just do 'y2F$' (all without the quotes, of course).

Additionally, you could use the EasyMotion plugin (https://www.vim.org/scripts/script.php?script_id=3526) if you have a lot of $ signs and don't want to try to count them before issuing the command.

If the second, then, yes, you have first move over a single character before doing the yank. Perhaps you could create a mapping that moves you over and does the yank?

Hope this helps,

Salman

--
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/159bea31-2683-4b6e-8890-46b38efef34cn%40googlegroups.com.

--
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CAOmRJrdrz3%3DOMQBs0Md4HhAw8qZPzkY33%3DZOPn9rfWdpp4DsQQ%40mail.gmail.com.

No comments: