Як я можу видалити рядок у 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 )