Opis edytora tekstu
Opis edytora vi
Vi [czyt. wi-aj] to standardowy uniksowy edytor
tekstu nadający się doskonale do edycji plików
konfiguracyjnych i pisania programów. Vi jest nieprzyjazny dla
początkujących użytkowników. Jednak jeżeli ktoś poświęci
trochę czasu na jego naukę, uzyska wówczas bardzo wydajne
środowisko pracy. Vi nie używa myszy, posiada w zamian bardzo wiele
jednoklawiszowych skrótów. Warto poznać chociażby
podstawy obsługi tego edytora z tego względu, że jest on
najpowszechniej używanym edytorem w systemach uniksowych. Vi wygrywa
większość plebiscytów na ulubiony edytor użytkowników
Linuksa.
vimtutor uruchamia półgodzinny
kurs nauki edytora.
Vi posiada dwa tryby:
tryb wydawania poleceń i tryb wprowadzania znaków. <ESC>
w trybie wprowadzania znaków wychodzi do trybu wydawania
poleceń. Odtąd każdy wciśnięty klawisz będzie poleceniem vi.
Podstawowe polecenia
vi:
^ oznacza klawisz control,
wiele poleceń może
być używanych wraz z liczbami, np. 3w - przejdź trzy słowa w przód.
|
i
|
insert tryb wprowadzania w miejscu, w
którym znajduje się kursor
|
|
a
|
append tryb dopisywania. Znaki będą
wprowadzane za kursorem
|
|
I
|
tryb wprowadzania na początku linii
|
|
A
|
tryb wprowadzania na końcu linii
|
|
r
|
zamień jeden znak pod kursorem
|
|
R
|
przejdź do trybu zamiany znaków
|
|
o
|
tworzy nową linię pod kursorem i przechodzi do trybu
wstawiania w tej linii
|
|
O
|
tworzy nową linię nad kursorem i przechodzi do trybu
wstawiania w tej linii
|
|
h
|
przejdź w lewo (3h przejdź 3 znaki w lewo)
|
|
j
|
przejdź w dół
|
|
k
|
przejdź w górę
|
|
l
|
przejdź w prawo
|
|
w
|
word forward słowo w przód
|
|
b
|
backword słowo w tył
|
|
^f
|
jeden ekran w przód
|
|
^b
|
jeden ekran w tył
|
|
G
|
przechodzi do ostatniego wiersza
|
|
4G
|
przechodzi do 4 wiersza
|
|
x
|
usuwa znak na który wskazuje kursor
|
|
dd
|
delete usuwa bieżącą linię (3dd usuwa 3
linijki)
|
|
dw
|
usuń słowo w przód; zamiast "w" można używać
innych poleceń
|
|
yy
|
yank skopiuj bieżącą linię do bufora pamięci
|
|
y3w
|
skopiuj 3 słowa w przód do bufora
|
|
p
|
paste wklej zawartość bufora przed bieżącym
znakiem
|
|
P
|
wklej zawartość bufora za znakiem
|
|
3p
|
wklej zawartość bufora 3 razy
|
|
u
|
undo usuń ostatnią zmianę
|
|
^r
|
redo odtwórz to, co zostało usunięte
|
Polecenia w trybie ex
“:” lub “/”
przechodzi w tryb ex
|
/tekst
|
znajdź tekst
kolejne/poprzednie wystąpienia można odnaleźć przez n/N
|
|
:s/tekst1/tekst2/
|
zamień pierwsze wystąpienie tekst1 na tekst2
|
|
:s/tekst1/tekst2/g
|
zamień wszystkie wystąpienia tekst1 na tekst2 w linii
|
|
:1,4s/tekst1/tekst2/
|
od linii 1 do 4 zamień tekst1 na tekst2. Inne operatory
zakresu: % --cały plik, np. :%s/tekst1/tekst2/ .
--bieżące położenie kursora $ --ostatnia
linia pliku
|
|
:q!
|
quit --wychodzi z vi bez zapisywania zmian
|
|
:wq
|
write --zapisuje zmiany i wychodzi
|
|
:w file
|
zapisuje zmiany do file
|
Vim (Vi Improved) to bezkonkurencyjna implementacja
vi. Poniżej przedstawiono nieco bardziej zaawansowane polecenia vim,
przydatne głównie w przypadku programowania:
-
|
v lub V lub ^v
|
przejście do różnych
trybów visual – pozwala to na zaznaczanie
tekstu, który można później skopiować, usunąć,
itp.:
Vd –-zaznacza
+ usuwa
V< --zaznacza i przesuwa w lewo
|
|
=
|
formatowanie kodu,
zwłasza wcięć dla konstrukcji w kodzie źródłowym, np.:
1GVG=
1G --przejdź na początek
VG --zaznacz do końca
= --przeformatuj
== --przeformatuj bieżącą linię
|
|
^p
|
w trybie
wprowadzania dopełnia wyrazy, np.:
dluga_f^p dopełni do dluga_funkcja
|
|
:sp file2
|
(split) podziel okno i otwórz drugi plik w poziomie; brak argumentu file2 otwiera nowy widok dla bieżącego pliku
|
|
:vsp file3
|
(virtual split) podziel okno i otwórz drugi plik w pionie
|
|
^w
|
przejdź do kolejnego okna
|
|
^wq
|
zamknij bieżące okno
|
|
:colorscheme <tab>
|
przeglądaj i ustaw
schemat koloru – można go wpisać do ~/.vimrc
:colorscheme torte
|
|
vw"ay
|
zwykłe y kopiuje
zawsze do tego samego, jednego schowka (bufora); istnieje
możliwość tworzenia buforów nazwanych czyli można
posiadać wiele schowków;
zawartość buforów
jest przechowywana w pliku ~/.viminfo dzięki czemu wartości
są dostępne po ponownym uruchomieniu edytora
vw --zaznacz
słowo w przód
"a --do
bufora nazwanego a
y --skopiuj
|
|
"ap
|
z bufora nazwanego a wklej
|
|
^r”
|
w trybie
wprowadzania wkleja zawartość bufora; bardzo przydatne do
kopiowania wartości z głównego okna do trybu ex (“:”)
inne:
^ra --wkleja
zawartość bufora a
^r% --nazwa pliku
|
|
*
|
zaznacza dany wyraz – n/N będzie
odnajdywał kolejne/wcześniejsze wystąpienia
|
|
1G^v2jI#<ESC>
|
Wstawianie
komentarzy
linia1
linia2
linia3
linia4
#linia1
#linia2
#linia3
linia4
1G --przejdź na początek pliku
^v --zacznij zaznaczanie
2j --dodaj dwie linie poniżej
I --przejdź do wprowadzania
# --wprowadź znak komentarza
<ESC> --opuść tryb wprowadzania
|
Karol Kreński, mimooh at inf sgsp edu pl