В emacs, когда я хочу удалить несколько строк текста, я просто использую Ck, пока весь текст не исчезнет. Тем не менее, в VIM это кажется немного сложнее. Я знаю, что могу сделать d$
чтобы удалить до конца строки, и dd
чтобы удалить всю строку, на которой я нахожусь, но как мне удалить всю следующую строку?
5 ответов
Предположение: вы хотите в конечном итоге на линии, на которой вы начали.
Мой ответ: jddk
- j (опускается)
- дд (удаляет текущую строку)
- к (движется вверх)
Попробуйте - это быстро! На самом деле, это на два нажатия меньше, чем принятый в настоящее время ответ, потому что:
- вам не нужно удерживать
[Shift]
чтобы ввести двоеточие ':' и плюс символы '+', и - вам не нужен подразумеваемый
[Enter]
в конце последовательности, так какjddk
вводится все в визуальном режиме, а не в командном режиме.
Плюс ко всему, jddk
находится на домашнем ряду клавиатуры.
Я провел много времени, используя h, j, k, l для навигации по vi
, задолго до того, как программное обеспечение эмуляции терминала, которое я использовал, начало поддерживать клавиши со стрелками. (Я говорю о ~ 20 лет назад ;-)
Я настоятельно рекомендую прочитать этот ответ в переполнении стека, которое получило более 500 голосов: https://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118 - ответ длинный, но помогает понять, почему vim мощный ...
Как это:
:+1d
Вы также можете быть заинтересованы в визуальном режиме. Просто используйте v
чтобы ввести, и y
чтобы восстановить или d
чтобы удалить. Проверка :help
- отличное место, когда вы застряли. Например :help delete
даст вам руководство для большинства обычных команд удаления.
Если вы хотите удалить несколько строк подряд, вы можете использовать dd
чтобы удалить строку, на которой вы находитесь, затем продолжайте нажимать (или удерживать) .
(точка), чтобы повторить команду.