Y为什么和yy做同样的事情?

时间:2010-08-18 21:58:55

标签: vim

我已经使用vim几个月了,我已经习惯使用C和D来改变和删除从光标到行尾的所有内容。

考虑下面的行,光标在'bar'的'b'上:

foo.bar("hello world")

此时点击D将产生:

foo.

点击C会在句点之后使用光标执行相同的加上开始插入模式。

然而,按Y不会做直观相似的事情(复制从光标到行尾的所有内容)。相反,它复制整行(就像yy一样)。

如何将Y中的字符从光标复制到行尾,而不是像yy一样复制整行?

2 个答案:

答案 0 :(得分:7)

来自this configuration

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

我怀疑默认行为仅仅是由于某些历史不一致。

答案 1 :(得分: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是否意味着对个别角色采取行动?