Почему Y делает то же самое, что и yy? - PullRequest
9 голосов
/ 19 августа 2010

Я использую vim уже несколько месяцев, и я привык использовать C и D для изменения и удаления всего, от курсора до конца строки.

Рассмотрим строку ниже, где курсор находится на «b» в «баре»:

foo.bar("hello world")

Нажатие D в этой точке даст:

foo.

При нажатии C будет выполняться то же самое, плюс запуск режима вставки с курсором после точки.

Однако нажатие Y не делает интуитивно похожую вещь (копирование всего от курсора до конца строки). Вместо этого он копирует всю строку (точно так же, как yy).

Как заставить Y скопировать символы из курсора в конец строки вместо копирования всей строки, как yy?

Ответы [ 2 ]

7 голосов
/ 19 августа 2010

С эта конфигурация :

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

Я подозреваю, что поведение по умолчанию просто из-за некоторой исторической несогласованности.

4 голосов
/ 19 августа 2010

nmap Y y$

Делает ли это то, что вы хотите?

РЕДАКТИРОВАТЬ

Причина, по которой Y делает то же, что и у, вероятно, имеетчто-то с этим делать:

{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 предназначен для воздействия на отдельные символы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...