Как я могу удалить строку в 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 строк)