Это поведение одинаково во всех средах, где я использовал Vim (Cygwin, Putty, VC, xterm & co). Я понимаю, что это как-то связано со способом чтения ввода и представлением ↓, но я точно не знаю, почему комбинация клавиш d + ↓ удаляет две строки текста. Хотите пролить свет на этот вопрос?
3 ответа
D и движение курсора, удаляет в этом направлении. Это просто стандартная привязка.
D с H, J, K, L работает так же, как клавиши со стрелками.
d d и : d удаляет текущую строку, а d в визуальном режиме удаляет выделенный текст. Когда вы двигаетесь вниз по линии, удерживая d, вы можете выделить обе строки, которые затем удаляются из-за того, как VIm обрабатывает нажатие кнопки d .
Такое поведение одинаково для всех систем, потому что оно совершенно нормально. Что, черт возьми, ты ожидаешь от dj
или d<down>
?
d
- это "ожидающая оператора команда": после того, как она нажата, Vim ждет предложения применить команду. Поскольку вы задаете движение <down>
, d<down>
удаляет текущую строку и строку ниже.