[ powrót ] [ Spis treści ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ dalej ]


Debian Reference
Część 11 - Edytory


11.1 Popularne edytory

Linux oferuje wiele alternatyw dla konsolowych edytorów tekstu. Wśród nich:

Aby zmienić domyślny edytor, użyj update-alternatives --config editor. Wiele programów używa również zmiennych środowiskowych takich jak EDITOR lub VISUAL aby zdecydować, którego edytora użyć. Zobacz Edytor w MC, Rozdział 4.2.5.

Także kilka edytorów środowiska X Window jest godnych uwagi:

Wywołania tych klientów X zawierają standardowe opcje, takie jak -fn a24, które ułatwiają życie starszym użytkownikom, takim jak ja :) Zobacz Klienty X, Rozdział 9.4.4.


11.2 Edytory awaryjne

Istnieje kilka edytorów umieszczonych w katalogu /bin. Jeden z nich powinien być zainstalowany do prostego edytowania plików, gdy /usr jest nieosiągalne.


11.3 Emacs i Vim


11.3.1 Wskazówki do Vima

Przeczytaj dokument „VIM - main help file” wciskając <F1> podczas pracy programu.

     <F1>           Pomoc
     <esc>          Powrót do normalnego trybu
     V              Tryb wizualny
     i              Tryb wprowadzania
     :              Polecenia linii poleceń
     :set tw=72     Ustawia szerokość tekstu na 72
     <F11>          Tryb wprowadzania (wklejania)
     :r! date -R    Wstaw datę zgodną z RFC-822
     qa             Zapisz sekwencję klawiszy w rejestrze a
     q              Zatrzymaj zapisywanie sekwencji klawiszy
     @a             Wykonaj sekwencję klawiszy z rejestru a
     :edit foo.txt   Edytuj inny plik przez wczytanie foo.txt
     :wnext         Zapisz bieżący plik i edytuj następny plik

