我已經使用vim好幾個月了,我已經習慣了使用C和D來更改和刪除從光標到行尾的所有內容。爲什麼Y和yy做同樣的事情?
考慮下面在光標位於「B」在「酒吧」行:
foo.bar("hello world")
在這一點上擊中d將產生:
foo.
同時擊中Ç將做同樣加上在時間段後用光標開始插入模式。
但是,按Y不會做直觀類似的事情(複製從光標到行尾的所有內容)。相反,它會複製整個行(就像yy一樣)。
如何讓Y將光標中的字符複製到行尾而不是像yy一樣複製整行?
我已經使用vim好幾個月了,我已經習慣了使用C和D來更改和刪除從光標到行尾的所有內容。爲什麼Y和yy做同樣的事情?
考慮下面在光標位於「B」在「酒吧」行:
foo.bar("hello world")
在這一點上擊中d將產生:
foo.
同時擊中Ç將做同樣加上在時間段後用光標開始插入模式。
但是,按Y不會做直觀類似的事情(複製從光標到行尾的所有內容)。相反,它會複製整個行(就像yy一樣)。
如何讓Y將光標中的字符複製到行尾而不是像yy一樣複製整行?
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是指作用於個人角色?
謝謝!任何想法爲什麼'Y'的行爲與'C'和'D'不一樣? – advait 2010-08-18 22:04:01
@advait請參閱編輯。真的不知道。布賴恩可能是對的 - 可能只是出於歷史原因。 – 2010-08-18 22:08:52
" make Y effect to end of line instead of whole line
map Y y$
我懷疑的默認行爲僅僅是由於一些歷史矛盾。
這個問題也被問到[在vi/Vim堆棧交換](http://vi.stackexchange.com/q/6061/4676);你可能會發現那裏的答案更有用,因爲他們更好地處理*「爲什麼」*,而不僅僅是*「如何調整它」*,這在這裏涵蓋。 – Wildcard 2016-03-17 19:26:33