Edytor vi – podstawowe komendy

Wprowadzenie

Edytor vi jest dostępny w większości systemów Unix, może być on używany we wszystkich rodzajach terminali. Wszystkie jego komendy opierają się na standardowych klawiszach alfabetycznych.

vi (z ang. ”vi”sual editor) – to prosty edytor tekstu, umożliwia edycje tekstu tworzenie plików, kasowanie, wyszukiwanie, podmianę tekstu.

Czyli w skrócie:

  • pozwala na otwieranie, zamykanie plików tekstowych
  • poruszanie się po pliku, przeglądanie go
  • edycje pliku

Poniżej zostaną opisane i wytłumaczone najbardziej przydatne komendy. (podstawowe)

Pierwsze uruchomienie

vi możemy użyć do utworzenia nowego lub otworzenia istniejącego pliku za pomocą poniższej komendy.

vi filename

w przypadku braku pliku zostanie utworzony plik o nazwie ”filename”, jeśli w bieżącym folderze już taki plik istnieje to zostanie otworzony.

Tryby vi

Wyróżniamy dwa podstawowe tryby w vi:

  • tryb komend
  • tryb wprowadzania zmian

W trybie komend, wciśnięcie określonych klawiszy wykona określone akcje, a w trybie wprowadzenia zmian wciśnięcie klawiszy spowoduje wpisanie znaków w miejscu kursora.

Domyślnie vi uruchamia się w trybie komend.

Wprowadzanie tekstu

Żeby móc wprowadzać tekst trzeba przejść z trybu komend do trybu wprowadzania zmian. Żeby to zrobić wybierz klawisz:

i

Teraz możesz swobodnie wprowadzić tekst lub zmienić coś w istniejącym.

Żeby wyjść z trybu wprowadzania zmian do trybu komend należywcisnąć klawisz:

<Esc> 

Przemieszczanie kursora

Żeby przemieszczać kursor po pliku możesz użyć strzałek w trybie wprowadzania zmian lubponiższych klawiszy w trybie komend:

Klawisz  Przesunięcie kursora
---      ---------------
h        jedno miejsce w lewo
j        jedna linia w dół
k        jedna linia w górę
l        jedno miejsce w prawo

Podstawowa edycja

Komendy używane do edycji tekstu można wykonać tylko w trybie komend. W zależności od wielkości wykorzystywanego znaku możemy skorzystać z różnych funkcji. Na przykład komenda ”d” (małe)ma inne działanie niż komenda ”D” (duże).

Usuwanie znaków

W celu usunięcia znaku za kursorem wybierz klawisz:

x

W celu usunięcia 4 znaków za kursorem wybierz odpowiednio:

4x

W celu usunięcia znaków przed kursorem wybierz:

X (duże)

Analogicznie jak wcześniej w celu usunięcia 3-4 znaków przed kursorem wybierz:

4X (duże)

Usuwanie słów

W celu usunięcia całego słowa umieść kursor na pierwszej literze danego słowa i wybierz:

dw

W celu usunięcia trzech wyrazów umieść kursor na początku pierwszego wyrazu a następnie wybierz:

3dw

Usuwanie linii

Aby usunąć całą linię należy wybrać:

dd

Aby usunąć kilka linii (np. 3) wybierz odpowiednio:

3dd

Aby usunąć zawartość linii od kursora do końca linii wybierz:

D (duże)

Zamiana znaków

Aby zamienić znak na inny:

  • ustaw kursor na znaku do zamiany
  • wybierz r
  • wybierz znak który ma zastąpić istniejący

Nowy znak pojawi się w miejsce starego, pozostaniesz w trybie komend.

Zamiana słów

Żeby zamienić jeden wyraz na inny, ustaw kursor na początku wyrazu do zamiany i wybierz:

cw

Ostatnia litera wyrazu do zamiany zmieni się w $. Teraz jesteśmy w trybie wprowadzania zmian możemy wpisać nowy wyraz. Nowy wyraz nie musi być tej samej długości co stary. Wciśnij klawisz <Esc> żeby powrócić do trybu komend.

Żeby zamienić trzy wyrazy wybierz odpowiednio:

3cw

Zamiana linii

W celu zmiany tekstu od miejsca kursora do końca linii wybierz następująco:

  • Wybierz C (duże)
  • Wprowadź nowy tekst
  • Wciśnij klawisz <Esc>

Wprowadzanie tekstu

W celu wprowadzenia tekstu:

  • Ustaw kursor w miejscu wprowadzania nowego tekstu
  • Wybierz: i
  • Wprowadź nowy tekst

Nowy tekst zostanie wprowadzony przed kursorem.

  • Wciśnij klawisz <Esc> żeby powrócić do trybu komend.

Wstawianie tekstu

W celu wstawienia tekstu:

  • Ustaw kursor na ostatniej literze w linii
  • Wybierz a
  • Wprowadź nowy tekst

Nowy tekst pojawi się za kursorem.

  • Wciśnij klawisz <Esc> żeby powrócić do trybu komend.

Tworzenie pustej linii

Aby wstawić pustą linię poniżej linii w której jest kursor wybierz:

o (małe)

Aby wstawić pustą linię powyżej linii w której jest kursor wybierz:

O (duże) 

Łączenie linii

