W poniższych sekcjach wyjaśniono następujące kategorie poleceń vi.
-
Poruszanie się po pliku
-
Wprowadzanie tekstu
-
Zmienianie i zastępowanie tekstu
-
Wycofywanie zmian w tekście
-
Usuwanie tekstu
-
Wprowadzanie tekstu
-
Sprawdzanie pisowni
-
Formatowanie pliku wyjściowego
-
Powtarzanie poleceń
Poruszanie się po pliku
W poprzednich rozdziałach dowiedziałeś się, jak tworzyć, zapisywać, drukować i kończyć pracę z plikiem vi. Teraz, gdy już utworzyłeś plik, musisz zrozumieć koncepcje, które są wymagane do poruszania się w nim. Otwórz teraz swój plik ćwiczeniowy i wypróbuj każdą z komend omawianych w tej sekcji.
Przesuwanie kursora
Po uruchomieniu vi, kursor znajduje się w lewym górnym rogu ekranu vi. W trybie poleceń, można przesuwać kursor za pomocą kilku poleceń klawiaturowych. Niektóre klawisze literowe, klawisze strzałek, klawisz Return, klawisz Back Space (lub Delete) i spacja mogą być użyte do przesuwania kursora, gdy jesteś w trybie poleceń.
Uwaga –
Większość poleceń vi rozróżnia wielkość liter. To samo polecenie wpisane małymi i dużymi literami może mieć różne efekty.
Przesuwanie za pomocą klawiszy strzałek
Jeśli twój komputer jest wyposażony w klawisze strzałek, spróbuj ich teraz. Powinieneś być w stanie swobodnie poruszać kursorem po ekranie za pomocą kombinacji klawiszy strzałek w górę, w dół, w prawo i w lewo. Zauważ, że możesz przesuwać kursor tylko po już istniejącym tekście lub miejscach wprowadzania danych.
Jeśli używasz vi ze zdalnego terminala, klawisze strzałek mogą nie działać poprawnie. Zachowanie klawiszy strzałek zależy od emulatora terminala. Jeśli klawisze strzałek nie działają, możesz użyć następujących zamienników:
-
Aby przesunąć się w lewo, naciśnij h.
-
Aby przesunąć się w prawo, naciśnij l.
-
Aby przesunąć w dół, naciśnij j.
-
Aby przesunąć w górę, naciśnij k.
Przesuwanie jednego słowa
Naciśnij w („słowo”), aby przesunąć kursor w prawo o jedno słowo na raz.
Naciśnij b („wstecz”), aby przesunąć kursor w lewo o jedno słowo na raz.
Naciśnij W lub B, aby przesunąć kursor obok sąsiadującego znaku interpunkcyjnego do następnego lub poprzedniego pustego miejsca.
Naciśnij e („koniec”), aby przesunąć kursor do ostatniego znaku w bieżącym słowie.
Przejście na początek lub koniec wiersza
Naciśnij ^, aby przesunąć kursor na początek bieżącego wiersza.
Naciśnij $, aby przesunąć kursor na koniec bieżącej linii.
Przesunięcie o jedną linię w dół
Naciśnij klawisz Return, aby przesunąć kursor na początek następnej linii w dół.
Przesuwanie w lewo
Naciśnij klawisz Back Space, aby przesunąć kursor o jeden znak w lewo.
Przesuwanie w prawo
Naciśnij klawisz spacji, aby przesunąć kursor o jeden znak w prawo.
Przesuwanie na górę
Naciśnij klawisz H („wysoki”), aby przesunąć kursor na górę ekranu.
Przesunięcie na środek
Naciśnij M („środkowy”), aby przesunąć kursor na środek ekranu.
Przesunięcie na dół
Naciśnij L („niski”), aby przesunąć kursor na dół ekranu.
Stronicowanie i przewijanie
Jeśli przesuniesz się w dół, gdy kursor jest na dole ekranu, lub przesuniesz się w górę, gdy kursor jest na górze ekranu, zobaczysz, że tekst jest przewijany w górę lub w dół. To przewijanie może być skutecznym sposobem na wyświetlenie większej ilości tekstu w krótkim pliku, ale poruszanie się w ten sposób po długim pliku może być uciążliwe.
Możesz przewijać w tył lub w przód plik, ekran lub pół ekranu naraz. Aby wypróbować te polecenia w programie Paint, możesz dodać tekst, aby mieć dłuższy plik do pracy.
Zauważ, że stronicowanie i przewijanie różnią się zasadniczo. Przewijanie faktycznie przewija kursor w górę lub w dół tekstu po linii na raz, tak jakby był na papierowym zwoju. Stronicowanie przesuwa kursor w górę lub w dół tekstu po jednym ekranie na raz. Na szybkim systemie możesz nie zauważyć różnicy. Jeśli jednak pracujesz na zdalnym terminalu lub w innej sytuacji, gdy system działa wolniej niż zwykle, ta różnica może stać się boleśnie widoczna.
Przewijanie do przodu o jeden ekran
Aby przewinąć do przodu (przesunąć się w dół) o jeden ekran, naciśnij Ctrl-F. (Przytrzymaj wciśnięty klawisz Control i naciśnij klawisz F.) Kursor przesunie się do lewego górnego rogu nowego ekranu.
Przewijanie do przodu o pół ekranu
Aby przewinąć do przodu o pół ekranu, naciśnij klawisz Ctrl-D.
Przewijanie do tyłu o jeden ekran
Aby przewinąć do tyłu (czyli w górę) o jeden ekran, naciśnij klawisz Ctrl-B.
Przewijanie do tyłu o pół ekranu
Aby przewinąć do tyłu o pół ekranu, naciśnij klawisz Ctrl-U.
Wstawianie tekstu
vi udostępnia wiele poleceń do wstawiania tekstu. Ta sekcja przedstawia najbardziej użyteczne z tych poleceń. Zauważ, że każde z tych poleceń umieszcza vi w trybie wprowadzania. Aby użyć któregokolwiek z tych poleceń, musisz być najpierw w trybie poleceń. Pamiętaj, by wcisnąć Esc, by upewnić się, że jesteś w trybie poleceń.
Apend
Należy wpisać a (append), aby wstawić tekst na prawo od kursora. Poeksperymentuj, przesuwając kursor w dowolne miejsce w linii i wpisując a, a następnie tekst, który chcesz dodać. Naciśnij Esc, gdy skończysz.
Wypisz A, aby dodać tekst na końcu wiersza. Aby zobaczyć, jak działa to polecenie, ustaw kursor w dowolnym miejscu wiersza tekstu i wpisz A. Kursor przesuwa się na koniec wiersza, gdzie możesz wpisać swoje uzupełnienia. Naciśnij Esc, gdy skończysz.
Wstaw
Wstaw tekst na lewo od kursora, wpisując i w trybie poleceń.
Typ I służy do wstawiania tekstu na początku wiersza. Polecenie przesuwa kursor z dowolnej pozycji w tym wierszu. Naciśnij klawisz Esc, aby powrócić do trybu poleceń po wpisaniu żądanego tekstu.
Otwórz linię
Użyj tych poleceń, aby otworzyć nowe linie, powyżej lub poniżej bieżącej pozycji kursora.
Należy wpisać o, aby otworzyć linię poniżej bieżącej pozycji kursora. Aby poeksperymentować, wpisz o, a następnie jakiś fragment tekstu. Możesz wpisać kilka wierszy tekstu, jeśli chcesz. Naciśnij Esc, gdy skończysz.
Pisz O, aby otworzyć wiersz powyżej bieżącej pozycji kursora.
Zmiana tekstu
Zmiana tekstu polega na zastąpieniu jednego fragmentu tekstu innym. vi ma kilka sposobów, by to zrobić, zależnie od okoliczności.
Zmiana słowa
Aby zastąpić słowo, ustaw kursor na początku słowa, które ma być zastąpione. Wpisz cw, a następnie nowe słowo. Aby zakończyć, naciśnij klawisz Esc.
Aby zmienić część słowa, umieść kursor na słowie, na prawo od części, która ma zostać zapisana. Wpisz cw, wpisz poprawkę i naciśnij Esc.
Zmiana wiersza
Aby zastąpić wiersz, ustaw kursor w dowolnym miejscu wiersza i wpisz cc. Linia zniknie, pozostawiając pustą linię dla nowego tekstu (który może być dowolnej długości). Naciśnij Esc, aby zakończyć.
Zastępowanie znaku(ów)
Aby zastąpić jeden lub więcej znaków znakiem pod kursorem, wpisz s, a następnie nowy tekst. Naciśnij Esc, aby powrócić do trybu poleceń.
Zastępowanie jednego znaku
Użyj tego polecenia, aby zastąpić znak podświetlony kursorem innym znakiem. Ustaw kursor nad tym znakiem i wpisz r, a następnie jeden znak zastępujący. Po zastąpieniu, vi automatycznie wraca do trybu poleceń (nie trzeba naciskać Esc).
Odwracanie zmian
Podczas edycji tekstu i dokonywania zmian w pliku vi, możesz czasem żałować, że czegoś nie zmieniłeś. Polecenia cofania w vi umożliwiają cofnięcie jednej operacji i kontynuowanie od tego miejsca.
Undoing the Previous Command
Jeśli popełnisz błąd w vi lub po prostu zmienisz zdanie po zakończeniu operacji, możesz cofnąć ostatnie polecenie przez naciśnięcie u bezpośrednio po poleceniu. Nie musisz naciskać Esc po wpisaniu u. Naciskając u po raz drugi, cofasz cofnięcie.
Wycofywanie zmian w wierszu
Wciśnij U, aby cofnąć wszystkie zmiany dokonane w wierszu. To polecenie działa tylko jeśli nie przesunąłeś kursora poza linię. Nie trzeba naciskać Esc po wpisaniu U.
Usuwanie tekstu
Te polecenia vi usuwają wskazany znak, słowo lub wiersz. vi pozostaje w trybie poleceń, więc wszelkie kolejne wstawienia tekstu muszą być poprzedzone dodatkowymi poleceniami, aby wejść w tryb wprowadzania.
Usuwanie jednego znaku
Aby usunąć jeden znak, ustaw kursor nad znakiem, który ma być usunięty i wpisz x.
Komenda x usuwa również miejsce, które zajmował znak – gdy litera zostanie usunięta ze środka słowa, pozostałe litery zamkną się, nie pozostawiając luki. Za pomocą polecenia x można również usuwać puste miejsca w wierszu.
Aby usunąć jeden znak przed kursorem (na lewo od niego), wpisz X (wielką literą).
Usuwanie słowa lub części słowa
Aby usunąć słowo, ustaw kursor na jego początku i wpisz dw. Słowo i zajmowane przez nie miejsce są usuwane.
Aby usunąć część słowa, ustaw kursor na słowie po prawej stronie fragmentu, który ma zostać zapisany. Wpisz dw, aby usunąć resztę słowa.
Usuwanie wiersza
Aby usunąć wiersz, ustaw kursor w dowolnym miejscu wiersza i wpisz dd. Linia i zajmowane przez nią miejsce zostaną usunięte.
Kopiowanie i przenoszenie tekstu – wyrywanie, usuwanie i wstawianie
Wiele edytorów tekstu pozwala na „kopiowanie i wklejanie” oraz „wycinanie i wklejanie” linii tekstu. Edytor vi również zawiera te funkcje. Odpowiednikiem „kopiuj i wklej” w trybie poleceń vi jest yank i put. Odpowiednikiem „wytnij i wklej” jest „usuń i wstaw”.
Metody kopiowania lub przenoszenia małych bloków tekstu w vi obejmują użycie kombinacji poleceń yank, delete i put.
Kopiowanie linii
Kopiowanie linii wymaga dwóch poleceń: yy lub Y („yank”) i albo p („put below”) albo P („put above”). Zauważ, że Y robi to samo, co yy.
Aby wyrwać jeden wiersz, wykonaj następujące czynności.
-
Ustaw kursor w dowolnym miejscu wiersza, który chcesz wyrwać.
-
Pisz yy.
-
Przesuń kursor do wiersza powyżej, w którym chcesz umieścić (skopiować) wyrwany wiersz.
-
Pisz p.
Kopia wydzierżawionej linii pojawi się w nowej linii pod kursorem.
Aby umieścić wydzierżawioną linię w nowej linii nad kursorem, wpisz P.
Komenda yy działa dobrze z licznikiem: aby wydzierżawić 11 linii, na przykład, wpisz 11yy. Jedenaście linii, licząc w dół od kursora, zostanie wyrwanych, a vi sygnalizuje to komunikatem na dole ekranu: 11 lines yanked.
Możesz też użyć poleceń P lub p bezpośrednio po którymkolwiek z omówionych wcześniej poleceń usuwania. Powoduje to umieszczenie usuniętego tekstu odpowiednio nad lub pod kursorem.
Uwaga –
Używaj tylko poleceń przesuwania kursora między poleceniami usuwania i umieszczania. Jeśli usuniesz lub usuniesz inny tekst przed wstawieniem nowego tekstu, linie, które usunąłeś lub usunąłeś zostaną utracone.
Przesuwanie linii
Przesuwanie linii również wymaga dwóch poleceń: dd („usuń”) i albo p albo P.
Aby przesunąć jedną linię, ustaw kursor w dowolnym miejscu linii i wpisz dd. Na przykład, aby usunąć 5 wierszy, wpisz 5dd.
Następnie przesuń kursor do wiersza powyżej miejsca, w którym chcesz ponownie wstawić usunięty wiersz, i wpisz p. To spowoduje wstawienie tekstu do nowego wiersza poniżej kursora.
Alternatywnie możesz umieścić usunięty wiersz powyżej kursora, wpisując P.
Używanie licznika do powtarzania poleceń
Wiele poleceń vi może być poprzedzonych współczynnikiem powtarzania (zwanym licznikiem) – liczbą, która poprzedza polecenie i mówi, ile razy powtórzyć operację.
Większość poleceń w poprzednich sekcjach przyjmuje liczniki. Na przykład, 3dd powtarza polecenie usunięcia wiersza trzy razy, usuwając tym samym trzy wiersze. 2dw usuwa dwa słowa, a 4x usuwa cztery znaki lub spacje. Można również używać zliczeń z poleceniami przesuwania kursora, takimi jak 3w i 2Ctrl-F. W sekcji Podsumowanie podstawowych poleceń vi każde polecenie, które przyjmuje zliczanie, jest oznaczone znakiem „” przed nazwą polecenia.
Napisanie kropki (.) powoduje powtórzenie poprzedniego polecenia zmieniającego tekst. Na przykład, jeśli właśnie usunąłeś linię za pomocą dd, możesz przesunąć kursor do innej linii i usunąć ją, wpisując po prostu kropkę.