
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.