Vim: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Linia 1:
{{TODO | stworzyć spis treści}}
 
[[grafika:Vim-editor_logo.png|left]]
=Spis treści=
 
'''Spis treści'''
 
 
Linia 8 ⟶ 10:
*# [[Vim/Konfiguracja|Konfiguracja]]
*# [[Vim/Podstawy pracy | Podstawy pracy]]
*# [[Vim/Podstawowe tryby pracy | Podstawowe tryby pracy]]
*# [[Vim/Przykłady I | Przykłady I]]
 
* Część II
*# [[Vim/Dodatkowe tryby pracy | Dodatkowe tryby pracy]]
*# [[Vim/Kodowanie | Kodowanie]]
*# [[Vim/Exim czyli skrypty w Vimie | Exim czyli skrypty w Vimie]]
*# Upiekszanie Vima
*#
*# [[Vim/Przykłady II | Przykłady II]]
 
*Dodatek A
== Skrypty ==
*#[[Vim/Tablice Vima | Tablice Vima]]
[http://www.vim.org/scripts/index.php archiwum skryptów]
 
=== Jak zainstalować skrypty? ===
Skrypty powinny być "zassane" z twojego vimrc (:help source) lub w wersji 6.0 możesz po prostu dodać skrypty do katalogu plugin. Pliki składni powinny być zapisane w katalogu syntax. 6.0 obsługuje skrypty wcięć, które powinny zostać zapisane w katalogu indent oraz pliki schematów kolorów, które powinny zostać zassane z twojego vimrc.
 
=== Przydatne skrypty ===
 
==== Przełączanie się pomiędzy plikami .c i .h ====
A.vim
 
[http://www.vim.org/scripts/script.php?script_id=31]
[http://www.gentoo-portage.com/app-vim/alternate]
 
==== selectmode ====
http://www.vim.org/scripts/script.php?script_id=31
 
==== highlight brackets ====
http://vim.sourceforge.net/tips/tip.php?tip_id=177
 
==== edycja programów ====
http://www.gentoo-portage.com/app-vim/autoalign
 
http://www.gentoo-portage.com/app-vim/closetag
 
==== podświetlanie nawiasów ====
Uwaga! Może widocznie zwolnić działanie Vima.
 
[http://vim.sourceforge.net/tips/tip.php?tip_id=177]
 
[http://vim.sourceforge.net/tips/tip.php?tip_id=411]
 
 
 
== Kodowanie ==
 
Ustawienia dla polskiej normy kodowania wszystkich otwieranych plików:
 
set fencs=iso-8859-2
 
Jeśli widzisz na ekranie krzaczki, zamiast prawidłowych znaków, możesz przeładować plik w innym kodowaniu:
 
:e ++enc=<encoding>
 
To polecenie nie zmieni jednak kodowania już napisanego tekstu. Do tego celu na *nixach jest polecenie iconv
iconv -f ISO-8859-2 -t UTF-8 plik.wejsciowy -o plik.wyjsciowy
 
=== Przydatne polecenia ===
:help ++opt
:help mbyte-encoding
:help encoding-values
:help 'fileencodings'
/"ucs-bom"
:help 'bomb'
szczególnie ostatni paragraf:
:help :set^=
 
[http://groups.yahoo.com/group/vim/message/60696]
 
=== Wyjaśnienie kodowania ===
[http://groups.yahoo.com/group/vim/message/57878]
 
'termencoding' jest zestawem znaków dla klawiatury, oraz (tylko w konsolowym Vimie) dla ekranu.
 
'printencoding' jest zestawem znaków dla drukarki, jeśli oba +printer i +postscript są wkompilowane.
 
Konwersja przebiega następująco, jeśli zestawy znaków różnią się a metoda konwersji jest znana:
 
* 'fileencoding' na 'encoding' podczas czytania z dysku
* 'termencoding' na 'encoding' podczas wpisywania z klawiatury
* (tylko w konsolowym Vimie): 'encoding' na 'termencoding' podczas wyświetlania
* 'encoding' na 'printencoding' podczas drukowania przez PostScript
* 'encoding' na 'fileencoding' podczas zapisu na dysk
 
Użycie ":w ++enc=XXX" nie zmienia zachowania domyślnego (ang. ulterior?) zapisu.
 
Użycie 'fileencoding' (które lepiej zmieniać przez ":setlocal" niż ":set") zmienia zachowanie zapisu.
 
fileencodings różni się od fileencoding tym, że ustawia domyślny zapis dla wszystkich plików.
 
=== Zobacz także ===
 
[[Vim/Konfiguracja]] ustawienia pliku konfiguracyjnego
 
[http://vim.sourceforge.net/tips/tip.php?tip_id=690 http://vim.sourceforge.net/tips/tip.php?tip_id=690]
 
http://www.vim.org/tips/tip.php?tip_id=616 Odświeżanie zawartości pliku jeśli został zmieniony na zewnątrz]
 
== Ściągawka ==
 
{| border="0" cellpadding="5" cellspacing="0" style="background: #fafafa; border:1px dashed silver"
|-
| style="width: 50%; vertical-align: top" |
==== Podstawy nawigacji ====
 
;h l k j : znak w lewo, prawo, linia do góry, w dół
;b w : słowo/token w lewo, prawo
;ge e : koniec słowa/tokena w lewo, prawo
;{ } : początek poprzedniego, następnego paragrafu
;0 gm : początek, środek linii
;^ $ : pierwszy, ostatni znak linii
;''n''G ''n''gg : linia ''n'' pliku, domyślnie ostatnia, pierwsza
;''n''% : procent ''n'' pliku (''n'' trzeba podać)
;''n''| : ''n''-ta kolumna aktualnej linii
;% : przeskok między nawiasami (),[], komentarzami, #define
;''n''H ''n''L : ''n''-ta linia od początku, końca okna (domyślnie 1)
;M : środkowa linia w oknie
 
==== Wstawianie i zamiana -> tryb insert ====
;i a : wstaw przed, za kursorem
;I A : wstaw na pierwszym, ostatnim niepustym znaku linii
;gI : wstaw tekst w pierwszej kolumnie
;o O : otwórz nową linię poniżej, powyżej aktualnej linii
;r''c'' : zamienń znak pod kursorem na znak ''c''
;R : zamień znaki zaczynając od kursora
;cc <sub>lub</sub> S : zamień aktualną linię
;C : zamień od kursora do końca linii
;s : zamień jeden znak i wstawiaj
;~ : zmień na dużą/małą literę
 
==== Usuwanie ====
 
;x X : usuń znak pod, przed kursorem
;d''m'' : usuń znak w kierunku ''m''
;''n''dd ''n''D : usuń ''n''-linii (domyślnie 1)
;J gJ : połącz aktualną linię zamieniając znaki puste na spację, po prostu połącz
 
| style="width: 50%; vertical-align:top" |
 
==== Tryb wstawiania ====
 
==== Kopiowanie ====
 
==== Zaawansowane wstawianie ====
 
==== Tryb zaznaczania ====
 
==== Cofanie i powtarzanie operacji ====
 
==== Zaawansowana nawigacja ====
 
==== Szukanie i podstawianie ====
|}
 
=== Do uporządkowania ===
;vim plik +54 : otwiera plik i ustawia kuror na 54-tej linii
;<nowiki>:</nowiki>he[lp] hasło : otwiera pomoc na podanym haśle (naciśnięcie Ctrl+d po wpisaniu hasła pokazuje wszystkie wpisy)
;<Esc> <sub>lub</sub> Ctrl+[ <sub>lub</sub> Ctrl+c : przechodzi do trybu normalnego
;<nowiki>:</nowiki>echo &słowo : pokazuje wartość słowa (?)
;<nowiki>:</nowiki>e : przeładowuje plik, jeśli był zmieniony, można podać nazwę pliku do otworzenia w istniejącym buforze lub numer bufora, np. #3. Jeśli podasz katalog zostanie uruchomiona przeglądarka, np. ''':e .''' otworzy przeglądarkę w aktualnym katalogu
 
== Ściągawka ze względu na linie, bufory, okna ==
 
=== Podstawowy ruch ===
 
hjkl '''&#8592;&#8595;&#8593;&#8594;'''
 
=== Linie ===
 
Ctrl+e Ctrl+y przewiń okno o linię do góry, w dół
 
Ctrl+d Ctrl+u przewiń okno o pół strony w górę, dół
 
Ctrl+f Ctrl+b PgUp PgDown
 
== taby (karty, zakładki) ==
:tabnew - otwiera pustą kartę
:tabnew filename - otwiera w nowej karcie plik filename
 
vim -p file1 file2 file3 - otwiera vima i pliki w kartach, domyślnie przy takim uruchomieniu vima tworzonych jest tylko 10 kart, można to zmienić ustawiając set tabpagemax=15, :next i :last powodują przejście do niewidocznych zakładek
 
:tabf file - otwarcie pliku w nowej karcie, lepsze niż :tabnew bo tabulatorem możemy dokończyć nazwę
:tabc - zamknięcie aktualnej karty, gdy jest jedna karta, to nie będzie zamknięta
 
:tabn - przejście do następnej karty (lub wciśnięcie gt w trybie normalnym)
:tabp - przejście do poprzedniej karty
 
Więcej informacji
:he tabpage.txt
[http://applications.linux.com/article.pl?sid=07/01/11/2141259&tid=13 Vim tips: Using tabs z linux.com]
 
== Zobacz także (po polsku) ==
 
[http://skawina.eu.org/mikolaj/ vim.pl - przetłumaczony podręcznik, vimtutor, skrypty]
 
[http://www1.atwiki.com/vimiki/pages/9.html Wykład o Vimie na atwiki.com]
 
[http://www.debianusers.pl/article.php?aid=66 Kurs Vima na debianusers.pl]
 
== Zobacz także (po angielsku) ==
 
[http://applications.linux.com/article.pl?sid=06/05/04/1544258&tid=13 Vim tips: Using viewports z linux.com]
 
 
----
[[en:Learning vi:Vim]]
[[Vim/Współautorzy| Współautorzy]]
[[ru:Vim]]
[[Kategoria:GNU/Linux]]
 
[[Vim/Dla autorów | Dla Autorów]]
== Do zrobienia ==
#format linii http://vim.sourceforge.net/tips/tip.php?tip_id=145
#folding http://applications.linux.com/article.pl?sid=06/05/18/1915233&tid=13
#wklejanie w linuksie (środkowy przycisk myszki, zaznaczanie z shiftem i myszką itp.)