view etc/cs-survival.tex @ 59146:9bde7721ad0f

* dispextern.h: Change HAVE_CARBON to MAC_OS. (struct glyph_string): Likewise. * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of mac_initialize. * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name): Change TARGET_API_MAC_CARBON to HAVE_CARBON. * fns.c (vector): Change MAC_OSX to MAC_OS. * frame.c (x_set_frame_parameters, x_report_frame_params) (x_set_fullscreen): Remove #ifndef HAVE_CARBON. (x_set_border_width, Vdefault_frame_scroll_bars): Change HAVE_CARBON to MAC_OS. * image.c [MAC_OS]: Include sys/stat.h. [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and QuickTimeComponents.h. * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern. [!MAC_OSX] (select): Use mac_wait_next_event. [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes. [!MAC_OSX] (select, run_mac_command): Change `#ifdef TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. (mac_clear_font_name_table): Add extern. (Fmac_clear_font_name_table): New defun. (syms_of_mac): Defsubr it. [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define. [MAC_OSX] (select_and_poll_event): New function. [MAC_OSX] (sys_select): Use it. [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function. [MAC_OSX && SELECT_USE_CFSOCKET] (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines. [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and RunLoop for simultaneously monitoring two kinds of inputs, window events and process outputs, without periodically polling. * macfns.c (mac_initialized): Remove extern. (stricmp): Put in #if 0. All callers changed to use xstricmp in xfaces.c. (strnicmp): Decrement `n' at the end of each loop, not the beginning. (check_mac): Use the term "Mac native windows" instead of "Mac OS". (check_x_display_info, x_display_info_for_name): Sync with xfns.c. (mac_get_rdb_resource): New function (from w32reg.c). (x_get_string_resource): Use it. (install_window_handler): Add extern. (mac_window): New function. (Fx_create_frame): Use it instead of make_mac_frame. Set parameter for Qfullscreen. Call x_wm_set_size_hint. (Fx_open_connection, Fx_close_connection): New defuns. (syms_of_macfns): Defsubr them. (x_create_tip_frame) [TARGET_API_MAC_CARBON]: Add kWindowNoUpdatesAttribute to the window attribute. (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow. (x_create_tip_frame): Don't call ShowWindow. (Fx_show_tip): Call ShowWindow. (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. (mac_frame_parm_handlers): Set handlers for Qfullscreen. (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0. * macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h. (Window): Typedef to WindowPtr and move outside `#if TARGET_API_MAC_CARBON'. (XSizeHints): New struct. * macterm.c (x_update_begin, x_update_end) [TARGET_API_MAC_CARBON]: Disable screen updates during update of a frame. (x_draw_glyph_string_background, x_draw_glyph_string_foreground) [MAC_OS8]: Use XDrawImageString/XDrawImageString16. (construct_mouse_click): Put in #if 0. (x_check_fullscreen, x_check_fullscreen_move): Remove decls. (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. (activate_scroll_bars, deactivate_scroll_bars) [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl. (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window if the position is neither user-specified nor program-specified. (x_free_frame_resources): Free size_hints. (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints. (mac_clear_font_name_table): New function. (mac_do_list_fonts): Initialize font_name_table if needed. (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT around mac_do_list_fonts. (mac_unload_font): New function. (x_load_font): Add BLOCK_INPUT around XLoadQueryFont. (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations and definitions with #if TARGET_API_MAC_CARBON. [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl. (install_window_handler): Add decl. (do_window_update): Add BeginUpdate/EndUpdate for the tooltip window. Use UpdateControls. Get the rectangle that should be updated and restrict the target of expose_frame to it. (do_grow_window): Set minimum height/width according to size_hints. (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow. (do_zoom_window): Don't use x_set_window_size. [USE_CARBON_EVENTS] (mac_handle_window_event): New function. (install_window_handler): New function. [!USE_CARBON_EVENTS] (mouse_region): New variable. [!USE_CARBON_EVENTS] (mac_wait_next_event): New function. (XTread_socket) [USE_CARBON_EVENTS]: Move call to GetEventDispatcherTarget inside BLOCK_INPUT. (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event. Update mouse_region when mouse is moved. (make_mac_frame): Remove. (make_mac_terminal_frame): Put in #ifdef MAC_OS8. Initialize mouse pointer shapes. Change values of f->left_pos and f->top_pos. Don't use make_mac_frame. Use NewCWindow. Don't call ShowWindow. (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from Vinvocation_name and Vsystem_name. (mac_make_rdb): New function (from w32term.c). (mac_term_init): Use it. Add BLOCK_INPUT. Error if display has already been opened. Don't pass argument to mac_initialize_display_info. Don't set dpyinfo->height/width. Add entries to x_display_list and x_display_name_list. (x_delete_display): New function. (mac_initialize): Don't call mac_initialize_display_info. (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide. * macterm.h (check_mac): Add extern. (struct mac_output): New member size_hints. (FRAME_SIZE_HINTS): New macro. (mac_unload_font): Add extern. * xdisp.c (expose_window, expose_frame): Remove kludges for Mac. * xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
author Steven Tamm <steventamm@mac.com>
date Mon, 27 Dec 2004 17:27:30 +0000
parents 746c40973d25
children 23a17af379b1 eb7e8d483840
line wrap: on
line source