Aby połączyć dwie linię:

  • Ustaw kursor w pierwszej linii która ma zostać połączona
  • Wybierz J (duże)

Aby połączyć trzy linię:

  • Ustaw kursor w pierwszej linii która ma zostać połączona
  • Wybierz odpowiednio 3J (duże)

Przywracanie tekstu

Aby cofnąć ostatnio wprowadzone zmiany wybierz:

u (małe)

Aby cofnąć wszystkie wprowadzone zmiany w konkretniej linijce wybierz

U (duże) 

Cofnie zmian dla linii jest możliwe tak długo jak kursor jest na tej linii, po opuszczeniu linii cofnięcie zmian przez komendę U jest niemożliwe.

Poruszanie się po pliku

Jest kilka skrótów klawiszowych aby poruszać się szybko po pliku. Wszystkie poniższe komendy działają wyłącznie w trybie komend.

Znak         Akcja
---          --------
w            przejście wyraz po wyrazie
b            cofnięcie wyraz po wyrazie
$            przejdź na koniec linii
0 (zero)     przejdź na początek linii
H            przejdź do pierwszej linii na kranie
M            przejdź do środkowej linii na ekranie
L            przejdź do ostatniej linii na ekranie
G            przejdź do ostatniej linii w pliku
1G           przejdź do pierwszej linii w pliku
<Control>f   do przodu jeden widok
<Control>b   do tyłu jeden widok
<Control>d   do przodu pół widoku <Control>u   do tyłu pół widoku

Przeszukiwanie pliku

W celu przeszukania pliku należy:

  • Wybierz / (slash)
  • Wprowadź wyszukiwany tekst
  • Wybierz <Return>

Kursor przemieści się do pierwszego wystąpienia.

Aby wyszukać kolejne wystąpienie wybierz

n (małe)

Aby wyszukać poprzednie wystąpienie wybierz

N (duże) 

Zamykanie oraz zapisywanie pliku

W vi edytujemy kopie pliku, nie robimy zmian na oryginalnym pliku. Zmiany zostaną zapisane na oryginalnym pliku jeśli je zapiszemy.
Aby zapisać zmiany oraz wyjść z pliku wybierz

ZZ (duże)

Można również użyć innych poleceń, które w niektórych przypadkach mogą okazać się bardzo pomocne.

Aby zapisać plik i wyjść z niego jednocześnie zostawiając go otwartego:

  • Wciśnij klawisz <Esc>
  • Wybierz :w
  • Wciśnij klawisz <Return>

Aby wyjść z vi i wycofać wszystkie zmiany które zrobiłeś

  • Wciśnij klawisz <Esc>
  • Wybierz :q!
  • Wciśnij klawisz <Return>

Podsumowanie komend

URUCHOMIENIE VI

vi filename    edycja pliku o nazwie ”filename”
vi newfile     utworzenie nowego pliku o nazwie "newfile"

WSTAWIANIE TEKSTU

i            wprowadzanie tekstu przed kursorem
a            wprowadzanie tekstu za kursorem

PRZEMIESZCZANIE KURSORA

h            w lewo jedno miejsce
j            w dół jedna linia
k            w górę jedna linia
l            w prawo jedno miejsce

PODSTAWOWA EDYCJA

x         usuń znak
nx        usuń n znaków
X         usuń znak przed kursorem
dw        usuń wyraz
ndw       usuń n wyrazów
dd        usuń linię
ndd       usuń n linii
D         usuń tekst na prawo od kursora
r         zamień znak po kursorze
cw        zamień wyraz
ncw       zamień n wyrazów
C         zamień text od kursra do końca linii
o         wstaw pustą linie pod kursorem
O         wstaw pustą linie nad kursorem
J         połącz linię z następną
nJ        połącz n linii
u         cofnij ostatnią zmianę
U         cofnij wszystkie zmiany z danej linii

PORUSZANIE SIĘ PO PLIKU

w            przejście wyraz po wyrazie      
b            cofnięcie wyraz po wyrazie     
$            przejdź do końca linii     
0 (zero)     przejdź do początku linii   
H            przejdź do pierwszej linii na ekranie      
M            przejdź do środkowej linii na ekranie     
L            przejdź do ostatniej linii na ekranie     
G            przejdź do ostatniej linii w pliku     
1G           przejdź do pierwszej linii w pliku     
<Control>f   do przodu jeden widok     
<Control>b   do tyłu jeden widok     
<Control>d   do przody pół widoku     
<Control>u   do tyłu pół widoku     
n            przejdź do kolejnego wystąpienia szukanej frazy     
N            przejdź do poprzedniego wystąpienia szukanej frazy

ZAMYKANIE I ZAPISYWANIE PLIKU

ZZ            zapisz plik i zamknij      
:w            zapisz plik     
:q!           cofnij wszystkie zmiany i zamknij plik

Dodatkowe komendy

/klocek              znajduje wystąpienie wyrazu ‘klocek’
:s/klocek/badylek    zamiana ‘klocek’ na ‘badylek’ w bieżącym wierszu
:%s/klocek/badylek   zamiana ‘klocek’ na ‘badylek’ w całym pliku

:r nazwa_pliku       wczytanie do bufora innego pliku
:set number          numerowanie wierszy
:set no number       usuń numeracje wierszy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *