Edytor tekstu – vim
description
Transcript of Edytor tekstu – vim
Edytor tekstu – vim
Vim (tzw. klon vi, Vi Improved) jest edytorem tekstu kompatybilnym z Vi. Może być używany do edycji wszelkiego rodzaju plików tekstowych. Użyteczny zwłaszcza przy edycji programów. Posiada wiele usprawnień w porównaniu z Vi: wielo poziomowe cofanie zmian, wiele okien i buforów, podświetlanie składni, edycja linii poleceń, uzupełnianie nazw plików, pomoc on-line, wizualna selekcja, itd.
Tryby pracy vim Edytor vim pracuje w dwóch podstawowych
trybach (w każdym trybie klawisze są inaczej traktowane):
Tryb wstawiania (zwykle pisania) - co wpiszesz, to zostanie wstawione do pliku. Tryb ten ma dwie odmiany: dopisywanie nowego tekstu („INSERT”) i nadpisywanie starego („REPLACE”). Działają wtedy te same skróty klawiaturowe, a jeśli kursor znajduje się na końcu linii, to obie odmiany zachowują się w identyczny sposób. Różni je tylko to, że gdy jesteś w środku linii, to w trakcie nadpisywania będziesz zamieniać literka po literce, a w trakcie wstawianiu będziesz dopisywać tekst.
Wydawania poleceń - jest podstawowym trybem vima. Większość poleceń służących do edycji i poruszania się po tekście wydaje się właśnie tutaj. To jest domyślny tryb przy standardowej konfiguracji.
Przejścia pomiędzy trybami pracy
i - przejście w tryb wprowadzania tekstu - pierwszy znak pojawi się w pozycji kursora
a - przejście w tryb wprowadzania tekstu - pierwszy znak pojawi się na prawo od kursora
o - przejście w tryb wprowadzania tekstu i wstawienie pustego wiersza pod wierszem tekstu, w którym znajduje się kursor - kursor pojawi się na początku nowego pustego wiersza
O - przejście w tryb wprowadzania tekstu i wstawienie pustego wiersza nad wierszem tekstu, w którym znajduje się kursor. Kursor pojawi się na początku nowego pustego wiersza
R - przejście w tryb wprowadzania tekstu w trybie nadpisywania istniejących znaków
[Esc] - przejście z trybu wstawiania tekstu do trybu wydawania poleceń
Uruchomienie edytora i wczytanie pliku
Program vim otwieramy wpisując z konsoli:vim lub vim nazwa_pliku_do_edycji Jeśli nie podamy nazwy pliku pokażą się informacje o
vimie. Tuż po starcie programu przechodzimy do trybu edycji
i tu już musimy skorzystać z pierwszych poleceń. Wprowadź więc z klawiatury znak dwukropka ":" - na dole strony pojawi się prompt dla komend vim.
Z poziomu vima plik możemy wczytać w następujący sposób:
:r nazwa_pliku - otwiera plik do edycji:sp nazwa_pliku – otwiera plik w nowym oknieCtrl+w h/j/k/l – przechodzenie między oknamiCtrl+w H/J/K/L – przesunięcie aktualnego okna
najbardziej w lewo/do góry/na dół/w prawo
Zapisywanie/wyjście z pliku
:w - zapisywanie tekstu do pliku o tej samej nazwie, pod którą był wczytany do edytora
:w nazwa - zapisywanie tekstu do pliku o podanej nazwie
:q - wyjście z edytora (możliwe tylko jeśli nie były wprowadzane zmiany)
:q! - wyjście bezwarunkowe, (bez zapisania zmian)
:wq - zapisanie pliku oraz wyjście
Poruszanie po tekście (w trybie poleceń) h/ j/ k/ l - nawigacja lewo/dół/góra/prawo (działają także
strzałki) - przesunięcie o pojedynczy znak w danym kierunku
gg – przejście do początku plikuw - przesunięcie o jedno słowo w prawob - przesunięcie o jedno słowo w lewo^ - przejście do pierwszego niepustego znaku w wierszu0 - przejście na początek bieżącego wiersza$ - przejście na koniec bieżącego wiersza1G - przejście do pierwszego wiersza w plikunG - przejście do wiersza numer nG - przejście do ostatniego wierszaw - przejście o jedno słowo w prawo3w - przejście o 3 słowa w prawo}/ { - przejścia pomiędzy akapitamiCtrl-f O - ekran do przoduCtrl-b O - ekran w tyłCtrl-u O - pół ekranu w góręCtrl-d O - pół ekranu w dół
Usuwanie tekstu, cofanie zmian
x, X - usunięcie pojedynczego znaku, który znajduje się na (x) lub przed (X) znakiem
dw - usunięcie słowa nad którym jest kursord$ - usuwa tekst od kursora do końca liniide – usuwa tekst od kursora do końca wyrazucw - usunięcie słowa nad którym jest kursor i przejście do
trybu wstawiania dd - usunięcie zawartości wierszad) - usunięcie całego zdania od momentu w którym znajduje
się kursor d} - usunięcie całego akapitu od momentu w którym znajduje
się kursor dG - usunięcie całego tekstu (do końca pliku) od momentu w
którym znajduje się kursor u - cofa ostatnią zmianęU – cofa skutki zmian dla całej liniiCtrl+R – cofa cofnięcia
Kopiowanie i wklejanie yy – kopiowanie bieżącej linii do bufora. – (kropka) kopiuje tekst napisany po wykonaniu
ostatniej instrukcjiy$ - kopiowanie tekstu do kursora do końca liniiyw – kopiowanie słowa nad kursoremy} – kopiuje akapitp – wkleja z bufora poniżej obecnego wierszaP – wkleja z bufora powyżej obecnego wierszaWklejenie wybranego fragmentu tekstu - wciskamy
v, (przechodzimy do trybu Visual (wizualny)), po czym poruszając się kursorem zaznaczamy tekst który chcemy skopiować.
:r nazwa_pliku – wczytuje z dysku plik nazwa_pliku i wstawia go do bieżącego pliku poniżej kursora
Zamiana
rx – zastępuje znak pod kursorem na xcw – zamienia wyrazce – zamienia tekst od kursora do
końca wyrazuc$ - zamienia tekst do kursora do
końca linii
Wyszukiwanie /łańcuch_znaków – szuka wyrażenia
łańcuch_znaków –do przodu?łańcuch_znaków – szuka wyrażenia
łańcuch_znaków –do tyłun – by znaleźć po wyszukaniu następne wystąpienie
szukanej frazy w tym samym kierunkuN - by szukać w kierunku przeciwnym.CTRL-O – powrót do poprzedniej pozycjiCTRL-I – idzie dalej% - gdy kursor znajduje się na (,),[,],{, lub }
lokalizuje parujący znak nawiasu, ponowne wciśnięcie % powoduje powrót do parującego nawiasu
Wyszukiwanie z zastępowaniem
:s/stary/nowy – zamienia pierwsze wystąpienie wyrazu „stary” na „nowy”
:s/stary/nowy/g – zamienia wszystkie wystąpienia w linii wyrazu „stary” na „nowy”
:%s/stary/nowy/g – zamienia wszystkie wystąpienia w pliku
:%s/stary/nowy/gc – zamienia wszystkie wystąpienia w pliku, prosząc o potwierdzenie za każdym razem
:#,#s/stary/nowy/g – zmienia wszystkie wystąpienia łańcucha znaków pomiędzy dwoma liniami - #,# oznaczają numery linii ograniczających gdzie ma nastąpić zamiana
Polecenia zewnętrzne
:! a następnie zewnętrzne polecenie by je wykonać np. :!dir. Umożliwia to wykonanie dowolnego zewnętrznego polecenia powłoki
Konfiguracja vima
Konfigurację programu można przeprowadzić w dwojaki sposób. Jedną z nich jest wpisywanie komend w trakcie działania vima a drugą poprzez dopisanie odpowiednich poleceń w pliku konfiguracyjnym wczytywanym w czasie inicjalizacji.
Przykłady komend: :syntax on - włączenie reguł podświetlania składni (wg
rozszerzenia pliku):set syntax=HTML - wymuszenie podświetlania składni wg
reguł "języka" HTML:set textwidth=XX - ustawia długość linii na XX znaków:set noet ts=X sw=X - ustawia wielkość tabulacji na X:set noautoindent - wyłącza auto-wcięcia:set incsearch - wyszukuje frazę podczas wpisywania
szukanego słowa:set number - włącza numerowanie wierszy
:set ruler - pokazuje statystyki:set history=XX - wielkość historii poleceń, gdzie XX to ilość
zapamiętanych poleceń:set nocompatible - wyłącza kompatybilność z vi:set backspace=indent,eol,start - zawija tekst przy końcu
linii:set showmode - pokazuje tryb w jakim jesteśmy w lewym
dolnym rogu:set showcmd - pokazuje polecenia w prawym dolnym rogu:set formatoptions+=1 - przenosi pojedyncze literki do
nowego wiersza:set backup - tworzy kopie zapasowe plików:set backupdir=~/backup/,/tmp - określa katalog, w którym
tworzone będą kopie zapasowe:set laststatus=1 - włącza pokazywanie linii statusu:filetype plugin indent on - włącza odpowiednie pluginy dla
danego typu pliku:autocmd BufNewFile * startinsert - każdy nowy plik będzie
rozpoczynany w trybie WPROWADZANIE:let g:html_use_css= "1 - korzysta z ze styli css dla plików
html
Konfiguracja vima
Ćwiczenia• 1. Utworzyć za pomocą edytora vim plik1.• 2. Przejść do trybu edycji i wpisać kod html który
wyświetlałby krótki tekst w określonym kolorze lub wczytać gotowy plik html.
• 3. Zapisać plik1 pod obecną nazwą (bez wychodzenia z edytora).
• 4. Zapisać pod inną nazwą (plik2) i wyjść z edytora. Sprawdź czy się udało.
• 5. Otworzyć jeden z plików.• 6. Przejść do końca pliku, skopiować ostatnią
linię, wkleić ją dwukrotnie.• 7. Dopisać przypadkowe słowa.• 8. Cofnąć ostatnią zmianę.
Ćwiczenia• 9. Cofnąć wszystkie zmiany.• 10. Zmodyfikować kod html aby wyświetlany tekst był w
innym kolorze, inną czcionką itp.• 11. Zapisać zmiany bez wychodzenia z pliku.• 12. Wyszukać powtarzający się łańcuch znaków.• 13. Najechać kursorem na nawias, znaleźć nawias
parujący.• 14. Zamienić w całej linii wystąpienie danego ciągu
znaków na inny.• 15. Usunąć z poziomu vima drugi plik wcześniej
utworzony.• 16. Włączyć podświetlanie składni oraz numerowanie
linii.• 17. Wyłączyć numerowanie linii.