%
% Title:  GNU Emacs Survival Card
% Author: Wlodek Bzyl <matwb@univ.gda.pl>
%
%**start of header

% User interface is `plain.tex' and macros described below
%
% \title{CARD TITLE}{for version 21}
% \section{NAME}
% optional paragraphs separated with \askip amount of vertical space
% \key{KEY-NAME} description of key or
% \mkey{M-x LONG-LISP-NAME} description of Elisp function
%
% \kbd{ARG} -- argument is typed literally

\def\plainfmtname{plain}
\ifx\fmtname\plainfmtname
\else
  \errmessage{This file requires `plain' format to be typeset correctly}
  \endinput
\fi

% Copyright (c) 2000, 2004 Free Software Foundation, Inc.

% This file is part of GNU Emacs.

% GNU Emacs is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2, or (at your option)
% any later version.

% GNU Emacs is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU General Public License for more details.

% You should have received a copy of the GNU General Public License
% along with GNU Emacs; see the file COPYING.  If not, write to
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
% Boston, MA 02111-1307, USA.

% Czech hyphenation rules applied
\chyph

% Translated to Czech by Pavel Janík <Pavel@Janik.cz> in March 2001

% Process the file with `csplain' from the `CSTeX' distribution (included
% e.g. in the TeX Live CD).

\def\versionnumber{1.0}
\def\year{2000}

\def\copyrightnotice{\penalty-1\vfill
  \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter
    Copyright \year\ Free Software Foundation, Inc.\break
    Verze \versionnumber{} pro GNU Emacs 21, duben 2000\break
    W{\l}odek Bzyl (matwb@univ.gda.pl)\break
    Do češtiny přeložil Pavel Janík (Pavel@Janik.cz)

    Kopie tohoto dokumentu můžete vytvářet a šířit
    za předpokladu, že budou obsahovat tuto poznámku
    o autorských právech.\par}}

\hsize 3.2in
\vsize 7.95in
\font\titlefont=csss10 scaled 1200
\font\headingfont=csss10
\font\smallfont=csr6
\font\smallsy=cmsy6
\font\eightrm=csr8
\font\eightbf=csbx8
\font\eightit=csti8
\font\eighttt=cstt8
\font\eightmi=csmi8
\font\eightsy=cmsy8
\font\eightss=cmss8
\textfont0=\eightrm
\textfont1=\eightmi
\textfont2=\eightsy
\def\rm{\eightrm} \rm
\def\bf{\eightbf}
\def\it{\eightit}
\def\tt{\eighttt}
\def\ss{\eightss}
\baselineskip=0.8\baselineskip

\newdimen\intercolumnskip % horizontal space between columns
\intercolumnskip=0.5in

% The TeXbook, p. 257
\let\lr=L \newbox\leftcolumn
\output={\if L\lr
    \global\setbox\leftcolumn\columnbox \global\let\lr=R
  \else
       \doubleformat \global\let\lr=L\fi}
\def\doubleformat{\shipout\vbox{\makeheadline
    \leftline{\box\leftcolumn\hskip\intercolumnskip\columnbox}
    \makefootline}
  \advancepageno}
