Praca nad tekstem w edytorze vim
Vim – edytor tekstu w środowiskach uniksowych i w Linuksie. Program powstał w roku 1991 jako następca uniksowego edytora Vi a napisał go holenderski programista Bran Molenaar. Jest programem rozprowadzanym na zasadzie GNU FDL. należy do tzw. charityware – ochotnicy gotowi zarejestrować program proszeni są o wpłacenie 10 euro na potrzeby głodujących dzieci i ofiar AIDS w Ugandzie. Edytor działa w środowisku tekstowym, choć możliwe użycie go w środowisku graficznym. Istnieje również wersja dla systemu MS Windows. Uważany jest za jeden z najpopularniejszych edytorów oprócz Emacs. Standardowo dołączany do każdej dystrybucji GNU/Linuksa, jednak jest to wersja minimal. Nie posiada ona np. modułu sprawdzania pisowni, czy też kolorowania składni. Żeby posiadać te funkcje, zwykle wystarczy doinstalować pakiet vim-enhanced
Zasada działania[]
Tekst edytowany w interfejsie graficznym
Vim jest edytorem modalnym – oznacza to, że pracuje w różnych trybach. Najpopularniejsze z nich to:
- tryb wstawiania, w którym zachowuje się jak normalny edytor
- tryb nadpisywania w którym zastępowane są istniejące znaki
- tryb poleceń, w którym z klawiatury wydawane są polecenia nawigacyjne
- tryb wizualny, w którym możliwe sa operacje na zaznaczonych blokach tekstu.
Cechy programu[]
Vim jest niezwykle rozbudowanym edytorem o ogromnych możliwościach. Do standardowych możliwości edytora zaliczyć należy podświetlanie składni, możliwość korekty pisowni, możliwość pracy w wielu oknach, edycja tekstów postskryptowych w języku TEX. Jest edytorem bardzo plastycznym i wysoce konfigurowalnym. Jego minusem jest trudna nawigacja w długich liniach, stąd edytor poleca się głównie programistom; pisanie w nim zwykłych tekstów może być uciążliwe.
Kontrowersje[]
Podstawowym zarzutem stawianym vim-owi jest jego trudna obsługa i duża liczba apriorycznych poleceń. Zwolennicy edytora uważają natomiast, że jest on intuicyjny i logiczny. Duża grupa kontestujących wywodzi się ze środowisk wspierających konkurencyjny edytor Emacs. Istnieje niepisana wojna między zwolenników obu programów.
Podstawowe polecenia edytora[]
Operacje na plikach tekstowych[]
vim nazwatekstu.txt– otwarcie tekstu,ZZ– zapisanie tekstu i opuszczenie edytora,:q!– opuszczenie edytora bez zapisywania zmian,:e!– ładowanie poprzedniej wersji tekstu.
Poruszanie się w trybach pracy[]
i– przejście w tryb wstawiania,a– przejście w tryb wstawiania pierwszego znaku za kursorem,o– rozpoczęcie pracy w trybie wstawiania od nowej linii pod kursorem,O– rozpoczęcie pracy w trybie wstawiania nowej linii nad kursorem,R– przejście w tryb nadpisywania,A– przejście w tryb wstawiania na koniec linii.
Poruszanie się po tekście[]
h– znak w lewo,j– znak w dół,r– znak górę,l– znak w prawo,w– wyraz w prawo,b– wyraz w lewo,e– przeniesienie kursora na koniec wyrazu, aby zacząć nowy, ea(mod),0– do początku akapitu,$– do końca akapitu,gg– powrót na początek tekstu,[liczba]G– przeniesienie do wiersza o określonym numerze,H– przeniesienie kursora na górę ekranu,M– przeniesienie kursora na środek ekranu,L– przeniesienie kursora do ostatniego wiersza na stronie,G$– na koniec tekstu,fm– przejdź do litery m,Fm– przejdź do poprzedniej litery m.
Poruszanie się po ekranie[]
^F– ekran w dół,^B– ekran w górę,^D– pół ekranu w dół,^U– pół ekranu w górę.
Kasowanie i zamiana[]
x– kasuj znak pod kursorem,X– kasuj znak przed kursorem,r– zstąp znak,s– zmiana jednego znaku,dw– kasuj wyraz za kursorem,d3w– kasuj 3 wyrazy za kursorem,db– kasuj do początku wyrazu,d$– kasuj do końca linii,dd– kasuj całą linię,dG– kasowanie do końca pliku,dgg– wywala wszystko do początku pliku,p– wstawianie (uprzednio skasowanej zawartości),u– cofanie zmiany,^R– przywracanie zmiany,x– zmiana na wielką literę,p– eliminacja czeskiego błędu (kursor na pierwszej literze).
Wyszukiwanie[]
/wyraz– szukaj wyraz za kursorem,?wyraz– szukaj wyraz przed kursorem.
Schowek (operacja na bloku)[]
"*yy– schowanie linii do schowka,"*p– wklejenie zawartości schowka.
Okna i podział[]
:split– dzieli ten sam txt na 2 okna,:split innytekst.txt– otwiera inny tekst w drugim oknie,^W– przemieszczanie się między oknami,:only :close– zamykanie okien,:wall– zapisywanie obu okien,:wqall– zapisywanie wszystkich okien i opuszczenie edytora.
Inne[]
:set number– wprowadzenie numeracji linii,J– łączenie wierszy za kursorem,read !ls– wczytywanie katalogu,^L– odświeża ekran,g^g– liczenie słów.