usuń wiersz w vi

168

Jak mogę usunąć wiersz w VI?

Oto co teraz robię:

  1. Otwórz terminal alt+ ctrl+t
  2. vi a.txt
  3. Przesuwam kursor do linii, którą chcę usunąć, a następnie jakiej kombinacji klawiszy należy użyć do usunięcia linii w edytorze vi ?
IM-JM
źródło
5
Sugeruję przeczytanie washington.edu/computing/unix/vi.html, który zawiera podstawowe omówienie użytkowania. Oto ściągawka: tuxfiles.org/linuxhelp/vimcheat.html Zawsze dobrze jest rzucić okiem na takie strony przed
zadaniem
2
jest też S za usunięcie linii i wprowadzenie wstawki
Ben Creasy

Odpowiedzi:

289

Naciśnięcie ddusunie tę linię (faktycznie ją wycię). Możesz go wkleić p.

Gert
źródło
22

Jak powiedzieli inni, to ddjeśli jesteś w trybie normalnym (naciśnij ESC), aby upewnić się, że jesteś w trybie normalnym, ale domyślnie tak będzie. Być może zauważyłeś, że vi nie działa tak, jak można oczekiwać od redaktora. Jest dość wyjątkowy, a dzięki tym wyjątkowym funkcjom jest niezwykle wydajny i szybki w użyciu. Jeśli chcesz dowiedzieć się więcej, możesz uruchomić vimtutorw wierszu polecenia, a otrzymasz szybki (może godzinny odczyt / eksperyment) samouczek na temat podstaw korzystania z niego.

Teraz możesz użyć edytora z bardziej znanym interfejsem. Większość systemów ma nano. Możesz wpisać, nano a.txtaby otworzyć plik nano. Możesz nawet pójść o krok dalej - nie ma żadnego powodu, aby używać edytora terminalowego. Ponieważ wspomniałeś o użyciu ( Ctrl+ Alt++ T) i jest to domyślny skrót w Ubuntu i niektórych innych dystrybucjach Gnome, więc byłbym zaskoczony, gdybyś nie geditzainstalował. W wierszu polecenia spróbuj, gedit a.txta otrzymasz edytor graficzny.

Shawn J. Goff
źródło
Potrzebuje go kilka osób. Jeśli regularnie edytujesz pliki tekstowe, warto nauczyć się vima. Jeśli tego nie zrobisz i próbujesz postępować zgodnie z instrukcjami, aby coś zadziałało, prawdopodobnie nie warto, chyba że chcesz po prostu wypróbować inne oprogramowanie i nauczyć się nowych rzeczy.
Shawn J. Goff
Zwolniłem vimtutora z linii poleceń i otworzyłem vima z tempem. plik. Czy popełniłem błąd?
IM-JM
@ im-jm Nie sądzę, że popełniłeś błąd, ale twój system może mieć nietypową konfigurację. Powinien otworzyć dokument rozpoczynający się od „Welcome to the VIM Tutor”. Jeśli chcesz się tym zająć, opublikuj kolejne pytanie.
Shawn J. Goff
12

Aby usunąć linię pod kursorem, użyj dd.

Polecenie delete akceptuje wszystkie normalne modyfikatory pozycyjne, więc jeśli jesteś na początku linii poniżej tej, którą chcesz usunąć, możesz po prostu dkprzejść do trybu usuwania i przejść w górę o jedną linię, usuwając wszystko, co kursor minął.

Możesz także określić powtarzanie, więc 5ddpięciokrotnie usuniesz linię pod kursorem, skutecznie usuwając bieżącą i następujące cztery wiersze.

Caleb
źródło
8
Lub d5d. Nie wiem dlaczego, ale wolę to. (Ciekawostka: NdMdusuwa linie N × M )
Random832
7

Esc dd po przejściu do linii, którą chcesz usunąć

Anoop
źródło
2
Ucieczka nie jest konieczna, jeśli możesz przejść do wiersza, który chcesz usunąć.
Anthon
3
Escape jest potrzebny, jeśli używasz klawiszy strzałek w trybie wstawiania, aby przejść do właściwej linii.
Alexander
1

W trybie wizualnym

Shift + V, wybierz linie, a następnie d

ctrl + v, wybierz kolumny, a następnie d

Ben
źródło