Как я могу удалить строку в VI?
Вот что я сейчас делаю:
- Откройте терминал alt+ ctrl+t
vi a.txt
- Я перемещаю курсор на строку, которую хочу удалить, и какую комбинацию клавиш следует использовать для удаления строки в редакторе vi ?
Как я могу удалить строку в VI?
Вот что я сейчас делаю:
vi a.txt
Ответы:
Как уже говорили другие, это dd
если вы находитесь в обычном режиме (нажмите ESC), чтобы убедиться, что вы находитесь в обычном режиме, но по умолчанию вы будете. Возможно, вы обнаружили, что vi действует не так, как вы ожидаете, что редактор будет действовать. Он довольно уникален, и эти уникальные функции делают его чрезвычайно мощным и быстрым в работе. Если вы хотите узнать больше, вы можете запустить vimtutor
из командной строки, и вы получите быстрое (может быть, час чтения / эксперимент) учебник по основам его использования.
Теперь вы можете использовать редактор с более привычным интерфейсом. Большинство систем имеют nano
. Вы можете напечатать, nano a.txt
чтобы открыть свой файл в nano
. Вы даже можете пойти дальше - нет никаких причин использовать редактор на основе терминала. Поскольку вы упомянули об использовании ( Ctrl+ Alt++ T), и это ярлык по умолчанию в Ubuntu и некоторых других дистрибутивах Gnome, поэтому я был бы удивлен, если бы вы не gedit
установили. В командной строке попробуйте, gedit a.txt
и вы получите графический редактор.
Чтобы удалить строку под курсором, используйте dd
.
Команда delete принимает все обычные позиционные модификаторы, поэтому, если вы находитесь в начале строки ниже той, которую хотите удалить, вы можете просто dk
перейти в режим удаления и переместиться на одну строку вверх, удаляя все, что прошел курсор.
Вы также можете указать повторение, поэтому 5dd
удаляете строку под курсором пять раз, эффективно удаляя текущую и следующие четыре строки.
d5d
. Я не знаю почему, но я предпочитаю это. (Забавный факт: NdMd
удаляет N × M строк)