q i @ mogą być używane do zapisywania i odtwarzania prostych makr. Na przykład, aby utworzyć makro, które wstawia znaczniki pochyłości HTML wokół słowa pod kursorem, możesz wpisać qii<i>^[ea</i>^[q (gdzie ^[ jest klawiszem ESC). Gdy później ustawisz kursor na początku słowa i wpiszesz @i, zostaną dodane znaczniki <i> i </i>.

Zobacz również Używanie GnuPG z Vimem, Rozdział 14.4.2.


11.3.2 Wskazówki do Emacsa

     <F1>                Pomoc
     <F10>               Menu
     C-u M-! date -R     Wstaw datę zgodną z RFC-822

11.3.3 Uruchamianie edytora

     uruchom edytor:                            emacs plik  vim plik
     uruchom w trybie zgodności z vi:                       vim -C
     uruchom w trybie niezupełnie zgodnym z vi:             vim -N
     uruchom z opcjami domyślnymi:              emacs -q    vim -N -u NONE

11.3.4 Podsumowanie poleceń edytorów (Emacs, Vim)

     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 polec   nnn polecenie
     Polecenia wielokrotne:         M-cyfra polecenie
     zapisz plik:                   C-x C-s         :w plik
     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ń inne okno:              M-C-v
     skasuj w miejscu kursora:       C-d             x
     skasuj od kurs. do końca linii: C-k             D
     przeszukiwanie w przód:         C-s
     przeszukiwanie wstecz:          C-r
     wyszukaj w przód:               C-s enter       /
     wyszukaj wstecz:                C-r enter       ?
     szukanie wyrażeń regularnych:   M-C-s
     szukanie wyrażeń reg. wstecz:   M-C-r
     znajdź wyrażenie regularne:     M-C-s enter     /
     znajdź wyrażenie reg. wstecz:   M-C-r enter     ?               
     Pomoc:                          C-h C-h         :help
     Pomoc Apropos:                  C-h a
     objaśnienia klawiszy:           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 cofnięcie (Redo):        C-f             ^R
     Zaznacz pozycję kursora:        C-@             m{a-zA-Z}
     Zmień zaznaczenie i pozycję:    C-x C-x
     Idź do znacznika w bieżącym pliku:              '{a-z}
     Idź do znacznika w dowolnym pliku:              '{A-Z}
     kopiuj obszar:                  M-w             {w wizualnym}y
     usuń obszar:                    C-w             {w wizualnym}d
     Wklej i zachowaj bufor:         C-y             
     Wklej z bufora usuniętych:      M-y             p
     zmień obszar na duże litery:    C-x C-u         {w wizualnym}U
     zmień obszar na małe litery:    C-x C-l         {w wizualnym}u
     Wstaw znak specjalny:           C-q numer ósemkowo/sekwencja klawiszy 
                                                     ^V dziesiętnie/sekwencja klawiszy
     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 z potwierdzeniem:        M-%                     :%s/aaa/bbb/gc
     zastąp z potwierdzeniem:        M-x query-replace
     zastąp wyrażenie reg. z potwierdzeniem: M-x query-replace-regexp
     Otwórz plik:                    C-x C-f         :r plik
     Zapisz plik:                    C-x C-s         :w
     Zapisz wszystkie bufory:        C-x s           :wa
     Zapisz jako:                    C-x C-w plik    :w plik
     zmień bufor:                    C-x b
     wyświetl bufory:                C-x C-b         :buffers
     Przełącz na tylko-do-odczytu:   C-x C-q         :set ro
     zapytaj i usuń bufor:           C-x k
     Podziel pionowo:                C-x 2           :split
     Podziel poziomo:                C-x 3           :vsplit (wersja 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 kompilację w tle:       M-x compile
     usuń kompilację w tle:          M-x kill-compilation
     uruchom make                                    :make Makefile
     sprawdź informacje o błędach:   C-x`            :echo errmsg
     uruchom powłokę logując wyjście: M-x shell      :!script -a tmp
     ...wyczyść znaki backspace, ...                 :!col -b <tmp >record
     ...zapisz/przywołaj zapis 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 filtr:                  M-| plik        {wizualny}:w file
     uruchom filtr i wstaw:          C-u M-| filter  {wizualny}:!filter
     pokaż opcję:                                    :se[t] {opcja}?
     przywróć wartość domyślną opcji                 :se[t] {opcja}&
     ustaw opcję logiczną (boolean)                  :se[t] no{opcja}
     przełącz opcję logiczną (boolean)               :se[t] inv{option}
     zawiń tekst na 72. kolumnie                     :se tw=72
     nie zawijaj                                     :se tw=0
     automatycznie wcinaj                            :se ai
     rozwijaj tabulator                              :se et
     ustaw znaki komentarza (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ę     M-i                            
     zakończ bieżącą ramkę 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 pułapkę                   C-x SPC

11.3.5 Konfiguracja Vima

W celu użycia wszystkich funkcji Vima oraz podświetlania składni, należy dodać następujące linie do ~/.vimrc lub /etc/vimrc:

     set nocompatible
     set nopaste
     set pastetoggle=<f11>
     syn on

Tryb wklejania umożliwia unikanie wpływu automatycznego wcinania przy operacjach wytnij-i-wklej w terminalu. Robi on więcej niż proste „:set noai”.

Jeżeli interesuje Cię integracja z GnuPG, zobacz Używanie GnuPG z Vimem, Rozdział 14.4.2.


11.3.6 Ctags

apt-get install exuberant-ctags i uruchom ctags na plikach źródłowych. Wpisz :tag nazwa_funkcji w Vimie, aby przeskoczyć do linii w której nazwa_funkcji się zaczyna. Znaczniki działają dla C, C++, Javy, Pythona i wielu innych języków.

Emacs posiada te same możliwości ctags.


11.3.7 Konwersja ekranu z podświetlaniem składni do kodu HTML

so \$VIMRUNTIME/syntax/2html.vim wywołane z linii poleceń Vima zamieni podświetlany tekst na kod HTML. Zapisz używając :w plik.html i :q. Użytecznie dla kodu w języku C itd.


11.3.8 Rozdzielanie ekranu w vimie

vim może edytować wiele plików w środowisku z wielokrotnie podzielonym ekranem. W celu uzyskania szczegółowych informacji, wpisz :help usr_08.txt.

Aby rozdzielić ekran między różne pliki, wpisz w lini poleceń vi:

     :split inny-plik
     :vsplit inny-plik

Lub w linii poleceń powłoki:

     $ vi -o file1.txt file2.txt   # Podział poziomy
     $ vi -O file1.txt file2.txt   # Podział pionowy

wywoła to vi podzielonego na wiele okien.

     $ 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 środowisku X Window

spowoduje wyświetlenie ładnego widoku zmian między oryginałem i kopią zapasową. W przypadku SGML-a dopasowuje znaczniki, więc porównywanie tłumaczeń w tym trybie działa bardzo dobrze.

Specjalne ruchy kursora wywoływane przez Ctrl-W:

     Ctrl-W +      zwiększa rozmiar okna
     Ctrl+W -      zmniejsza rozmiar okna
     Ctrl-W h      przejdź do okna po lewej
     Ctrl-W j      przejdź do okna poniżej
     Ctrl-W k      przejdź do okna powyżej
     Ctrl-W l      przejdź do okna po prawej
     ...

Aby kontrolować przewijanie ekranu użyj następujących opcji:

     :set scrollbind
     :set noscrollbind

[ powrót ] [ Spis treści ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ dalej ]


Debian Reference

CVS, czwartek, 18 styczeń 2007, 11:53:26 UTC

Osamu Aoki osamu#at#debian.org
Koordynator tłumaczenia: Bartosz Feński aka fEnIo fenio@o2.pl
Autorzy, Rozdział A.1