Hello.
Polish translation in attachment.
regards
fEnIo
--
_ Bartosz Feński aka fEnIo | tlen/mailto:fenio@o2.pl | pgp:0x13fefc40
_|_|_ 32-050 Skawina - Głowackiego 3/15 - w. małopolskie - Polska
(0 0) phone:+48501608340 | ICQ:46704720 | GG:726362 | IRC:fEnIo
ooO--(_)--Ooo http://skawina.eu.org | JID:fenio@jabber.org | RLU:172001
<!-- CVS revision of this document "$Revision: 1.4 $" -->
<!--Line width ruler (ruler uses 78 characters) 34567890123456789012345-->
<chapt id="edit">Edytory
<sect id="pop-editor">Popularne edytory
<p>
Linux oferuje wiele alternatyw dla konsolowych edytorów tekstu. Wśród nich:
<list compact>
<item><prgn>vim</prgn>: Potężny i lekki edytor, wywodzący się z BSD. VI iMproved.
<item><prgn>emacs</prgn>: Podstawowy i ciężki edytor, wywodzący się z projektu GNU.
RMS (Richard M. Stallman) original.
<item><prgn>xemacs</prgn>: Emacs: Następna Generacja, pochodzący od Lucid.
<item><prgn>mcedit</prgn>: GNU edytor dla początkujących.
Identyczny z wewnętrznym edytorem z <prgn>mc</prgn>. Zobacz <ref id="mcedit">.
<item><prgn>ae</prgn>: Domyślny mały edytor (Potato). Należy go unikać.
<item><prgn>nano</prgn>: Domyślny mały edytor (Woody). Naśladuje
<prgn>pico</prgn>.
<item><prgn>joe</prgn>: Dla staromodnych WordStar lub TurboPascala.
<item><prgn>jed</prgn>: Szybki, w pełni wyposażony, obsługiwany przez menu, ze skrótami klawiszowymi Emacsa.
<item><prgn>jove</prgn>: Bardzo mały edytor ze skrótami klawiszowymi Emacsa.
<item><prgn>nvi</prgn>: Nowy vi. Idealnie kompatybilny z oryginalnym vi.
</list>
<p>
Użyj <tt>update-alternatives --config editor</tt> aby zmienić domyślny edytor.
Również wiele programów używa zmiennych środowiskowych takich jak <tt>EDITOR</tt> lub
<tt>VISUAL</tt> aby zdecydować, którego edytora użyć. Zobacz <ref id="mcedit">.
<p>
Również kilka bazujących na X-ach edytorów jest godnych uwagi:
<list compact>
<item><prgn>gvim</prgn>: Vim z interfejsem graficznym (Pakiety <package>vim</package> i <package>vim-gtk</package>).
<item><prgn>emacs</prgn>: Emacs (automatycznie wykrywa X-y).
<item><prgn>xemacs</prgn>: Emacs Następnej Generacji (automatycznie wykrywa X-y).
</list>
Wywołania tych edytorów zawierają standardowe opcje takie jak
<tt>-fn <var>a24</var></tt>, które ułatwiają życie starszym użytkownikom takim
jak ja :) Zobacz <ref id="xclnt">.
</sect>
<sect id="bin-editor">Edytory awaryjne
<p>
Istnieje kilka edytorów rezydujących w <file>/bin</file>. Jeden z nich powinien
być zainstalowany do prostego edytowania plików, gdy <file>/usr</file> jest nieosiągalne.
<p>
<list compact>
<item><package>elvis-tiny</package>: Minimalny edytor vi (Wpisz <prgn>vi</prgn> aby zacząć)
<item><package>nano-tiny</package>: Minimalny edytor różny od vi (Wpisz<prgn>nano-tiny</prgn> aby zacząć)
<item><package>ed</package>: Minimalny edytor (zawsze obecny ale trudny w użyciu)
</list>
<p>
<sect>Emacs i Vim
<sect1>Wskazówki do Vim
<p>
Przeczytaj dokument "VIM - główny plik pomocy" wciskając <F1> w czasie działania
programu.
<example>
<F1> Pomoc
<esc> Powrót do normalnego trybu
V Tryb graficzny
i Tryb wstawiania
: Polecenia linii komend
:set tw=72 Ustawia szerokość tekstu na 72
<F11> Tryb wstawiania (wklejania)
:r! date -R Wstaw datę RFC-822
q<var>a</var> Zapisz sekwencję klawiszy w rejestrze <var>a</var>
q Zatrzymaj zapisywanie sekwencji klawiszy
@<var>a</var> Wykonaj sekwencję klawiszy z rejestru <var>a</var>
:edit <var>foo.txt</var> Edytuj nowy plik przez wczytanie <var>foo.txt</var>
:wnext Zapisz bieżący plik i edytuj nowy plik
</example>
<tt>q</tt> i <tt>@</tt> mogą być używane do zapisywania i odtwarzania prostych makr.
Na przykład aby stworzyć makro, które wstawia znaczniki pochyłości HTML wokół
słowa w miejscu kursora, możesz wpisać <tt>qii<i>^[ea</i>^[q</tt>
(gdzie <tt>^[</tt> jest klawiszem ESC). Wtedy wpisując <tt>@i</tt> w miejscu początku
słowa zostaną dodane znaczniki <i> i </i>.
</sect1>
<sect1>Wskazówki do Emacsa
<p>
<example>
<F1> Pomoc
<F10> Menu
C-u M-! date -R Wstaw datę RFC-822
</example>
</sect1>
<sect1>Uruchamianie edytora
<p>
<example>
uruchom edytor: emacs filename vim filename
uruchom w trybie zgodnym z vi: vim -C
uruchom w trybie niezgodnym z vi: vim -N
uruchom z opcjami domyślnymi: emacs -q vim -N -u NONE
</example>
</sect1>
<sect1 id="editkey">Podsumowanie poleceń edytorów (Emacs, Vim)
<p>
<example>
wyjście: C-x C-c :qa /:wq /:xa /:q!
Powrót/tryb poleceń: C-g <esc>
Do tyłu (w lewo): C-b h
Do przodu (w prawo): C-f l
W dół: C-n j
W górę: C-p k
początek linii(^): C-a 0
koniec linii($): C-e $
Polecenia wielokrotne: C-u nnn cmd nnn polecenie
Polecenia wielokrotne: M-klawisz_numeryczny cmd
zapisz plik: C-x C-s :w file
początek bufora: M-< 1G
koniec bufora: M-> G
przewiń 1 ekran do przodu: C-v ^F
przewiń 1/2 ekranu do przodu: ^D
przewiń 1 linię do przodu: ^E
przewiń 1 ekran do tyłu: M-v ^B
przewiń 1/2 ekranu do tyłu: ^U
przewiń 1 linię do tyłu: ^Y
przewiń następne okno: M-C-v
skasuj w miejscu kursora: C-d x
skasuj od kursora do końca linii: C-k D
przeszukiwanie w przód: C-s
przeszukiwanie wstecz: C-r
przeszukiwanie w przód: C-s enter /
przeszukiwanie wstecz: C-r enter ?
wyszukiwanie wyrażeń regularnych: M-C-s
wyszukiwanie wyrażeń regularnych wstecz: M-C-r
wyszukiwanie wyrażeń regularnych: M-C-s enter /
wyszukiwanie wyrażeń regularnych: M-C-r enter ? ?
Pomoc: C-h C-h :help
Pomoc Apropos: C-h a
Pomoc dot. skrótów klawiszowych:C-h b :help [klawisz]
Pomoc Info: C-h i
Pomoc Główny tryb: C-h m
Pomoc samouczek: C-h t :help howto
Cofnij (Undo): C-_ u
Anuluj Cofnij (Redo): C-f ^R
Zaznacz pozycje kursora: C-@ m{a-zA-Z}
Zmień zaznaczenie i pozycję: C-x C-x
Idź do zaznaczenia w bieżącym pliku: '{a-z}
Idź do zaznaczenia w dowolnym pliku: '{A-Z}
kopiuj obszar: M-w {w graficznym}y
usuń obszar: C-w {w graficznym}d
Wklej i zachowaj bufor: C-y <![%FIXME;[p y ? XXX FIXME XXX]]>
Wklej z usuwanego bufora: M-y p
Przekształć obszar na duże litery: C-x C-u {w graficznym}U
Przekształć obszar na małe litery: C-x C-l {w graficznym}u
Wstaw znak specjalny: C-q numer ósemkowo/keystroke
^V dziesiętnie/uderzenie-w-klawisz
zastąp: M-x replace-string :%s/aaa/bbb/g
zastąp wyrażenie regularne: M-x replace-regexp :%s/aaa/bbb/g
zastąp zapytanie: M-% :%s/aaa/bbb/gc
zastąp zapytanie: M-x query-replace
zastąp zapytanie wyrażenie regularne: M-x query-replace-regexp
Otwórz plik: C-x C-f :r file
Zapisz plik: C-x C-s :w
Zapisz wszystkie bufory: C-x s :wa
Zapisz jako: C-x C-w file :w file
Ścieżka dla buforu: C-x b
wyświetl bufory: C-x C-b :buffers
Przełącz na tylko-do-odczytu: C-x C-q :set ro
Podpowiedz i zabij bufor: C-x k
Rozdziel pionowo: C-x 2 :split
Rozdziel poziomo: C-x 3 :vsplit (ver. 6)
Przenieś do innego okna: C-x o ^Wp
Usuń to okno: C-x 0 :q
Skasuj inne okno (okna): C-x 1 ^Wo
uruchom powłokę w tle: M-x compile
zabij powłokę w tle: M-x kill-compilation
uruchom make :make Makefile
sprawdź informacje o błędach: C-x` :echo errmsg
uruchom powłokę i zapisz: M-x shell :!script -a tmp
...wyczyść BS, ... :!col -b <tmp >record
...zapisz/przywołaj rejestr powłoki: C-x C-w record :r record
uruchom powłokę: M-! sh :sh
uruchom polecenie: M-! cmd :!cmd
uruchom polecenie i wstaw: C-u M-! cmd :r!cmd
uruchom filter: M-| file {visual}:w file
uruchom filter i wstaw: C-u M-| filter {visual}:!filter
pokaż opcje: :se[t] {option}?
ustaw opcje na domyślne :se[t] {option}&
ustaw opcje logiczne (boolean) :se[t] no{option}
przełącz opcje logiczne (boolean) :se[t] inv{option}
zawiń tekst od 72 kolumny :se tw=72
nie zawijaj :se tw=0
automatycznie wcinaj :se ai
rozwijaj tabulator :se et
specyfikuj komentarz (mail) :se comments=n:>,n:\|
uruchom GDB M-x gdb
opisz tryb GDB C-h m
rusz się o jedną linię M-s
następna linia M-n
rusz się o jedną instrukcję (stepi) M-i
zakończ bieżącą ramke stosu C-c C-f
kontynuuj M-c
podnieś ramki argumentów M-u
upuść ramki argumentów M-d
skopiuj ilość od punktu, wstaw na końcu
C-x &
ustaw break point C-x SPC
</example>
</sect1>
<sect1>Konfiguracja Vima
<p>
W celu użycia wszystkich dodatków Vima oraz podświetlania składni, należy dodać
następujące linię w <file>~/.vimrc</file> lub <file>/etc/vimrc</file>:
<example>
set nocompatible
set nopaste
set pastetoggle=<f11>
syn on
</example>
Tryb wstawiania umożliwia jedno - unikanie kolizji wcinania przy operacjach wytnij-i-wklej
na terminalu. Powoduje to więcej niż proste ":set noai".
<p>
Zobacz <ref id="vimgpg"> do integracji z GnuPG.
</sect1>
<sect1>Ctags
<p>
<tt>apt-get install exuberant-ctags</tt> i uruchom ctags na plikach źródłowych. Wpisz
<tt>:tag <var>nazwa_funkcji</var></tt> w Vim aby przeskoczyć do linii gdzie
<var>nazwa_funkcji</var> się zaczyna.
Znaczniki działają dla C, C++, Java, Python i wielu innych języków.
<p>
Emacs posiada te same możliwości ctags.
</sect1>
<sect1>Konwersja ekranu z podświetlaniem składni do kodu HTML
<p>
<tt>so \$VIMRUNTIME/syntax/2html.vim</tt> z linii poleceń Vima zamieni
podświetlany tekst do kodu HTML. Zapisz jako <tt>:w file.html</tt> i
<tt>:q</tt>. Użytecznie dla kodu w języku C itd.
</sect1>
<sect1>Rozdzielanie ekranu w <prgn>vimie</prgn>
<p>
<prgn>vim</prgn> może edytować wielorakie pliki w środowisku z wielokrotnie podzielonym ekranem.
Wpisz <tt>:help usr_08.txt</tt> aby uzyskać szczegółowe informacje.
<p>
Aby rozdzielić ekran między różne pliki, wpisz w lini poleceń vi:
<example>
:split <var>inny-plik</var>
:vsplit <var>inny-plik</var>
</example>
Lub w linii poleceń powłoki:
<example>
$ vi -o file1.txt file2.txt # Podział poziomy
$ vi -O file1.txt file2.txt # Podział pionowy
</example>
dostarczy wielo-oknowego vi.
<example>
$ vimdiff file.txt~ file.txt # sprawdza ostatnie zmiany w file.txt
$ vimdiff file.en.sgml file.fr.sgml # sprawdza zamiany w przekładzie/tłumaczeniu
$ gvimdiff file.txt~ file.txt # w X-ach
</example>
dostarczy ładny widok zmian między oryginałem i kopią zapasową.
W SGMLu dopasowuje znaczniki, więc porównywanie tłumaczeń w tym trybie sprawdza się bardzo dobrze.
<p>
Specjalne ruchy kursora z poleceniami CTRL-W:
<example>
CTRL-W + zwiększa rozmiar okna
CTRL-W - zmniejsza rozmiar okna
CTRL-W h rusz się do okna po lewej
CTRL-W j rusz się do okna poniżej
CTRL-W k rusz się do okna powyżej
CTRL-W l rusz się do okna po prawej
...
</example>
Użyj następujących aby kontrolować przewijanie ekranu:
<example>
:set scrollbind
:set noscrollbind
</example>
</sect1>
</sect>
</chapt>
Attachment:
pgpDnriEuI8z_.pgp
Description: PGP signature