Существует малоизвестное движение, которое удовлетворяет эту потребность независимо от настройки поведения Windows и, как правило, может быть полезно в других контекстах: g_
.Quoth :help g_
:
g_ To the last non-blank character of the line and
[count - 1] lines downward |inclusive|. {not in Vi}
Лично я не склонен использовать это для дергания, потому что я избегаю дополнительного нажатия клавиш в визуальном режиме и использую y$
(который не копирует новую строку, как @zigdonпредложил).Или, что еще лучше, nnoremap Y y$
, так что Y
работает согласованно с C
и D
.
Однако я часто использую g_
с surround.vim, где сопоставления для добавления окружений часто сложнеезапомнить для меня, чем использовать визуальный отбор.Например, если вы хотите выбрать до конца строки и окружить паренами, это будет ys$)
, что неплохо, но я склонен забыть мнемонику ys
.v$S)
кажется естественным, но имеет ту же проблему, что и ваш вопрос: он включает символ новой строки, и это полный беспорядок при добавлении окружения.vg_S)
- это именно то, что вы обычно хотите.
Одна приятная вещь, связанная с визуальным выполнением, заключается в том, что вы можете исправить средний выбор: я все еще склонен сильно ударить v$
мышечной памятью, но если вы видитечто вы промахнулись перед тем, как действовать, вы все равно можете нажать g_
и исправить выбор.