2010-08-18 82 views
9

我已經使用vim好幾個月了,我已經習慣了使用C和D來更改和刪除從光標到行尾的所有內容。爲什麼Y和yy做同樣的事情?

考慮下面在光標位於「B」在「酒吧」行:

foo.bar("hello world") 

在這一點上擊中d將產生:

foo. 

同時擊中Ç將做同樣加上在時間段後用光標開始插入模式。

但是,按Y不會做直觀類似的事情(複製從光標到行尾的所有內容)。相反,它會複製整個行(就像yy一樣)。

如何讓Y將光標中的字符複製到行尾而不是像yy一樣複製整行?

+1

這個問題也被問到[在vi/Vim堆棧交換](http://vi.stackexchange.com/q/6061/4676);你可能會發現那裏的答案更有用,因爲他們更好地處理*「爲什麼」*,而不僅僅是*「如何調整它」*,這在這裏涵蓋。 – Wildcard 2016-03-17 19:26:33

回答

4

nmap Y y$

這是否你想要做什麼?

編輯

之所以Y並同樣的事情,YY可能有事情做與此:

{Visual}["x]y   Yank the highlighted text [into register x] (for 
         {Visual} see |Visual-mode|). {not in Vi} 

                 *v_Y* 
{Visual}["x]Y   Yank the highlighted lines [into register x] (for 
         {Visual} see |Visual-mode|). {not in Vi} 

Y的意思行事上線,Y是指作用於個人角色?

+0

謝謝!任何想法爲什麼'Y'的行爲與'C'和'D'不一樣? – advait 2010-08-18 22:04:01

+0

@advait請參閱編輯。真的不知道。布賴恩可能是對的 - 可能只是出於歷史原因。 – 2010-08-18 22:08:52

7

this configuration

" make Y effect to end of line instead of whole line 
map Y y$ 

我懷疑的默認行爲僅僅是由於一些歷史矛盾。

相關問題