\def\columnbox{\leftline{\pagebody}}

\def\newcolumn{\vfil\eject}

\def\bye{\par\vfil\supereject
  \if R\lr \null\vfil\eject\fi
  \end}

\outer\def\title#1#2{{\titlefont\centerline{#1}}\vskip 1ex plus 0.5ex
   \centerline{\ss#2}
   \vskip2\baselineskip}

\outer\def\section#1{\filbreak
  \bskip
  \leftline{\headingfont #1}
  \askip}
\def\bskip{\vskip 2.5ex plus 0.25ex }
\def\askip{\vskip 0.75ex plus 0.25ex}

\newdimen\defwidth \defwidth=0.25\hsize
\def\hang{\hangindent\defwidth}

\def\textindent#1{\noindent\llap{\hbox to \defwidth{\tt#1\hfil}}\ignorespaces}
\def\key{\par\hangafter=0\hang\textindent}

\def\mtextindent#1{\noindent\hbox{\tt#1\quad}\ignorespaces}
\def\mkey{\par\hangafter=1\hang\mtextindent}

\def\kbd#{\bgroup\tt \let\next= }

\newdimen\raggedstretch
\newskip\raggedparfill \raggedparfill=0pt plus 1fil
\def\nohyphens
   {\hyphenpenalty10000\exhyphenpenalty10000\pretolerance10000}
\def\raggedspaces
   {\spaceskip=0.3333em\relax
    \xspaceskip=0.5em\relax}
\def\raggedright
   {\raggedstretch=6em
    \nohyphens
    \rightskip=0pt plus \raggedstretch
    \raggedspaces
    \parfillskip=\raggedparfill
    \relax}
\def\raggedcenter
   {\raggedstretch=6em
    \nohyphens
    \rightskip=0pt plus \raggedstretch
    \leftskip=\rightskip
    \raggedspaces
    \parfillskip=0pt
    \relax}

\chardef\\=`\\

\raggedright
\nopagenumbers
\parindent 0pt
\interlinepenalty=10000
\hoffset -0.2in
%\voffset 0.2in

%**end of header


\title{Karta\ \ pro\ \ přežití\ \ s\ \ GNU\ \ Emacsem}{pro verzi 21}

V~následujícím textu \kbd{C-z} znamená: stiskněte klávesu `\kbd{z}' a
současně přidržte stisknutou klávesu {\it Ctrl}. \kbd{M-z} znamená, že
současně s klávesou `\kbd{z}' přidržíte klávesu {\it Meta\/} (většinou
označenou {\it Alt\/}) nebo ji stisknete po stisknutí klávesy {\it Esc\/}.


\section{Spuštění Emacsu}

Pro spuštění GNU Emacsu jednoduše napište jeho jméno: \kbd{emacs}.
Emacs rozděluje rámec na několik částí:
  řádek menu,
  buffer s editovaným textem,
  tzv. mode line popisující buffer nad ní
  a minibuffer v poslední řádce.
\askip
\key{C-x C-c} ukončení Emacsu
\key{C-x C-f} editace souboru; tento příkaz využívá minibuffer k přečtení
              jména souboru; tento příkaz použijte i tehdy, chcete-li
              vytvořit nový soubor zadaného jména
\key{C-x C-s} uložit soubor
\key{C-x k} zavřít buffer
\key{C-g} ve většině situací: zastavení aktuálně prováděné činnosti,
              zrušení zadávání příkazu apod.
\key{C-x u} obnovit

\section{Pohyb}

\key{C-l} přesun aktuální řádky do středu okna
\key{C-x b} přepnutí do jiného bufferu
\key{M-<} přesun na začátek bufferu
\key{M->} přesun na konec bufferu
\key{M-x goto-line} přesun na řádek zadaného čísla

\section{Více oken}

\key{C-x 0} odstranění aktuálního okna
\key{C-x 1} aktuální okno se stane jediným oknem
\key{C-x 2} rozdělení okna horizontálně
\key{C-x 3} rozdělení okna vertikálně
\key{C-x o} přesun do jiného okna

\section{Regiony}

Emacs definuje `region' jako prostor mezi {\it značkou\/} a
{\it bodem}. Značka je nastavena pomocí \kbd{C-{\it space}}.
Bod je v místě aktuální pozice kurzoru.
\askip
\key{M-h} označ celý odstavec
\key{C-x h} označ celý buffer

