Есть ли способ заставить v $ y не копировать символ новой строки в Vim на Mac и Linux? - PullRequest
12 голосов
/ 21 сентября 2010

В прошлом я использовал версию Vim для Windows, но я новичок в MacVim.В MacVim, когда я переключаюсь в визуальный режим, использую $ motion (выделение от моего курсора до конца строки) и yank, когда я вставляю скопированный контент, он включает возврат каретки, увеличивая все после вставки до точкина новую строку.

Такое поведение показалось мне незнакомым (не говоря уже о раздражении).Есть ли способ изменить это поведение в соответствии с версией Windows, где новая строка не включена в янки?

Ответы [ 4 ]

18 голосов
/ 21 сентября 2010

Не подходит ли просто копирование текста до конца строки? y$ будет просто копировать из вашего текущего курсора до конца строки, без новой строки.

14 голосов
/ 23 декабря 2014

Существует малоизвестное движение, которое удовлетворяет эту потребность независимо от настройки поведения 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_ и исправить выбор.

4 голосов
/ 21 сентября 2010

Вы можете попробовать Du.Эффективно он делает именно то, что вы хотите, и это более удобно для пальцев, если вы собираетесь использовать его в необработанном редактировании.

3 голосов
/ 21 сентября 2010

Я обнаружил, что опцией, которая вызывает поведение, которое я привык видеть, является behave mswin, который, по моему мнению, включен по умолчанию в GVim для Windows.

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