开发者

How to copy from current position to the end of line in vi

I use gvim in windows. How do I copy text from the current pos开发者_如何转开发ition to the end of the line in vi and paste it in another file opened in vi?


The normal-mode command to move to the end of the line is $.

You can copy to the end of the line with y$ and paste with p.

To copy/paste between different instances, you can use the system clipboard by selecting the * register, so the commands become "*y$ for copying and "*p for pasting.

$ move-to-linebreak

$

y$ yank-to-linebreak

y,$

"*y$ select clipboard-register yank-to-linebreak

",*,y,$

"*p select clipboard-register paste

",*,p

Check :h registers for more information.


If you don't want to include the line break with the yank, you can use yg_. (Or in your case, "*yg_)

Basically, just recognize there's a difference between $ and g_ movement-wise. It's helped me on numerous occasions.


Add this line to your .vimrc

" Make Y yank till end of line
nnoremap Y y$

More at my vimrc.


A different solution: Dp and paste it with p. In fact this first deletes to the end of line and re-pastes it at the same location. Paste it somewhere else with p.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