\section{Vyjmutí a kopírování}

\key{C-w} vyjmi region
\key{M-w} zkopíruj region do kill-ringu
\key{C-k} vyjmi text od kurzoru do konce řádku
\key{M-DEL} vyjmi slovo
\key{C-y} vlož zpět poslední vyjmutý text (kombinace kláves \kbd{C-w C-y}
          může být použita pro přesuny textů)
\key{M-y} nahraď poslední vložený text předchozím vyjmutým textem

\section{Vyhledávání}

\key{C-s} hledej řetězec
\key{C-r} hledej řetězec zpět
\key{RET} ukonči hledání
\key{M-C-s} hledej regulární výraz
\key{M-C-r} hledej regulární výraz zpět
\askip
Kombinace \kbd{C-s} nebo \kbd{C-r} můžete použít i k opakování hledání
jiným směrem.

\section{Značky (tags)}

Tabulky značek (tags) zaznamenávají polohu funkcí a procedur, globálních
proměnných, datových typů a dalšího. Pro vytvoření tabulky značek spusťte
příkaz `{\tt etags} {\it vstupní\_soubory}' v příkazovém interpretu.
\askip
\key{M-.} najdi definici
\key{C-u M-.} najdi další výskyt definice
\key{M-*} běž tam, odkud byla volána poslední \kbd{M-.}
\mkey{M-x tags-query-replace} spusť query-replace na všech souborech
zaznamenaných v tabulce značek.
\key{M-,} pokračuj v posledním hledání značky nebo query-replace

\section{Překlady}

\key{M-x compile} přelož kód v aktivním okně
\key{C-c C-c} běž na poslední chybu překladače, v okně překladu
\key{C-x `} v okně se zdrojovým textem

\section{Dired, editor adresářů}

\key{C-x d} spusť Dired
\key{d} označ tento soubor pro smazání
\key{\~{}} označ všechny zálohy ke smazání
\key{u} odstraň všechny značky pro smazání
\key{x} smaž soubory označené pro smazání
\key{C} kopíruj soubor
\key{g} obnov buffer Diredu
\key{f} navštiv soubor v aktuální řádce
\key{s} přepni mezi řazením podle abecedy a data/času

\section{Čtení a posílání pošty}

\key{M-x rmail} začni číst poštu
\key{q} ukonči čtení pošty
\key{h} ukaž hlavičky
\key{d} označ aktuální zprávu ke smazání
\key{x} smaž všechny zprávy označené ke smazání

