Операции с vim line (например, dd) над переносимым текстом - PullRequest
4 голосов
/ 23 марта 2012

Я использую обтекание в vim, но я хочу, чтобы vim вел себя иначе, как если бы строки содержали реальные разрывы (а не "мягкие разрывы" для рендеринга экрана).

Я сопоставил jв GJ и K в GK для навигации.Тем не менее, строковые операции (такие как dd) по-прежнему действуют на всю строку, а не на «экранную линию».Есть ли способ изменить это поведение так, чтобы «dd» ограничивалось строкой экрана?

Ответы [ 2 ]

4 голосов
/ 23 марта 2012

Я бы лучше создал новый оператор, например, x в режиме ожидания оператора:

onoremap x :norm! g0vg$<cr>
xnoremap x g$og0o

При первом отображении dx удалит строку экрана, yx восстановитстрока экрана (будьте осторожны, она будет вставлена ​​не по-другому, а по символам), cx удалит строку экрана и запустит режим вставки и т. д.

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

Я бы не советовал переназначать dd, потому что это может привести к поломке плагинов (если они используют :normal вместо :normal! или если они используют :×××map вместо:×××noremap.

4 голосов
/ 23 марта 2012

Вы можете создать сопоставление клавиш:

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