Wszystko wskazuje na to, że przerzucę się zupełnie na vim-a. Od tylu lat szukam edytora “idealnego” a on cały czas czaił się w tle. Chyba największy problem jeśli chodzi o jego popularność to “krzywa uczenia się”, niestety lekko nie jest ale kiedy już człowiek zacznie się wciągać to szybko zorientuje się jak potężnym i wygodnym narzędziem jest vim. Oceniam moją znajomość tego edytora na jakieś 15%. Mam plan dojścia do 50% ;).
Tryby
| Operacja |
Kroki |
| Insert Mode |
W tym trybie edytujemy dokument przechodzimy do niego za pomocą klawisza i, wychodzimy do trybu “Normal Mode” - Esc |
| Normal Mode |
W tym trybie wciskane klawisze są traktowane jako polecenia. Powinien to być domyślny tryb pracy z vim-em |
| Visual Mode |
Tryb w którym dokonujemy zaznaczania tekstu |
Poruszanie
| Operacja |
Kroki |
| Góra, dół, lewo, prawo |
k, j, h, l |
| Początek linii |
0 |
| Koniec linii |
$ |
| Wyraz do przodu |
w |
| Wyraz wstecz |
b |
| Dół |
W przypadku pojedyczej linii, zajmującej kilka linii ekranu gj |
| Góra |
W przypadku pojedynczej linii, zajmującej kilka linii ekranu gk |
| Początek pliku |
:0 lub gg |
| Koniec pliku |
:$ lub G |
| Przejście do miejsca ostatniej edycji |
gi |
Wprowadzanie tekstu
| Operacja |
Kroki |
| Połączenie dwóch linii tekstu |
J |
| Copy/Cut/Paste |
Przechodzimy do trybu “visual” v lub V jeśli chcemy od razu zaznaczać całe linie i zaznaczamy interesujący nas tekst, y (skopiowanie) d (wycięcie), przechodzimy do miejsca w którym ma się pojawić skopiowany/wycięty tekst,p wklejenie za kursorem P wklejenie od miejsca w którym jest kursor |
| Wcięcia |
Wyłącznie automatycznych wcięć przy wklejaniu :set paste, włączenie :set nopaste |
| Dodanie linii |
Poniżej kursora o, powyżej O |
Usuwanie
| Operacja |
Kroki |
| Pojedynczego znaku pod kursorem |
x. W trybie edycji działają również Delete, Backspace |
| Cała linia |
dd |
| Od miejsca w którym jest kursor do początku linii |
d0 |
| Od miejsca w którym jest kursor do końca linii |
d$ |
| Od miejsca w którym jest kursor do początku pliku |
dgg |
| Od miejsca w którym jest kursor do końca pliku |
dG |
| Usunięcie fragmentu tekstu |
Zaznaczamy od którego miejsca ma być usunięty tekst ma, przechodzimy kursorem do końca fragmentu który chcemy usunąć i wpisujemy d‘a |
| Usuwanie w trybie blokowym |
Tryb edycji blokowej jest przydatny kiedy np. w akapicie na początku linii są niepotrzebne odstępy. Można je usunąć za jednym razem, przechodząc do trybu blokowego Ctrlv i zaznaczyć kursorem kolejne linie, następnie d lub x |
| Usuwanie w trybie liniowym |
Włączamy tryb zaznaczania liniowego Shiftv, kursorem zaznaczamy linie do usunięcia a następnie usuwamy d lub x |
Wyszukiwanie
| Operacja |
Kroki |
| * |
Wyszukanie kolejnego wyrazu znajdującego się w miejscu kursora |
| # |
Wyszukanie poprzedniego wyrazu znajdującego się w miejscu kursora |
Zamiana
Zakładki
| Operacja |
Kroki |
| Otwarcie nowej zakładki |
:tabnew |
| Poruszanie się pomiedzy zakładkami |
gt |
| Przywrócenie przypadkowo zamkniętej zakładki |
:ls - wyświetlnie bufora a następnie :tabnew +Xbuf gdzie X to numer pod którym plik jest w buforze |
Tips&Tricks
| Operacja |
Kroki |
| Mini Kalkulator |
W trybie “insert”, Ctrlr=, wpisujemy równanie po wciśnięciu Enter wynik pojawi się w miejscu kursora |
.vimrc
| Wpis |
Opis |
| paste mode |
Umożliwi włączanie/wyłączanie automatycznego ustawiania odstępów za pomocą klawisza F2. Zamiast zabawy z :set paste i :set nopaste |