\key{C-x m} nová zpráva
\key{C-c C-c} pošli zprávu a přepni do jiného bufferu
\key{C-c C-f C-c} přesuň se na hlavičku `CC' a pokud neexistuje, tak ji
vytvoř

\section{Různé}

\key{M-q} zarovnej odstavec
\key{M-/} doplň dynamicky předchozí slovo
\key{C-z} ikonizuj (přeruš) Emacs
\mkey{M-x revert-buffer} nahraď text editovaného souboru tímtéž souborem z disku

\section{Nahrazování}

\key{M-\%} interaktivně hledej a nahrazuj
\key{M-C-\%} za použití regulárních výrazů
\askip
Možné odpovědi v módu hledání jsou
\askip
\key{SPC} nahraď tento výskyt; běž na další
\key{,} nahraď tento výskyt; nechoď dále
\key{DEL} tento výskyt nenahrazuj a běž dál
\key{!} nahraď všechny další výskyty
\key{\^{}} zpět na předchozí výskyt
\key{RET} ukonči query-replace
\key{C-r} začni rekurzivní editaci (\kbd{M-C-c} ji ukončí)

\section{Regulární výrazy}

\key{. {\rm(tečka)}} libovolný znak kromě znaku nového řádku
\key{*} žádné nebo mnoho opakování
\key{+} jedno nebo mnoho opakování
\key{?} žádné nebo jedno opakování
\key{[$\ldots$]} označuje třídu znaků
\key{[\^{}$\ldots$]} neguje třídu znaků

\key{\\{\it c}} uvození znaku, který by měl jinak speciální význam v
regulárním výrazu

\key{$\ldots$\\|$\ldots$\\|$\ldots$} vyhovuje jedné z alternativ (\uv{nebo})
\key{\\( $\ldots$ \\)} seskupení několika vzorků do jednoho
\key{\\{\it n}} totéž jako {\it n\/}-tá skupina

\key{\^{}} vyhovuje na začátku řádku
\key{\$} vyhovuje na konci řádku

\key{\\w} vyhovuje znaku, který může být součástí slova
\key{\\W} vyhovuje znaku, který nemůže být součástí slova
\key{\\<} vyhovuje na začátku slova
\key{\\>} vyhovuje na konci slova
\key{\\b} vyhovuje mezislovním mezerám
\key{\\B} vyhovuje mezerám, které nejsou mezislovní

\section{Registry}

\key{C-x r s} ulož region do registru
\key{C-x r i} vlož obsah registru do bufferu

\key{C-x r SPC} ulož aktuální pozici kurzoru do registru
\key{C-x r j} skoč na pozici kurzoru uloženou v registru

\section{Obdélníky}

\key{C-x r r} zkopíruj obdélník do registru
\key{C-x r k} vyjmi obdélník
\key{C-x r y} vlož obdélník
\key{C-x r t} uvození každého řádku řetězcem

\key{C-x r o} otevři obdélník, posuň text vpravo
\key{C-x r c} vyprázdni obdélník

\section{Příkazový interpret}

\key{M-x shell} spusť příkazový interpret v Emacsu
\key{M-!} spusť příkaz příkazového interpretu
\key{M-|} spusť příkaz příkazového interpretu na region
\key{C-u M-|} filtruj region přes příkaz příkazového interpretu

\section{Kontrola pravopisu}

\key{M-\$} zkontroluj pravopis slova pod kurzorem
\mkey{M-x ispell-region} zkontroluj pravopis všech slov v regionu
\mkey{M-x ispell-buffer} zkontroluj pravopis v bufferu

\section{Mezinárodní znakové sady}

\key{C-x RET C-\\} zvol a aktivuj vstupní metodu pro aktuální buffer
\key{C-\\} aktivuj nebo deaktivuj vstupní metodu
\mkey{M-x list-input-methods} zobraz seznam všech vstupních metod
\mkey{M-x set-language-environment} specifikuj hlavní jazyk

\key{C-x RET c} nastav kódovací systém pro následující příkaz
\mkey{M-x find-file-literally} edituj soubor bez jakýchkoli konverzí

\mkey{M-x list-coding-systems} ukaž všechny kódovací systémy
\mkey{M-x prefer-coding-system} zvol preferovaný kódovací systém

\section{Klávesová makra}

\key{C-x (} začni definici klávesového makra
\key{C-x )} ukonči definici klávesového makra
\key{C-x e} spusť naposledy definované klávesové makro
\key{C-u C-x (} přidej do posledně definovaného klávesového makra
\mkey{M-x name-last-kbd-macro} pojmenuj naposledy definované makro

\section{Jednoduché nastavení}

\key{M-x customize} jednoduché nastavení

\section{Pomoc}

Emacs doplňuje příkazy. Stisknete-li \kbd{M-x} {\it tab\/} nebo {\it
space\/} dostanete seznam příkazů Emacsu.
\askip
\key{C-h} nápověda Emacsu
\key{C-h t} spustí tutoriál Emacsu
\key{C-h i} spustí Info, prohlížeč dokumentace
\key{C-h a} ukáže příkazy vyhovující zadanému řetězci (apropos)
\key{C-h k} zobrazí dokumentaci funkce spuštěné pomocí zadané klávesy
\askip
Emacs pracuje v různých {\it módech}, které upravují chování
Emacsu pro editovaný text daného typu. Mode line obsahuje jména aktuálních
módů v závorkách.
\askip
\key{C-h m} zobraz dokumentaci aktuálních módů.

\copyrightnotice

\bye

% Local variables:
% compile-command: "csplain survival"
% End:

% arch-tag: 86b21d3f-d8b6-412d-8d77-e6e8728f590e