Jak mogę usunąć wiersz w VI?
Oto co teraz robię:
- Otwórz terminal alt+ ctrl+t
vi a.txt
- 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 ?
Jak mogę usunąć wiersz w VI?
Oto co teraz robię:
vi a.txt
Odpowiedzi:
Jak powiedzieli inni, to dd
jeś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ć vimtutor
w 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.txt
aby 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 gedit
zainstalował. W wierszu polecenia spróbuj, gedit a.txt
a otrzymasz edytor graficzny.
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 dk
przejść 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 5dd
pięciokrotnie usuniesz linię pod kursorem, skutecznie usuwając bieżącą i następujące cztery wiersze.
d5d
. Nie wiem dlaczego, ale wolę to. (Ciekawostka: NdMd
usuwa linie N × M )