close

Вход

Забыли?

вход по аккаунту

?

Ричард Столмен - Руководство по GNU Emacs - 1999

код для вставкиСкачать
rUKOWODSTWO PO GNU Emacs
rUKOWODSTWO PO GNU Emacs
tRINADCATAQ REDAKCIQ,OBNOWLENO DLQ Emacs WERSII 20.7
rI^ARD sTOLMEN
Permission is granted to make and distribute verbatim copies of this manual provided the
copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modiпЂЊed versions of this manual under the con-
ditions for verbatim copying,provided also that the sections entitled\The GNU Manifesto",
\Distribution"and\GNU General Public License"are included exactly as in the original,and
provided that the entire resulting derived work is distributed under the terms of a permission
notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language,
under the above conditions for modiпЂЊed versions,except that the sections entitled\The GNU
Manifesto",\Distribution"and\GNU General Public License"may be included in a translation
approved by the Free Software Foundation instead of in the original English.
tRINADCATAQ REDAKCIQ
OBNOWLENO DLQ Emacs WERSII 20.7,[email protected] 1999
cFree Software Foundation,Inc.,1985-1987,1993-1999
cpEREWOD.n.`.iWANOWA,1993
cpEREWOD.a.q.oTT,o.s.tIHONOW,1999
ISBN 5-85593-133-1
rI^ARD sTOLMEN
"rUKOWODSTWO PO GNU Emacs"
iZDANO ano"ilkIrl"
lICENZIQ lr N 066121 OT 22.09.1998G.
pODPISANO K PE^ATI 25.11.1999G.
fORMAT 70H100 1/16
tIRAV 1000\KZ.tIP.ZAK.
oao"astra semx"
mOSKWA,fILIPPOWSKIJ PER.,13
pREDISLOWIE 3pREDISLOWIE
|TO RUKOWODSTWO OPISYWAET ISPOLXZOWANIE I [email protected] NASTROJKU REDAKTORA Emacs.oT
^ITATELQ NE TREBUETSQ BYTX PROGRAMMISTOM;DLQ PROSTOJ NASTROJKI NE NADO OBLADATX
NAWYKAMI W PROGRAMMIROWANII.tE POLXZOWATELI,KOTORYE NE [email protected] NASTROJKOJ,
MOGUT PROPUSKATX RASSYPANNYE PO TEKSTU KRATKIE SOWETY PO NEJ.
|TO,GLAWNYM OBRAZOM,SPRAWO^NOE RUKOWODSTWO,NO EGO TAKVE MOVNO ISPOLXZOWATX W KA-
^ESTWE U^EBNIKA.dLQ TEH,KTO E]E SOWSEM NE ZNAKOM S Emacs,NEPLOHOJ IDEEJ BUDET NA^ATX
S OBU^[email protected]]EJ DIALOGOWOJ PROGRAMMY.~TOBY WYZWATX EE,ZAPUSTITE Emacs I NABERITE C-h
t.tOGDA WY SMOVETE IZU^ITX Emacs,ISPOLXZUQ EGO W SPECIALXNO RAZRABOTANNOM FAJLE,KO-
TORYJ OPISYWAET KOMANDY,GOWORIT,KOGDA IH ISPOLXZOWATX,A ZATEM OB_QSNQET POLU^ENNYE
S POMO][email protected]\TIH KOMAND REZULXTATY.
pRI PERWOM ^TENII PROSTO BEGLO PROSMOTRITE [email protected] I [email protected] GLAWY,W KOTORYH OPI-
SANA PRINQTAQ W\TOM RUKOWODSTWE SISTEMA OBOZNA^ENIJ I OB]IJ WID\KRANA W Emacs.oBRA-
TITE WNIMANIE,NA KAKIE WOPROSY ESTX OTWETY W\TIH GLAWAH,^TOBY WY MOGLI WERNUTXSQ
K NIM POZVE.pOSLE PRO^TENIQ ^ETWERTOJ GLAWY WY DOLVNY POPRAKTIKOWATXSQ S RASSMOT-
RENNYMI W NEJ [email protected]]IE NESKOLXKO GLAW [email protected] ^ASTO ISPOLXZUEMYE
FUNDAMENTALXNYE METODY I PONQTIQ.wAM NUVNO PONQTX IH DO KONCA,\KSPERIMENTIRUQ S
NIMI,ESLI\TO NEOBHODIMO.
gLAWY S ^ETYRNADCATOJ PO [email protected] [email protected] SREDSTWA SREDNEGO UROWNQ,POLEZ-
NYE W [email protected] WIDAH REDAKTIROWANIQ.gLAWA 20 I [email protected]]IE [email protected] WOZMOVNOSTI,
KOTORYE WY MOVETE ZAHOTETX ISPOLXZOWATX,A MOVETE I NE ZAHOTETX;PRI^ITAJTE\TI GLAWY,
KOGDA\TI WOZMOVNOSTI WAM PONADOBQTSQ.
eSLI WAM KAVETSQ,^TO Emacs RABOTAET NEPRAWILXNO,PRO^TITE GLAWU O RE[ENII PRO-
BLEM.oNA OB_QSNQET,KAK SPRAWITXSQ S NEKOTORYMI ^ASTO [email protected]]IMI TRUDNOSTQMI
(SM.rAZDEL 32.2 [nEPOLADKI],S.372),A TAKVE KOGDA I KAK NUVNO SOOB]ATX OB O[IBKAH W
Emacs (SM.rAZDEL 32.3 [o[IBKI W Emacs],S.375).
~TOBY OTYSKATX [email protected] NA [email protected] KOMANDU,ZAGLQNITE W IMENNOJ UKAZATELX.
[email protected]^I (LITERALXNYE KOMANDY) I IMENA KOMAND PERE^ISLENY W OTDELXNYH IMENNYH UKAZA-
TELQH.tAKVE IMEETSQ SLOWARX S PEREKRESTNYMI SSYLKAMI NA KAVDYJ TERMIN.
dANNOE RUKOWODSTWO DOSTUPNO W PE^ATNOJ FORME I W WIDE Info-FAJLA.Info-FAJL SLU-
VIT DLQ DIALOGOWOGO ^TENIQ S PROGRAMMOJ Info;\TO BUDET PERWI^NYM SPOSOBOM PROSMOTRA
INTERAKTIWNOJ DOKUMENTACII W SISTEME GNU.i\TOT Info-FAJL,I SAMA PROGRAMMA Info RAS-
[email protected] WMESTE S GNU Emacs.pE^ATNAQ KNIGA I Info-FAJL SODERVAT PO SUTI ODIN
TOT VE TEKST I [email protected] IZ OB]EGO ISHODNOGO FAJLA,KOTORYJ TAKVE RASPROSTRANQETSQ
WMESTE S GNU Emacs.
GNU Emacs | ^LEN SEMEJSTWA Emacs-REDAKTOROW,NAS^[email protected]]EGO BOLX[OE ^ISLO RE-
DAKTOROW,POSTROENNYH NA OB]IH ORGANIZACIONNYH PRINCIPAH.~TOBY PO^ITATX O FILOSO-
FII,LEVA]EJ W OSNOWE Emacs,I UROKAH,POLU^ENNYH IZ EGO RAZWITIQ,WYPI[ITE [email protected] AI
memo 519a"Emacs,the Extensible,customizable Self-Documenting Display Editor",W Publica-
tion Department,ArtiпЂЊcial Intelligence Lab,545 Tech Square,Cambridge,MA 02139,USA.pO
POSLEDNIM SOOB]ENIQM ONI STOILI $2.25 ZA [email protected] POLEZNAQ PUBLIKACIQ |\TO LCS
TM-165,"A Cookbook for an Emacs",Craig Finseth,DOSTUPNAQ IZ Publication Department,
Laboratory for Computer Seince,543 Tech Square,Cambridge,MA 02139,USA.sEGODNQ[NQQ
CENA $3.
|TA REDAKCIQ RUKOWODSTWA PREDNAZNA^ENA DLQ ISPOLXZOWANIQ S GNU Emacs,USTANOWLEN-
NOM W SISTEMAH GNU I Unix.GNU Emacs TAKVE MOVNO ISPOLXZOWATX W SISTEMAH VMS,
MS-DOS (INA^E NAZYWAEMOJ MS-DOG),Windows NT I Windows 95.|TI SISTEMY PRIDER-
[email protected] DRUGOGO SINTAKSISA IMEN FAJLOW;KROME TOGO,VMS I MS-DOS NE [email protected]
WSEH WOZMOVNOSTEJ GNU Emacs.w\TOM RUKOWODSTWE MY NE PYTAEMSQ OPISATX PRIMENENIE
Emacs W SISTEME VMS.dLQ POLU^ENIQ INFORMACII OB ISPOLXZOWANII Emacs W MS-DOS
SMOTRITE pRILOVENIE C [MS-DOS],S.403.
4 rUKOWODSTWO PO GNU Emacs
rASPROSTRANENIE 5rASPROSTRANENIE
GNU Emacs |SWOBODNAQ PROGRAMMA;\TO ZNA^IT,^TO WSQKIJ MOVET SWOBODNO ISPOLXZO-
WATX I POWTORNO RASPROSTRANQTX EGO PRI [email protected] OPREDELENNYH USLOWIJ.GNU Emacs
NE QWLQETSQ OB]ESTWENNYM DOSTOQNIEM;NA NEGO [email protected] AWTORSKIE PRAWA,I NA EGO RAS-
PROSTRANENIE ESTX OGRANI^ENIQ,NO\TI OGRANI^ENIQ RAZRABOTANY TAK,^TOBY POZWOLITX
WSE,^TO MOVET ZAHOTETX HORO[IJ BLAGONAMERENNYJ GRAVDANIN.~TO NE RAZRE[AETSQ,TAK
\TO PYTATXSQ ME[ATX DRUGIM I DALEE SOWMESTNO POLXZOWATXSQ [email protected] WERSIEJ GNU Emacs,
[email protected] ONI MOGLI BY OT WAS POLU^ITX.tO^NYE USLOWIQ NAHODQTSQ W uNIWERSALXNOJ oB-
]ESTWENNOJ lICENZII GNU,KOTORAQ POSTAWLQETSQ S Emacs I TAKVE IDET W [email protected]]EM
RAZDELE.
oDIN IZ SPOSOBOW POLU^ITX [email protected] GNU Emacs | WZQTX EE KOGO-TO,U KOGO Emacs UVE
ESTX.wAM NE NUVNO PROSITX NA[EGO RAZRE[ENIQ LIBO ^TO-TO E]E,PROSTO SKOPIRUJTE EE.
eSLI WY IMEETE DOSTUP K Internet,WY MOVETE POLU^ITX [email protected]@ [email protected] DISTRIBUTIWA
GNU Emacs PO ANONIMNOMU FTP;PODROBNOSTI SMOTRITE W FAJLE`etc/FTP'W POSTAWKE
Emacs.
wY MOVETE TAKVE POLU^ITX GNU Emacs,KOGDA POKUPAETE [email protected]
[email protected] MOGUT RASPROSTRANQTX KOPII NA TEH VE SAMYH USLOWIQH,^TO I WSE OSTALXNYE.
|TI USLOWIQ [email protected] OT NIH DATX WAM POLNYE ISHODNYE TEKSTY,[email protected]^AQ [email protected] IZMENE-
NIQ,SDELANNYE IMI,I RAZRE[ITX WAM RASPROSTRANQTX POLU^ENNYJ OT NIH GNU Emacs
SOGLASNO OBY^NYM USLOWIQM uNIWERSALXNOJ oB]ESTWENNOJ lICENZII.dRUGIMI SLOWAMI,
\TA PROGRAMMA DOLVNA BYTX SWOBODNOJ DLQ WAS,KOGDA WY EE POLU^AETE,A NE TOLXKO SWO-
BODNOJ DLQ PROIZWODITELEJ.
wY TAKVE MOVETE ZAKAZATX KOPII GNU Emacs U fONDA sWOBODNOGO po NA KOMPAKT-
DISKE.|TO UDOBNYJ I NADEVNYJ SPOSOB POLU^ITX [email protected];\TO TAKVE HORO[IJ SPOSOB
POMO^X SREDSTWAMI NA[EJ RABOTE.(fOND WSEGDA POLU^AL BOLX[[email protected] ^ASTX SREDSTW TAKIM
SPOSOBOM.) fORMA ZAKAZA [email protected]^ENA W FAJL`etc/ORDERS'W POSTAWKE Emacs,ONA ESTX I NA
NA[EM Web-SAJTEhttp://www.gnu.org/order/order.html.dLQ POLU^ENIQ DOPOLNITELX-
NOJ INFORMACII PI[ITE PO ADRESU
Free Software Foundation
59 Temple Place,Suite 330
Boston,MA 02111-1307 USA
USA
dOHOD OT PLATY ZA RASPROSTRANENIE IDET NA PODDERVKU CELEJ FONDA:RAZRABOTKI NO-
WOGO SWOBODNOGO PROGRAMMNOGO OBESPE^ENIQ I RAZWITIQ NA[IH SU][email protected]]IH PROGRAMM,
[email protected]^AQ GNU Emacs.
eSLI WY NAHODITE GNU Emacs POLEZNYM,POVALUJSTA PRI[LITE WZNOS W fOND sWOBOD-
NOGO PROGRAMMNOGO OBESPE^ENIQ,^TOBY PODDERVATX NA[U RABOTU.pOVERTWOWANIQ W fOND
sWOBODNOGO po W s{a [email protected] NALOGOWOJ SKIDKOJ.eSLI WY ISPOLXZUETE GNU Emacs
NA RABOTE,POVALUJSTA,PREDLOVITE WA[EJ KOMPANII SDELATX WZNOS.eSLI POLITIKA KOM-
PANII [email protected] OTNOSITSQ K IDEE POVERTWOWANIQ BLAGOTWORITELXNOJ ORGANIZACII,WY
MOVETE WMESTO\TOGO PREDLOVITX WREMQ OT WREMENI ZAKAZYWATX U fONDA sWOBODNOGO po
KOMPAKT-DISKI ILI PODPISATXSQ NA REGULQRNYE OBNOWLENIQ.
w RAZRABOTKE GNU Emacs PRINIMALI U^ASTIE pER aBRAHAMSEN,dVEJ k.aDAMS,dVO
aRSENO,bOAZ bEN-cWI,dVIM bL\NDI,d\WID m.bRAUN,tERENS m.bRENON,pITER bRETON,
fR\NK bREC,kEWIN bRODI,wINSENT bROMAN,nEJL w.wAN dAJK,mORTEN wELINDER,uLXRIK
wIET,mAJK wILXQMS,rODNI wITBI,fELIKS s.t.wU,sTIWEN a.wUD,bARRI wORSO,dVO-
AN wROMANS,tOM wURGLER,kEJT gABRI\LXSKI,kEWIN gALAHER,kEWIN gALLO,dUG gWIN,
gOWARD gEJL,aNRI gIJOM,d\WID gILLESPI,sTIWEN gILXDI,bOB gLIKSTAJN,bORIS gOL-
DOWSKI,mIKELANDVELO gRIGNI,mAJKL g[WIND,mATXE dEWIN,mAJKL dEkORTE,gARI dELP,
kAJL dVONS,mAJKL k.dVONSON,|RIK dING,kARSTEN dOMINIK,sKOTT dREJWS,wIKTOR
6 rUKOWODSTWO PO GNU EmacsdUHOWNI,dVEMI zAWINSKI,|LI zARECKIJ,nIL zIRING,wILXQM zOMMERFELXD,lARS iN-
GEBRIGTSEN,|[email protected] iNNES,dVON iTON,tOMODZI kAGATANI,gOWARD kAJE,mAJKL kAJFER,
[email protected] kALE,bILL kARPENTER,dUG kATING,dAWID kAUFMAN,gENRI kAUC,dVEF k<NING,
rI^ARD kING,dVEJMS kLARK,mAJK kLARKSON,gLIN kLEMENTS,d\WID kOGEDAL,lARRI k.
kOLODNI,rOBERT kRAWIC,sEBASTIAN kREMER,|[email protected] kSILAG,dANIELX lAlIBERT,aARON
lARSON,dVEJMS r.lARUS,fREDERIK lEPXE,lARS lINDBERG,|RIK lUDLAM,rOLAND mAK-
gRAT,bILL mANN,kEN mANHAJMER,bRAJAN mARIK,bENGT mARTENSON,~ARLI mARTIN,
sAJMON mAR[ALL,d\WID mEGGINSON,tOMAS mEJ,nEJL m.mEJGER,wEJN mESARD,rI^ARD
mLINARIK,kEJT mUR,|RIK nAGGUM,`RGEN nIKELXSEN,tOMAS nOJMAN,dVEFF nORDEN,
|[email protected] nORMAN,mAJK [email protected],dVEFF pEK,dAMON aNTON pERMEZELX,tOM pERRIN,jENS
pETERSEN,kRISTIAN pLONT,fRAN^ESKO pOTORTI,mAJKL d.pRANDV,d\NIEL pFAJFER,
fRED pXERESTEGAJ,|[WIN rAM,pOL rEJLI,|RIK s.rEJMOND,|DWARD m.rEJNGOLXD,rOB
rIPEL,rOLAND b.rOBERTS,dVON rOBINSON,gILERMO h.rOZAS,wILXQM rOZENBLAT,dEN-
NI rOZENDALX,iWAR rUMMELHOF,wOLXFGANG rUPREHT,mASAHIKO sATO,mANU\LX sERRANO,
|SPEN sKOGLUND,rIK sLADKI,lINN sLEJTER,d\WID sMIT,kRIS sMIT,pOL d.sMIT,
mAJKL sTATS,aKE sTENHOFF,pITER sTEFENSON,dVONATAN sTIGELXMAN,sTIW sTRASSMAN,
dVEJMS b.s\LEM,jENS t.bERGER tI\LXMAN,sPENSER tOMAS,dVIM tOMPSON,|D uILKIN-
SON,mASANOBU uMEDA,dEJL r.uORLI,dVOZEF bRAJAN u\LLS,fREDERIK fERNBAK,fRED
fI[,kARL fOGELX,dVEFRI fOLXKER,gARI fOSTER,nOJ fRIDMEN,dVON hAJDEMAN,kE-
NI^I hANDA,k.{EJN hARTMAN,mARKUS hERI^,mANABU hIGASIDA,kARL hOJER,aNDERS
hOLST,kURT hORNIK,tOM hULDER,kRIS h\NSON,rETO cIMMERMAN,qN t.cIMMERMAN,
sTANISLAW {ALUNOW,mARK {APIRO,r\NDEL {WARC,wILXQM {ELTER,rI^ARD {ERMAN,
oLIN {IWERS,rALXF {LAJHER,gREGOR {MID,mAJKL {MIDT,rONALXD s.{NELX,fILIPP
{NOBELEN,sTEFAN {O\F,sEMA {TEJNGOLXD,gANS ~ALUPSKI,bOB ~ASSEL,rOLXF |BERT,
sTIWEN |GLEN,tORBXORN |JNARSON,cUGUTOMO |NAMI,gANS gENRIK |RIKSEN,mAJKL |RNST
I aTA |TEMADI.
GNU GENERAL PUBLIC LICENSE 7GNU GENERAL PUBLIC LICENSE
Version 2,June 1991
Copyright c1989,1991 Free Software Foundation,Inc.
59 Temple Place,Suite 330,Boston,MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document,but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change
it.By contrast,the GNU General Public License is intended to guarantee your freedom to share
and change free software|to make sure the software is free for all its users.This General Public
License applies to most of the Free Software Foundation's software and to any other program
whose authors commit to using it.(Some other Free Software Foundation software is covered
by the GNU Library General Public License instead.) You can apply it to your programs,too.
When we speak of free software,we are referring to freedom,not price.Our General Public
Licenses are designed to make sure that you have the freedom to distribute copies of free
software (and charge for this service if you wish),that you receive source code or can get it if
you want it,that you can change the software or use pieces of it in new free programs;and that
you know you can do these things.
To protect your rights,we need to make restrictions that forbid anyone to deny you these
rights or to ask you to surrender the rights.These restrictions translate to certain responsibili-
ties for you if you distribute copies of the software,or if you modify it.
For example,if you distribute copies of such a program,whether gratis or for a fee,you must
give the recipients all the rights that you have.You must make sure that they,too,receive or
can get the source code.And you must show them these terms so they know their rights.
We protect your rights with two steps:(1) copyright the software,and (2) oпЂ‹er you this
license which gives you legal permission to copy,distribute and/or modify the software.
Also,for each author's protection and ours,we want to make certain that everyone under-
stands that there is no warranty for this free software.If the software is modiпЂЊed by someone
else and passed on,we want its recipients to know that what they have is not the original,so
that any problems introduced by others will not reect on the original authors'reputations.
Finally,any free program is threatened constantly by software patents.We wish to avoid the
danger that redistributors of a free program will individually obtain patent licenses,in eпЂ‹ect
making the program proprietary.To prevent this,we have made it clear that any patent must
be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying,distribution and modiпЂЊcation follow.
TERMS AND CONDITIONS FOR COPYING,
DISTRIBUTION AND MODIFICATION
0.This License applies to any program or other work which contains a notice placed by
the copyright holder saying it may be distributed under the terms of this General Public
License.The\Program",below,refers to any such program or work,and a\work based
on the Program"means either the Program or any derivative work under copyright law:
that is to say,a work containing the Program or a portion of it,either verbatim or with
modiпЂЊcations and/or translated into another language.(Hereinafter,translation is included
without limitation in the term\modiпЂЊcation".) Each licensee is addressed as\you".
8 rUKOWODSTWO PO GNU EmacsActivities other than copying,distribution and modiпЂЊcation are not covered by this License;
they are outside its scope.The act of running the Program is not restricted,and the output
from the Program is covered only if its contents constitute a work based on the Program
(independent of having been made by running the Program).Whether that is true depends
on what the Program does.
1.You may copy and distribute verbatim copies of the Program's source code as you receive
it,in any medium,provided that you conspicuously and appropriately publish on each copy
an appropriate copyright notice and disclaimer of warranty;keep intact all the notices that
refer to this License and to the absence of any warranty;and give any other recipients of
the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy,and you may at your
option oпЂ‹er warranty protection in exchange for a fee.
2.You may modify your copy or copies of the Program or any portion of it,thus forming a
work based on the Program,and copy and distribute such modiпЂЊcations or work under the
terms of Section 1 above,provided that you also meet all of these conditions:
a.You must cause the modiпЂЊed пЂЊles to carry prominent notices stating that you changed
the пЂЊles and the date of any change.
b.You must cause any work that you distribute or publish,that in whole or in part
contains or is derived from the Program or any part thereof,to be licensed as a whole
at no charge to all third parties under the terms of this License.
c.If the modiпЂЊed program normally reads commands interactively when run,you must
cause it,when started running for such interactive use in the most ordinary way,to
print or display an announcement including an appropriate copyright notice and a
notice that there is no warranty (or else,saying that you provide a warranty) and that
users may redistribute the program under these conditions,and telling the user how
to view a copy of this License.(Exception:if the Program itself is interactive but does
not normally print such an announcement,your work based on the Program is not
required to print an announcement.)
These requirements apply to the modiпЂЊed work as a whole.If identiпЂЊable sections of that
work are not derived from the Program,and can be reasonably considered independent
and separate works in themselves,then this License,and its terms,do not apply to those
sections when you distribute them as separate works.But when you distribute the same
sections as part of a whole which is a work based on the Program,the distribution of the
whole must be on the terms of this License,whose permissions for other licensees extend
to the entire whole,and thus to each and every part regardless of who wrote it.
Thus,it is not the intent of this section to claim rights or contest your rights to work
written entirely by you;rather,the intent is to exercise the right to control the distribution
of derivative or collective works based on the Program.
In addition,mere aggregation of another work not based on the Program with the Program
(or with a work based on the Program) on a volume of a storage or distribution medium
does not bring the other work under the scope of this License.
3.You may copy and distribute the Program (or a work based on it,under Section 2) in
object code or executable form under the terms of Sections 1 and 2 above provided that
you also do one of the following:
a.Accompany it with the complete corresponding machine-readable source code,which
must be distributed under the terms of Sections 1 and 2 above on a medium custom-
arily used for software interchange;or,
b.Accompany it with a written oпЂ‹er,valid for at least three years,to give any third
party,for a charge no more than your cost of physically performing source distribution,
a complete machine-readable copy of the corresponding source code,to be distributed
GNU GENERAL PUBLIC LICENSE 9under the terms of Sections 1 and 2 above on a medium customarily used for software
interchange;or,
c.Accompany it with the information you received as to the oпЂ‹er to distribute corre-
sponding source code.(This alternative is allowed only for noncommercial distribution
and only if you received the program in object code or executable form with such an
oпЂ‹er,in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modiпЂЊcations
to it.For an executable work,complete source code means all the source code for all
modules it contains,plus any associated interface deпЂЊnition пЂЊles,plus the scripts used to
control compilation and installation of the executable.However,as a special exception,the
source code distributed need not include anything that is normally distributed (in either
source or binary form) with the major components (compiler,kernel,and so on) of the
operating system on which the executable runs,unless that component itself accompanies
the executable.
If distribution of executable or object code is made by oпЂ‹ering access to copy from a
designated place,then oпЂ‹ering equivalent access to copy the source code from the same
place counts as distribution of the source code,even though third parties are not compelled
to copy the source along with the object code.
4.You may not copy,modify,sublicense,or distribute the Program except as expressly pro-
vided under this License.Any attempt otherwise to copy,modify,sublicense or distribute
the Program is void,and will automatically terminate your rights under this License.How-
ever,parties who have received copies,or rights,from you under this License will not have
their licenses terminated so long as such parties remain in full compliance.
5.You are not required to accept this License,since you have not signed it.However,nothing
else grants you permission to modify or distribute the Program or its derivative works.
These actions are prohibited by law if you do not accept this License.Therefore,by
modifying or distributing the Program (or any work based on the Program),you indicate
your acceptance of this License to do so,and all its terms and conditions for copying,
distributing or modifying the Program or works based on it.
6.Each time you redistribute the Program (or any work based on the Program),the recipient
automatically receives a license from the original licensor to copy,distribute or modify
the Program subject to these terms and conditions.You may not impose any further
restrictions on the recipients'exercise of the rights granted herein.You are not responsible
for enforcing compliance by third parties to this License.
7.If,as a consequence of a court judgment or allegation of patent infringement or for any
other reason (not limited to patent issues),conditions are imposed on you (whether by
court order,agreement or otherwise) that contradict the conditions of this License,they do
not excuse you from the conditions of this License.If you cannot distribute so as to satisfy
simultaneously your obligations under this License and any other pertinent obligations,
then as a consequence you may not distribute the Program at all.For example,if a patent
license would not permit royalty-free redistribution of the Program by all those who receive
copies directly or indirectly through you,then the only way you could satisfy both it and
this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circum-
stance,the balance of the section is intended to apply and the section as a whole is intended
to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property
right claims or to contest validity of any such claims;this section has the sole purpose of
protecting the integrity of the free software distribution system,which is implemented by
public license practices.Many people have made generous contributions to the wide range
of software distributed through that system in reliance on consistent application of that
10 rUKOWODSTWO PO GNU Emacssystem;it is up to the author/donor to decide if he or she is willing to distribute software
through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of
the rest of this License.
8.If the distribution and/or use of the Program is restricted in certain countries either by
patents or by copyrighted interfaces,the original copyright holder who places the Program
under this License may add an explicit geographical distribution limitation excluding those
countries,so that distribution is permitted only in or among countries not thus excluded.
In such case,this License incorporates the limitation as if written in the body of this
License.
9.The Free Software Foundation may publish revised and/or new versions of the General
Public License from time to time.Such new versions will be similar in spirit to the present
version,but may diпЂ‹er in detail to address new problems or concerns.
Each version is given a distinguishing version number.If the Program speciпЂЊes a version
number of this License which applies to it and\any later version",you have the option of
following the terms and conditions either of that version or of any later version published
by the Free Software Foundation.If the Program does not specify a version number of this
License,you may choose any version ever published by the Free Software Foundation.
10.If you wish to incorporate parts of the Program into other free programs whose distribution
conditions are diпЂ‹erent,write to the author to ask for permission.For software which
is copyrighted by the Free Software Foundation,write to the Free Software Foundation;
we sometimes make exceptions for this.Our decision will be guided by the two goals of
preserving the free status of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
11.BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE,THERE IS NO WAR-
RANTY FOR THE PROGRAM,TO THE EXTENT PERMITTED BY APPLICABLE
LAW.EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM\AS IS"WITH-
OUT WARRANTY OF ANY KIND,EITHER EXPRESSEDOR IMPLIED,INCLUDING,
BUT NOT LIMITED TO,THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE.THE ENTIRE RISK AS TO THE
QUALITY AND PERFORMANCE OF THE PROGRAMIS WITH YOU.SHOULD THE
PROGRAM PROVE DEFECTIVE,YOU ASSUME THE COST OF ALL NECESSARY
SERVICING,REPAIR OR CORRECTION.
12.IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER,OR ANY OTHER PARTY WHO MAY
MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE,BE
LIABLE TO YOU FOR DAMAGES,INCLUDING ANY GENERAL,SPECIAL,INCI-
DENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR IN-
ABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
WITH ANY OTHER PROGRAMS),EVEN IF SUCH HOLDER OR OTHER PARTY
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
GNU GENERAL PUBLIC LICENSE 11How to Apply These Terms to Your New Programs
If you develop a new program,and you want it to be of the greatest possible use to the
public,the best way to achieve this is to make it free software which everyone can redistribute
and change under these terms.
To do so,attach the following notices to the program.It is safest to attach them to the start
of each source пЂЊle to most eпЂ‹ectively convey the exclusion of warranty;and each пЂЊle should
have at least the\copyright"line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does.
Copyright (C) 19yy name of author
This program 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
of the License,or (at your option) any later version.
This program 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 this program;if not,write to the Free Software Foundation,Inc.,
59 Temple Place,Suite 330,Boston,MA 02111-1307,USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive,make it output a short notice like this when it starts in an
interactive mode:
Gnomovision version 69,Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY;for details
type`show w'.This is free software,and you are welcome
to redistribute it under certain conditions;type`show c'
for details.
The hypothetical commands`show w'and`show c'should show the appropriate parts of the
General Public License.Of course,the commands you use may be called something other than
`show w'and`show c';they could even be mouse-clicks or menu items|whatever suits your
program.
You should also get your employer (if you work as a programmer) or your school,if any,to
sign a\copyright disclaimer"for the program,if necessary.Here is a sample;alter the names:
Yoyodyne,Inc.,hereby disclaims all copyright
interest in the program`Gnomovision'
(which makes passes at compilers) written
by James Hacker.
signature of Ty Coon,1 April 1989
Ty Coon,President of Vice
This General Public License does not permit incorporating your program into proprietary
programs.If your program is a subroutine library,you may consider it more useful to permit
linking proprietary applications with the library.If this is what you want to do,use the GNU
Library General Public License instead of this License.
12 rUKOWODSTWO PO GNU Emacs
uniwersalxnaq ob}estwennaq licenziq GNU 13uniwersalxnaq ob}estwennaq
licenziq GNU
wERSIQ 2,[email protected] 1991
Copyright c1989,1991 Free Software Foundation,Inc.
59 Temple Place,Suite 330,Boston,MA 02111-1307 USA
c
pEREWOD.o.w.kUZINA,w.m.`FA,1993
cpEREWOD.o.s.tIHONOW,1998
|TOT DOKUMENT MOVNO KOPIROWATX,A TAKVE RASPROSTRANQTX EGO
DOSLOWNYE KOPII,ODNAKO WNOSITX W NEGO IZMENENIQ ZAPRE]ENO.
pREAMBULA
lICENZII NA BOLX[[email protected] ^ASTX PROGRAMMNOGO OBESPE^ENIQ (po) SOSTAWLENY TAK,^TOBY
LI[ITX WAS SWOBODY SOWMESTNO ISPOLXZOWATX I IZMENQTX EGO.w PROTIWOPOLOVNOSTX\TOMU,
PREDNAZNA^ENIE uNIWERSALXNOJ oB]ESTWENNOJ lICENZII GNU SOSTOIT W TOM,^TOBY GARAN-
TIROWATX WA[U SWOBODU SOWMESTNO ISPOLXZOWATX I IZMENQTX SWOBODNOE po,T.E.OBESPE^ITX
SWOBODU po DLQ WSEH EGO POLXZOWATELEJ.dANNAQ uNIWERSALXNAQ oB]ESTWENNAQ lICENZIQ
PRIMENIMA K BOLX[EJ ^ASTI po fONDA sWOBODNOGO po I KO WSEM DRUGIM PROGRAMMAM,^XI
AWTORY [email protected] NA SEBQ OBQZATELXSTWO EE ISPOLXZOWATX.(dLQ NEKOTORYH PROGRAMM fON-
DA sWOBODNOGO po WMESTO NEE PRIMENQETSQ uNIWERSALXNAQ oB]ESTWENNAQ lICENZIQ GNU
DLQ BIBLIOTEK.) wY TOVE MOVETE PRIMENITX EE K SWOIM PROGRAMMAM.
kOGDA MY GOWORIM O SWOBODNOM po,MY IMEEM W WIDU SWOBODU,A NE BESPLATNOSTX.nA[I
uNIWERSALXNYE oB]ESTWENNYE lICENZII RAZRABATYWALISX DLQ TOGO,^TOBY GARANTIROWATX,
^TO WY POLXZUETESX SWOBODOJ RASPROSTRANQTX KOPII SWOBODNOGO po (I PRI VELANII POLU-
^ATX ZA\TO WOZNAGRAVDENIE);^TO WY POLU^AETE ISHODNYJ KOD ILI MOVETE POLU^ITX EGO,
ESLI ZAHOTITE;^TO WY MOVETE IZMENQTX po ILI ISPOLXZOWATX EGO ^ASTI W NOWYH SWOBODNYH
PROGRAMMAH;I ^TO WY ZNAETE OBO WSEH\TIH PRAWAH.
~TOBY ZA]ITITX WA[I PRAWA,NAM NUVNO WWESTI NEKOTORYE OGRANI^ENIQ,KOTORYE ZAPRE-
TQT KOMU BY TO NI BYLO OTKAZYWATX WAM W\TIH PRAWAH ILI POTREBOWATX OT WAS OTKAZATXSQ
OT\TIH PRAW.|TI OGRANI^ENIQ [email protected] NA WAS NEKOTORYE OBQZATELXSTWA,ESLI WY
RASPROSTRANQETE KOPII po ILI IZMENQETE EGO.
nAPRIMER,ESLI WY RASPROSTRANQETE KOPII TAKOJ PROGRAMMY BESPLATNO ILI ZA WOZ-
NAGRAVDENIE,WY DOLVNY PREDOSTAWITX POLU^ATELQM WSE PRAWA,KOTORYMI OBLADAETE WY
SAMI.wY DOLVNY GARANTIROWATX,^TO ONI TOVE POLU^AT ILI SMOGUT POLU^ITX ISHODNYJ
KOD.nAKONEC,WY DOLVNY POKAZATX IM TEKST DANNYH USLOWIJ,^TOBY ONI ZNALI O SWOIH
PRAWAH.
mY ZA]I]AEM WA[I PRAWA W DWA\TAPA:(1) SOHRANQEM AWTORSKIE PRAWA NA po I (2) PRED-
LAGAEM WAM\TU [email protected],KOTORAQ DAET WAM ZAKONNOE PRAWO KOPIROWATX,RASPROSTRANQTX
I/ILI MODIFICIROWATX po.
kROME TOGO,W CELQH ZA]ITY KAK KAVDOGO AWTORA,TAK I NAS,MY HOTIM UDOSTOWERITXSQ,
^TO KAVDYJ PONIMAET,^TO GARANTIJ NA\TO SWOBODNOE po NET.eSLI po MODIFICIRUETSQ I
PEREDAETSQ KEM-TO E]E,MY HOTIM,^TOBY POLU^ATELI po ZNALI,^TO TO,^TO U NIH ESTX,|
\TO NE ORIGINAL,^TOBY [email protected] PROBLEMY,SOZDANNYE DRUGIMI,NE OTRAZILISX NA REPUTACII
PERWONA^ALXNYH AWTOROW.
i NAKONEC,KAVDOJ SWOBODNOJ PROGRAMME POSTOQNNO [email protected] PATENTY NA po.mY
HOTIM IZBEVATX TOJ OPASNOSTI,^TO POWTORNYE RASPROSTRANITELI SWOBODNOJ PROGRAMMY
SAMOSTOQTELXNO POLU^AT PATENTY,DELAQ PROGRAMMU TAKIM OBRAZOM ^ASTNOJ SOBSTWENNO-
[email protected]~TOBY PREDOTWRATITX\TO,MY SO WSEJ [email protected] ZAQWLQEM,^TO [email protected] PATENT
DOLVEN BYTX LIBO PREDOSTAWLEN WSEM DLQ SWOBODNOGO ISPOLXZOWANIQ,LIBO NE PREDOSTAWLEN
NIKOMU.
14 rUKOWODSTWO PO GNU EmacsnIVE [email protected] TO^NYE OPREDELENIQ I USLOWIQ DLQ KOPIROWANIQ,RASPROSTRANENIQ I MO-
DIFIKACII.
opredeleniq i uslowiq dlq kopirowaniq,
rasprostraneniq i modifikacii
0.|TA lICENZIQ PRIMENIMA K [email protected] PROGRAMME ILI DRUGOMU [email protected],SODERVA]E-
MU UWEDOMLENIE,POME]ENNOE DERVATELEM AWTORSKIH PRAW I SOOB][email protected]]EE O TOM,^TO
ONO MOVET RASPROSTRANQTXSQ PRI USLOWIQH,OGOWORENNYH W DANNOJ uNIWERSALXNOJ oB-
]ESTWENNOJ lICENZII.w DALXNEJ[EM TERMIN\pROGRAMMA"OTNOSITSQ K [email protected] TA-
KOJ PROGRAMME ILI [email protected],A TERMIN\PROIZWEDENIE,OSNOWANNOE NA pROGRAMME"
OZNA^AET pROGRAMMU ILI [email protected] PROIZWEDENIE,SODERVA]EE pROGRAMMU ILI EE ^ASTX,
[email protected],ILI [email protected],I/ILI [email protected] NA DRUGOJ QZYK.(zDESX I
DALEE PEREWOD [email protected]^AETSQ BEZ OGRANI^ENIJ W PONQTIE\MODIFIKACIQ".) kAVDYJ OBLA-
DATELX LICENZII ADRESUETSQ KAK\WY".
wIDY DEQTELXNOSTI,NE [email protected]]IESQ KOPIROWANIEM,RASPROSTRANENIEM ILI MODIFIKA-
CIEJ,NE [email protected] DANNOJ lICENZIEJ;ONI LEVAT ZA PREDELAMI EE WLIQNIQ.iS-
POLXZOWANIE pROGRAMMY PO EE FUNKCIONALXNOMU NAZNA^[email protected] NE OGRANI^ENO,A WYHOD-
NYE DANNYE pROGRAMMY [email protected]\TOJ lICENZIEJ,TOLXKO ESLI IH SODERVANIE
QWLQETSQ PROIZWEDENIEM,OSNOWANNYM NA pROGRAMME (WNE ZAWISIMOSTI OT TOGO,BYLI
LI ONI POLU^ENY W PROCESSE ISPOLXZOWANIQ pROGRAMMY)[email protected] LI ONI TAKOWYMI,
ZAWISIT OT TOGO,^TO IMENNO DELAET pROGRAMMA.
1.wY MOVETE KOPIROWATX I RASPROSTRANQTX DOSLOWNYE KOPII ISHODNOGO KODA pROGRAMMY
PO EGO POLU^ENII NA [email protected] NOSITELE,PRI USLOWII ^TO WY [email protected]]IM OBRA-
ZOM POME]AETE NA WIDNOM MESTE W KAVDOJ KOPII [email protected]]EE UWEDOMLENIE OB
AWTORSKIH PRAWAH I OTKAZ OT PREDOSTAWLENIQ GARANTIJ;OSTAWLQETE NETRONUTYMI WSE
UWEDOMLENIQ,OTNOSQ]IESQ K DANNOJ lICENZII I K [email protected] KAKIH-LIBO GARANTIJ;
I PEREDAETE WSEM DRUGIM POLU^ATELQM pROGRAMMY [email protected] DANNOJ lICENZII WMESTE S
pROGRAMMOJ.
wY MOVETE NAZNA^ITX PLATU ZA FIZI^ESKIJ AKT PEREDA^I KOPII I MOVETE PO SWOEMU
[email protected] PREDOSTAWLQTX GARANTII ZA WOZNAGRAVDENIE.
2.wY MOVETE IZMENQTX [email protected] [email protected] ILI KOPII pROGRAMMY ILI [email protected] EE ^ASTI,SOZDAWAQ
TAKIM OBRAZOM PROIZWEDENIE,OSNOWANNOE NA pROGRAMME,I KOPIROWATX I RASPROSTRA-
NQTX\TI MODIFIKACII ILI PROIZWEDENIE W SOOTWETSTWII S rAZDELOM 1,PRIWEDENNYM
WY[E,PRI USLOWII,^TO WY WYPOLNITE WSE [email protected]]IE USLOWIQ:
a.wY OBQZANY SNABDITX MODIFICIROWANNYE FAJLY ZAMETNYMI UWEDOMLENIQMI,SO-
DERVA]IMI UKAZANIQ NA TO,^TO WY IZMENILI FAJLY,I DATU KAVDOGO IZMENENIQ.
b.wY OBQZANY PREDOSTAWITX WSEM TRETXIM LICAM [email protected] NA BESPLATNOE ISPOLXZO-
WANIE KAVDOGO PROIZWEDENIQ,KOTOROE WY RASPROSTRANQETE ILI PUBLIKUETE,CELI-
KOM,I KOTOROE [email protected] ILI ^ASTI^NO SODERVIT pROGRAMMU ILI [email protected] EE
^ASTX,NA USLOWIQH,OGOWORENNYH W DANNOJ lICENZII.
c.eSLI MODIFICIROWANNAQ PROGRAMMA OBY^NO ^ITAET KOMANDY W INTERAKTIWNOM RE-
VIME RABOTY,WY DOLVNY SDELATX TAK,^TOBY PRI ZAPUSKE DLQ RABOTY W TAKOM
INTERAKTIWNOM REVIME OBY^NYM DLQ NEE SPOSOBOM ONA PE^ATALA ILI WYWODILA NA
\KRAN OB_QWLENIE,SODERVA]EE [email protected]]EE UWEDOMLENIE OB AWTORSKIH PRAWAH
I UWEDOMLENIE O TOM,^TO GARANTIJ NET (ILI,NAOBOROT,SOOB][email protected]]EE O TOM,^TO WY
OBESPE^IWAETE GARANTII),I ^TO POLXZOWATELI MOGUT POWTORNO RASPROSTRANQTX PRO-
GRAMMU PRI\TIH USLOWIQH,I [email protected]]EE [email protected],KAK PROSMOTRETX [email protected]
DANNOJ lICENZII.([email protected]^ENIE:ESLI SAMA pROGRAMMA RABOTAET W INTERAKTIW-
NOM REVIME,NO OBY^NO NE WYWODIT PODOBNYH SOOB]ENIJ,TO WA[E PROIZWEDENIE,
OSNOWANNOE NA pROGRAMME,NE OBQZANO WYWODITX OB_QWLENIE.)
uniwersalxnaq ob}estwennaq licenziq GNU 15|TI TREBOWANIQ [email protected] K MODIFICIROWANNOMU [email protected] W CELOM.eSLI IZ-
WESTNYE ^ASTI\TOGO PROIZWEDENIQ NE BYLI OSNOWANY NA pROGRAMME I MOGUT OBOSNOWAN-
NO S^ITATXSQ NEZAWISIMYMI I SAMOSTOQTELXNYMI PROIZWEDENIQMI,TO\TA lICENZIQ I
EE USLOWIQ NE [email protected] NA\TI ^ASTI,ESLI WY RASPROSTRANQETE IH KAK OTDELX-
NYE PROIZWEDENIQ.nO ESLI WY RASPROSTRANQETE\TI ^ASTI KAK ^ASTX CELOGO PROIZWEDE-
NIQ,OSNOWANNOGO NA pROGRAMME,TO WY OBQZANY DELATX\TO W SOOTWETSTWII S USLOWIQMI
DANNOJ lICENZII,RASPROSTRANQQ PRAWA POLU^ATELEJ LICENZII NA WSE PROIZWEDENIE I,
TAKIM OBRAZOM,NA [email protected] ^ASTX,WNE ZAWISIMOSTI OT TOGO,KTO EE NAPISAL.
tAKIM OBRAZOM,SODERVANIE\TOGO RAZDELA NE IMEET CELI PRETENDOWATX NA WA[I PRAWA
NA PROIZWEDENIE,NAPISANNOE [email protected] WAMI,ILI OSPARIWATX IH;CELX SKOREE W TOM,
^TOBY REALIZOWATX PRAWO UPRAWLQTX RASPROSTRANENIEM PROIZWODNYH ILI KOLLEKTIW-
NYH PROIZWEDENIJ,OSNOWANNYH NA pROGRAMME.
kROME TOGO,PROSTOE NAHOVDENIE DRUGOGO PROIZWEDENIQ,NE OSNOWANNOGO NA\TOJ pRO-
GRAMME,SOWMESTNO S pROGRAMMOJ (ILI S PROIZWEDENIEM,OSNOWANNYM NA\TOJ pROGRAM-
ME) NA ODNOM NOSITELE DLQ POSTOQNNOGO HRANENIQ ILI RASPROSTRANQEMOM NOSITELE NE
RASPROSTRANQET DEJSTWIE\TOJ lICENZII NA DRUGOE PROIZWEDENIE.
3.wY MOVETE KOPIROWATX I RASPROSTRANQTX pROGRAMMU (ILI PROIZWEDENIE,OSNOWANNOE
NA NEJ) SOGLASNO rAZDELU 2) W OB_EKTNOM KODE ILI W WYPOLNIMOM WIDE W SOOTWETSTWII
S rAZDELAMI 1 I 2,PRIWEDENNYMI WY[E,PRI USLOWII,^TO WY TAKVE WYPOLNITE ODNO
IZ [email protected]]IH TREBOWANIJ:
a.sOPROWODITE EE POLNYM [email protected]]IM MA[INO^ITAEMYM ISHODNYM KODOM,KO-
TORYJ DOLVEN RASPROSTRANQTXSQ W SOOTWETSTWII S rAZDELAMI 1 I 2,PRIWEDENNYMI
WY[E,NA NOSITELE,KOTORYJ OBY^NO ISPOLXZUETSQ DLQ OBMENA po;ILI,
b.sOPROWODITE EE PISXMENNYM PREDLOVENIEM,DEJSTWITELXNYM PO KRAJNEJ MERE W
TE^ENIE TREH LET,PREDOSTAWITX [email protected] TRETXEMU LICU ZA WOZNAGRAVDENIE,NE PRE-
WY[[email protected]]EE STOIMOSTX FIZI^ESKOGO AKTA IZGOTOWLENIQ KOPII,[email protected] MA[INO^I-
[email protected] [email protected] [email protected]]EGO ISHODNOGO KODA,PODLEVA][email protected] [email protected]
W SOOTWETSTWII S rAZDELAMI 1 I 2,PRIWEDENNYMI WY[E;ILI
c.sOPROWODITE EE INFORMACIEJ,POLU^ENNOJ WAMI W KA^ESTWE PREDLOVENIQ RASPRO-
STRANITX [email protected]]IJ ISHODNYJ KOD.(|TA WOZMOVNOSTX DOPUSTIMA TOLXKO
DLQ NEKOMMER^ESKOGO RASPROSTRANENIQ,I TOLXKO ESLI WY POLU^ILI PROGRAMMU W
OB_EKTNOM KODE ILI W ISPOLNQEMOM WIDE S PREDLOVENIEM W SOOTWETSTWII S pUNKTOM
b) WY[E.)
iSHODNYJ KOD DLQ PROIZWEDENIQ OZNA^AET EGO WID,PREDPO^TITELXNYJ DLQ WYPOLNENIQ
W NEM MODIFIKACIJ.dLQ ISPOLNQEMOGO PROIZWEDENIQ POLNYJ ISHODNYJ KOD OZNA^A-
ET WSE ISHODNYE KODY DLQ WSEH MODULEJ,KOTORYE ON SODERVIT,[email protected] [email protected] SWQZAN-
NYE S PROIZWEDENIEM FAJLY OPREDELENIQ INTERFEJSA,[email protected] SCENARII,ISPOLXZUEMYE
DLQ UPRAWLENIQ KOMPILQCIEJ I USTANOWKOJ ISPOLNQEMOGO PROIZWEDENIQ.oDNAKO,W WI-
DE OSOBOGO [email protected]^ENIQ RASPROSTRANQEMYJ ISHODNYJ KOD NE OBQZAN [email protected]^ATX TO,^TO
OBY^NO PREDOSTAWLQETSQ (KAK W OB_EKTNYH,TAK I W ISHODNYH KODAH) S OSNOWNYMI KOM-
PONENTAMI (KOMPILQTOR,QDRO I TAK DALEE) OPERACIONNOJ SISTEMY,POD UPRAWLENIEM
KOTOROJ RABOTAET ISPOLNQEMOE PROIZWEDENIE,ZA [email protected]^ENIEM SLU^AQ,KOGDA SAM KOM-
PONENT SOPROWOVDAET ISPOLNQEMOE PROIZWEDENIE.
eSLI RASPROSTRANENIE ISPOLNQEMOGO PROIZWEDENIQ ILI OB_EKTNOGO KODA PROISHODIT
PUTEM PREDOSTAWLENIQ DOSTUPA DLQ KOPIROWANIQ S OBOZNA^ENNOGO MESTA,TO PREDOSTAW-
LENIE DOSTUPA DLQ KOPIROWANIQ ISHODNOGO KODA S TOGO VE MESTA S^ITAETSQ RASPRO-
STRANENIEM ISHODNOGO KODA,DAVE ESLI TRETXI LICA NE [email protected] K [email protected]
ISHODNOGO KODA WMESTE S OB_EKTNYM KODOM.
4.wY NE MOVETE KOPIROWATX,IZMENQTX,POWTORNO LICENZIROWATX,ILI RASPROSTRANQTX
pROGRAMMU NIKAKIM INYM SPOSOBOM,KROME QWNO PREDUSMOTRENNYH DANNOJ lICENZI-
[email protected] POPYTKA KOPIROWATX,IZMENQTX ILI RASPROSTRANQTX pROGRAMMU KAKIM-LIBO
16 rUKOWODSTWO PO GNU EmacsDRUGIM SPOSOBOM ILI S IZMENENNOJ LICENZIEJ NEPRAWOMERNA I AWTOMATI^ESKI PREKRA-
]AET WA[I PRAWA,DANNYE WAM\TOJ lICENZIEJ.oDNAKO LICENZII LIC,POLU^IW[IH
OT WAS KOPII ILI PRAWA SOGLASNO DANNOJ uNIWERSALXNOJ oB]ESTWENNOJ lICENZII,NE
PREKRA][email protected] SWOEGO DEJSTWIQ,ESLI\TI LICA [email protected] [email protected]@T USLOWIQ.
5.wY NE OBQZANY SOGLA[ATXSQ S\TOJ lICENZIEJ,TAK KAK WY NE PODPISYWALI EE.oDNA-
KO,NI^TO,KROME\TOJ lICENZII,NE DAET WAM PRAWO IZMENQTX ILI RASPROSTRANQTX\TU
pROGRAMMU ILI OSNOWANNYE NA NEJ PROIZWEDENIQ.|TI DEJSTWIQ ZAPRE]ENY ZAKONOM,
ESLI WY NE PRINIMAETE K [email protected]@\TU [email protected] ZNA^IT,IZMENQQ ILI RASPRO-
STRANQQ pROGRAMMU (ILI PROIZWEDENIE,OSNOWANNOE NA pROGRAMME),WY IZ_QWLQETE SWOE
SOGLASIE S\TOJ lICENZIEJ I WSEMI EE USLOWIQMI O KOPIROWANII,RASPROSTRANENII ILI
MODIFIKACII pROGRAMMY ILI OSNOWANNYH NA NEJ PROIZWEDENIJ.
6.kAVDYJ RAZ,KOGDA WY POWTORNO RASPROSTRANQETE pROGRAMMU (ILI [email protected] PROIZWEDE-
NIE,OSNOWANNOE NA pROGRAMME),POLU^ATELX\TOGO PROIZWEDENIQ AWTOMATI^ESKI POLU-
^AET OT PERWONA^ALXNOGO WYDAW[EGO [email protected] LICA [email protected] [email protected] NA KOPIROWANIE,
RASPROSTRANENIE ILI [email protected] pROGRAMMY,[email protected] W\TIH OPREDELENIQH I
USLOWIQH.wY NE MOVETE NALAGATX KAKIH-LIBO DOPOLNITELXNYH OGRANI^ENIJ NA OSU-
]ESTWLENIE POLU^ATELEM PRAW,PREDOSTAWLENNYH DANNYM DOKUMENTOM.wY NE NESETE
OTWETSTWENNOSTI ZA [email protected] TRETXIMI LICAMI USLOWIJ\TOJ lICENZII.
7.eSLI W REZULXTATE SUDEBNOGO RAZBIRATELXSTWA,ILI OBWINENIQ W NARU[ENII PATENTA
ILI PO [email protected] DRUGOJ PRI^INE (NE OBQZATELXNO SWQZANNOJ S PATENTAMI),WAM NAWQZANY
USLOWIQ,PROTIWORE^A]IE DANNOJ lICENZII (PO [email protected] SUDA,PO SOGLA[[email protected]
ILI INYM SPOSOBOM),\TO NE OSWOBOVDAET WAS OT [email protected] lICENZII.eSLI WY NE
MOVETE ZANIMATXSQ RASPROSTRANENIEM TAK,^TOBY ODNOWREMENNO UDOWLETWORITX TREBO-
WANIQM I\TOJ lICENZII,I WSEM DRUGIM TREBOWANIQM,TO WY NE DOLVNY ZANIMATXSQ
RASPROSTRANENIEM pROGRAMMY.nAPRIMER,ESLI PATENT NE POZWOLQET BEZWOZMEZDNOE PO-
WTORNOE RASPROSTRANENIE pROGRAMMY WSEM,KTO POLU^IL KOPII OT WAS NEPOSREDSTWENNO
ILI ^EREZ POSREDNIKOW,TO EDINSTWENNYM SPOSOBOM UDOWLETWORITX I PATENTU,I\TOJ
lICENZII BUDET WA[ POLNYJ OTKAZ OT RASPROSTRANENIQ pROGRAMMY.
eSLI KAKAQ-LIBO ^ASTX\TOGO RAZDELA NE IMEET SILY ILI NE MOVET BYTX ISPOLNENA PRI
NEKOTORYH KONKRETNYH OBSTOQTELXSTWAH,TO PODRAZUMEWAETSQ,^TO IMEET SILU OSTALX-
NAQ ^ASTX RAZDELA,A PRI DRUGIH OBSTOQTELXSTWAH IMEET SILU WESX rAZDEL.
cELX\TOGO RAZDELA |NE POBUDITX WAS DELATX ZAQWLENIQ O NARU[ENIQH PRAW NA PATENT,
ILI ZAQWLQTX O DRUGIH PRETENZIQH NA PRAWO SOBSTWENNOSTI ILI OSPARIWATX PRAWILX-
NOSTX PODOBNYH PRETENZIJ;EDINSTWENNAQ CELX\TOGO RAZDELA | ZA]ITA CELOSTNOSTI
SISTEMY RASPROSTRANENIQ SWOBODNOGO po,KOTORAQ REALIZUETSQ ISPOLXZOWANIEM OB]E-
STWENNYH LICENZIJ.mNOGIE [email protected] WNESLI ]EDRYJ WKLAD W [IROKIJ SPEKTR po,RAS-
PROSTRANQEMOGO PO\TOJ SISTEME,POLAGAQSX NA EE SOGLASOWANNOE PRIMENENIE;TOLXKO
AWTORU PRINADLEVIT PRAWO RE[ATX,HO^ET LI ON ILI ONA RASPROSTRANQTX po W\TOJ
SISTEME ILI W KAKOJ-TO DRUGOJ,I POLU^ATELX LICENZII NE MOVET WLIQTX NA PRINQTIE
\TOGO RE[ENIQ.
|TOT RAZDEL PREDNAZNA^EN DLQ TOGO,^TOBY T]ATELXNO PROQSNITX,^TO POLAGAETSQ SLED-
STWIEM IZ OSTALXNOJ ^ASTI DANNOJ lICENZII.
8.eSLI RASPROSTRANENIE I/ILI PRIMENENIE pROGRAMMY OGRANI^ENO W RQDE STRAN LIBO
PATENTAMI,LIBO AWTORSKIMI PRAWAMI NA INTERFEJSY,PERWONA^ALXNYJ OBLADATELX
AWTORSKIH PRAW,[email protected]]IJ pROGRAMMU S\TOJ lICENZIEJ,MOVET DOBAWITX QWNOE
OGRANI^ENIE NA GEOGRAFI^ESKOE RASPROSTRANENIE,[email protected]^IW TAKIE STRANY,TAK ^TO
RASPROSTRANENIE RAZRE[AETSQ TOLXKO W TEH STRANAH,KOTORYE NE BYLI [email protected]^ENY.w
\TOM SLU^AE DANNAQ lICENZIQ [email protected]^AET W SEBQ\TO OGRANI^ENIE,KAK ESLI BY ONO BYLO
NAPISANO W TEKSTE DANNOJ lICENZII.
9.fOND sWOBODNOGO po MOVET WREMQ OT WREMENI PUBLIKOWATX PERESMOTRENNYE I/ILI
NOWYE WERSII uNIWERSALXNOJ oB]ESTWENNOJ lICENZII.tAKIE NOWYE WERSII BUDUT
uniwersalxnaq ob}estwennaq licenziq GNU 17SHODNY PO DUHU S NASTOQ]EJ WERSIEJ,NO MOGUT OTLI^ATXSQ W DETALQH,NAPRAWLENNYH
NA NOWYE PROBLEMY ILI OBSTOQTELXSTWA.
kAVDOJ WERSII PRIDAETSQ OTLI^ITELXNYJ NOMER.eSLI W pROGRAMME UKAZYWAETSQ,
^TO K NEJ OTNOSITSQ NEKOTORYJ NOMER WERSII DANNOJ lICENZII I\[email protected] [email protected]]AQ
WERSIQ",WY MOVETE PO WYBORU SLEDOWATX OPREDELENIQM I USLOWIQM LIBO DANNOJ WER-
SII,LIBO [email protected] [email protected]]EJ WERSII,OPUBLIKOWANNOJ fONDOM sWOBODNOGO po.eSLI
W pROGRAMME NE UKAZAN NOMER WERSII DANNOJ lICENZII,WY MOVETE WYBRATX [email protected]@
[email protected],KOGDA-LIBO [email protected] fONDOM sWOBODNOGO po.
10.eSLI WY HOTITE WSTROITX ^ASTI pROGRAMMY W DRUGIE SWOBODNYE PROGRAMMY S INY-
MI USLOWIQMI RASPROSTRANENIQ,NAPI[ITE AWTORU S PROSXBOJ O RAZRE[ENII.dLQ po,
KOTOROE OHRANQETSQ AWTORSKIMI PRAWAMI fONDA sWOBODNOGO po,NAPI[ITE W fOND
sWOBODNOGO po;MY INOGDA DELAEM TAKIE [email protected]^ENIQ.nA[E RE[ENIE BUDET RUKOWOD-
STWOWATXSQ DWUMQ CELQMI:SOHRANENIQ SWOBODNOGO STATUSA WSEH PROIZWODNYH NA[EGO
SWOBODNOGO po I SODEJSTWIQ SOWMESTNOMU I POWTORNOMU [email protected] po WOOB]E.
nikakih garantij
11.poskolxku programma predostawlqetsq besplatno,na program-
mu net garantij w toj mere,kakaq dopustima primenimym za-
konom.za iskl`~eniem teh slu~aew,kogda obratnoe zaqwle-
no w pisxmennoj forme,dervateli awtorskih praw i/ili dru-
gie storony postawlq`t programmu"kak ona estx"bez kakogo-
libo wida garantij,wyravennyh qwno ili podrazumewaemyh,
wkl`~aq,no ne ograni~iwaqsx imi,podrazumewaemye garan-
tii kommer~eskoj cennosti i prigodnosti dlq konkretnoj ce-
li.wesx risk w otno{enii ka~estwa i proizwoditelxnosti pro-
grammy ostaetsq pri was.esli programma okavetsq defekt-
noj,wy prinimaete na sebq stoimostx wsego neobhodimogo ob-
sluviwaniq,wosstanowleniq ili isprawleniq.
12.ni w koem slu~ae,esli ne trebuetsq sootwetstwu`}im zako-
nom,ili ne uslowleno w pisxmennoj forme,ni odin dervatelx
awtorskih praw i ni odnodrugoe lico,kotoroe movet izmenqtx
i/ili powtorno rasprostranqtx programmu,kak bylo razre{e-
no wy{e,ne otwetstwenny pered wami za ubytki,wkl`~aq l`-
bye ob}ie,specialxnye,slu~ajnye ili posledowaw{ie ubyt-
ki,proisteka`}ie iz ispolxzowaniq ili newozmovnosti is-
polxzowaniq programmy (wkl`~aq,no ne ograni~iwaqsx pote-
rej dannyh,ili dannymi,staw{imi neprawilxnymi,ili pote-
rqmi,ponesennymi iz-za was ili tretxih lic,ili otkazom pro-
grammy rabotatx sowmestno s l`bymi drugimi programmami),
dave esli takoj dervatelx ili drugoe lico byli izwe}eny o
wozmovnosti takih ubytkow.
konec opredelenij i uslowij
18 rUKOWODSTWO PO GNU EmacskAK PRIMENQTX\TI USLOWIQ K WA[IM NOWYM PROGRAMMAM
eSLI WY RAZRABATYWAETE [email protected] PROGRAMMU I HOTITE,^TOBY ONA PRINESLA MAKSIMALXNO
[email protected] POLXZU OB]ESTWU,LU^[IJ SPOSOB DOSTI^X\TOGO |[email protected]^ITX EE W SWOBODNOE po,
KOTOROE KAVDYJ MOVET POWTORNO RASPROSTRANQTX I IZMENQTX SOGLASNO DANNYM USLOWIQM.
~TOBY SDELATX\TO,DOBAWXTE W PROGRAMMU [email protected]]IE UWEDOMLENIQ.nADEVNEE WSEGO
BUDET DOBAWITX IH W NA^ALO KAVDOGO ISHODNOGO FAJLA,^TOBY NAIBOLEE\FFEKTIWNO PE-
REDATX SOOB]ENIE OB OTSUTSTWII GARANTIJ;KAVDYJ FAJL DOLVEN SODERVATX PO MENX[EJ
MERE STROKU,SODERVA][email protected] ZNAK OHRANY AWTORSKOGO PRAWA I UKAZANIE NA TO,GDE NAHODITSQ
POLNOE UWEDOMLENIE.
ODNA STROKA,SODERVA]AQ NAZWANIE PROGRAMMY I KRATKOE
OPISANIE TOGO,^TO ONA DELAET.
(C) NAIMENOWANIE (IMQ) AWTORA 19GG
|TO SWOBODNAQ PROGRAMMA;WY MOVETE POWTORNO RASPROSTRANQTX EE I/ILI
MODIFICIROWATX EE W SOOTWETSTWII S uNIWERSALXNOJ oB]ESTWENNOJ
lICENZIEJ GNU,OPUBLIKOWANNOJ fONDOM sWOBODNOGO po;LIBO WERSII 2,
LIBO (PO WA[EMU WYBORU) [email protected] BOLEE POZDNEJ WERSII.
|TA PROGRAMMA RASPROSTRANQETSQ W NADEVDE,^TO ONA BUDET POLEZNOJ,
NO bez kakih-libo garantij;DAVE BEZ PODRAZUMEWAEMYH GARANTIJ
kommer~eskoj cennosti ILI prigodnosti dlq konkretnoj celi.dLQ
POLU^ENIQ PODROBNYH SWEDENIJ SMOTRITE [email protected] oB][email protected]
[email protected] GNU.
wY DOLVNY BYLI POLU^ITX [email protected] uNIWERSALXNOJ oB]ESTWENNOJ lICENZII
GNU WMESTE S\TOJ PROGRAMMOJ;ESLI NET,NAPI[ITE PO ADRESU:Free
Software Foundation,Inc.,59 Temple Place,Suite 330,Boston,MA
02111-1307 USA
dOBAWXTE TAKVE SWEDENIQ O TOM,KAK SWQZATXSQ S WAMI PO\LEKTRONNOJ I OBY^NOJ PO^TE.
eSLI PROGRAMMA INTERAKTIWNAQ,SDELAJTE TAK,^TOBY PRI ZAPUSKE W INTERAKTIWNOM
REVIME ONA WYDAWALA KRATKOE UWEDOMLENIE WRODE [email protected]]EGO:
gNOMOWIZOR,WERSIQ 69,(C) IMQ AWTORA 19GG
gNOMOWIZOR POSTAWLQETSQ absol`tno bez kakih-libo garantij;
DLQ POLU^ENIQ PODROBNOSTEJ NAPE^ATAJTE'show w'.|TO SWOBODNAQ
PROGRAMMA,I WY PRIGLA[AETESX POWTORNO RASPROSTRANQTX EE PRI
OPREDELENNYH USLOWIQH;DLQ POLU^ENIQ PODROBNOSTEJ WWEDITE'show c'.
gIPOTETI^ESKIE KOMANDY`show w'I`show c'DOLVNY POKAZYWATX [email protected]]IE ^A-
STI uNIWERSALXNOJ oB]ESTWENNOJ lICENZII.kONE^NO,ISPOLXZUEMYE WAMI KOMANDY MOGUT
NAZYWATXSQ KAK-NIBUDX INA^E,NEVELI`show w'I`show c';ONI DAVE MOGUT WYBIRATXSQ S
POMO][email protected] MY[I ILI BYTX PUNKTAMI [email protected] |KAK BOLX[E PODHODIT DLQ WA[EJ PROGRAMMY.
wY TAKVE DOLVNY DOBITXSQ TOGO,^TOBY WA[ RABOTODATELX (ESLI WY RABOTAETE PROGRAM-
MISTOM) ILI WA[E U^EBNOE ZAWEDENIE,ESLI TAKOWOE IMEETSQ,PODPISALI W SLU^AE NEOBHODI-
MOSTI\OTKAZ OT IMU]ESTWENNYH PRAW"NA\TU PROGRAMMU.wOT OBRAZEC;ZAMENITE FAMILII:
kOMPANIQbRATXQ ><DINYNASTOQ]IM OTKAZYWAETSQ OT WSEH
IMU]ESTWENNYH PRAW NA PROGRAMMU'gNOMOWIZOR'(KOTORAQ DELAET
PASSY W STORONU KOMPILQTOROW),[email protected] aBSTRAKTNYM k.i.
PODPISX mAGA nATA,1 APRELQ 1989 G
mAG nAT,pREZIDENT FIRMY wICE.
uniwersalxnaq ob}estwennaq licenziq GNU 19dANNAQ uNIWERSALXNAQ oB]ESTWENNAQ lICENZIQ NE POZWOLQET WAM [email protected]^ATX WA[U PRO-
GRAMMU W PROGRAMMY,[email protected]]IESQ ^ASTNOJ [email protected] WA[A PROGRAMMA |\TO
BIBLIOTEKA PROCEDUR,WAM STOIT PODUMATX,NE BUDET LI LU^[E RAZRE[ITX PROGRAMMAM,QW-
[email protected]]IMSQ ^ASTNOJ [email protected],SWQZYWATXSQ S WA[EJ BIBLIOTEKOJ.eSLI\TO TO,^EGO
WY HOTITE,ISPOLXZUJTE WMESTO\TOJ lICENZII [email protected] oB][email protected] [email protected]
GNU DLQ BIBLIOTEK.
20 rUKOWODSTWO PO GNU Emacs
wWEDENIE 21wWEDENIE
wY ^ITAETE O GNU Emacs,GNU-INKARNACII RAZWITOGO,SAMODOKUMENTIROWANNOGO,NA-
STRAIWAEMOGO,RAS[IRQEMOGO\KRANNOGO REDAKTORA REALXNOGO WREMENI Emacs.(`G'W`GNU'
^ITAETSQ.)
mY GOWORIM,^TO Emacs |\TO\KRANNYJ REDAKTOR,TAK KAK REDAKTIRUEMYJ TEKST OBY^-
NO WIDEN NA\KRANE I AWTOMATI^ESKI OBNOWLQETSQ,KOGDA WY WWODITE KOMANDY.sM.gLAWA 1
[|KRAN],S.23.
mY NAZYWAEM EGO REDAKTOROM REALXNOGO WREMENI,TAK KAK\KRAN OBNOWLQETSQ O^ENX ^A-
STO,OBY^NO POSLE KAVDOGO NABRANNOGO WAMI ZNAKA ILI PARY ZNAKOW.|TO UMENX[AET KOLI-
^ESTWO INFORMACII,[email protected] WY DOLVNY UDERVIWATX W PAMQTI,KOGDA REDAKTIRUETE.sM.gLAWA 4 [oSNOWY REDAKTIROWANIQ],S.35.
mY NAZYWAEM Emacs RAZWITYM,TAK KAK ON PREDOSTAWLQET SREDSTWA,KOTORYE [email protected] NE^TO
BOLX[EE,^EM PROSTAQ WSTAWKA ILI UDALENIE:UPRAWLENIE PODPROCESSAMI,AWTOMATI^ESKOE
SOZDANIE OTSTUPOW W PROGRAMMAH,PROSMOTR DWUH ILI BOLEE FAJLOW SRAZU,REDAKTIROWA-
NIE FORMATIROWANNOGO TEKSTA I DEJSTWIQ W TERMINAH SIMWOLOW,SLOW,STROK,PREDLOVENIJ,
ABZACEW I STRANIC,A TAKVE WYRAVENIJ I KOMMENTARIEW W NESKOLXKIH RAZNYH QZYKAH PRO-
GRAMMIROWANIQ.
sAMODOKUMENTIROWANNOSTX OZNA^AET,^TO W [email protected] WREMQ WY MOVETE NABRATX SPECIALX-
NYJ SIMWOL,Control-h,^TOBY UZNATX,^TO WY MOVETE SDELATX.wY TAKVE MOVETE ISPOLX-
ZOWATX EGO,^TOBY WYQSNITX,^TO DELAET PROIZWOLXNAQ KOMANDA,ILI NAJTI WSE KOMANDY,
[email protected]]IE OTNO[ENIE K KAKOJ-LIBO TEME.sM.gLAWA 7 [sPRAWKA],S.55.
nASTRAIWAEMOSTX OZNA^AET,^TO WY MOVETE LEGKO IZMENITX OPREDELENIQ KOMAND Emacs.
nAPRIMER,ESLI WY ISPOLXZUETE QZYK PROGRAMMIROWANIQ,W KOTOROM KOMMENTARII NA^INA-
@TSQ S`<**'I KON^[email protected] NA`**>',WY MOVETE WELETX KOMANDAM Emacs DLQ RABOTY S KOM-
MENTARIQMI ISPOLXZOWATX IMENNO TAKIE STROKI (SM.rAZDEL 22.7 [kOMMENTARII],S.219).
dRUGOJ WID NASTROJKI |\TO PERERASPOLOVENIE USTANOWLENNYH KOMAND.nAPRIMER,ESLI WY
PREDPO^ITAETE,^TOBY ^ETYRE OSNOWNYE KOMANDY DWIVENIQ KURSORA (WWERH,WNIZ,WPRAWO,
WLEWO) NAHODILISX NA KLAWI[AH,RASPOLOVENNYH KRESTOOBRAZNO NA KLAWIATURE,WY MOVETE
PEREPRIWQZATX\TI KLAWI[I.sM.gLAWA 31 [nASTROJKA],S.341.
rAS[IRQEMOSTX OZNA^AET,^TO WY MOVETE POJTI DALX[E PROSTOJ NASTROJKI I NAPISATX
SOWER[ENNO NOWYE KOMANDY,PROGRAMMY NA QZYKE lISP,PREDNAZNA^ENNYE DLQ ZAPUSKA W
SOBSTWENNOM lISP-INTERPRETATORE Emacs.Emacs QWLQETSQ\INTERAKTIWNO RAS[IRQEMOJ"
SISTEMOJ,^TO ZNA^IT,^TO ON DELITSQ NA MNOGO FUNKCIJ,KOTORYE [email protected] DRUG DRU-
GA;KAVDAQ IZ NIH MOVET BYTX PEREOPREDELENA WO WREMQ SEANSA REDAKTIROWANIQ.pO^TI
[email protected] ^ASTX Emacs MOVET BYTX ZAMENENA BEZ KOPIROWANIQ WSEGO Emacs.bOLX[INSTWO
KOMAND REDAKTIROWANIQ Emacs UVE NAPISANY NA lISPE;NESKOLXKO [email protected]^ENIJ MOGLI BY
BYTX NAPISANY NA lISPE,NO NAPISANY NA sI DLQ\FFEKTIWNOSTI.hOTQ TOLXKO PROGRAM-
MIST MOVET NAPISATX RAS[IRENIE,[email protected] MOVET ISPOLXZOWATX EGO POSLE.eSLI WY HOTITE
NAU^ITXSQ [email protected] NA Emacs Lisp,MY REKOMENDUEM WAM KNIGU Introduction to
Emacs Lisp,[email protected] rOBERTOM dV.~ASSELOM,TAKVE [email protected] fONDOM sWOBOD-
NOGO pROGRAMMNOGO oBESPE^ENIQ.
kOGDA Emacs ZAPU]EN POD SISTEMOJ X Windows,ON PREDOSTAWLQET SOBSTWENNYE [email protected] I
UDOBNYE PRIWQZKI DLQ KNOPOK MY[I.nO Emacs MOVET DATX MNOGIE PREIMU]ESTWA OKONNOJ
SISTEMY I NA TEKSTOWOM TERMINALE.nAPRIMER,WY MOVETE WIDETX ODNOWREMENNO NESKOLX-
KO FAJLOW,PEREME]ATX TEKST MEVDU FAJLAMI I REDAKTIROWATX WO WREMQ RABOTY KOMAND
OBOLO^KI.
22 rUKOWODSTWO PO GNU Emacs
gLAWA 1:oRGANIZACIQ\KRANA 231 oRGANIZACIQ\KRANA
nA TEKSTOWOM TERMINALE Emacs ZANIMAET WESX\KRAN.w SISTEME X Windows Emacs
SOZDAET DLQ SEBQ SWOI X-OKNA.mY ISPOLXZUEM TERMIN FREJM DLQ OBOZNA^ENIQ WSEGO TEK-
STOWOGO\KRANA ILI WSEGO X-OKNA,ISPOLXZUEMOGO Emacs.oBA WIDA FREJMOW [email protected]
W Emacs ODINAKOWO DLQ OTOBRAVENIQ WA[EGO TEKSTA.oBY^NO Emacs ZAPUSKAETSQ TOLXKO
S ODNIM FREJMOM,NO PRI VELANII WY MOVETE SOZDATX DOPOLNITELXNYE.sM.gLAWA 17
[fREJMY],S.147.
kOGDA WY ZAPUSKAETE Emacs,WESX FREJM,ZA [email protected]^ENIEM PERWOJ I POSLEDNEJ STROKI,
OTWODITSQ DLQ REDAKTIRUEMOGO TEKSTA.|TA OBLASTX NAZYWAETSQ OKNOM.pERWAQ STROKA
NAZYWAETSQ POLOSKOJ [email protected],A POSLEDNQQ |\TO OSOBAQ\HO-OBLASTX ILI OKNO MINIBUFERA,
GDE [email protected] ZAPROSY,I KUDA WY MOVETE WWESTI OTWETY.dALXNEJ[IE SWEDENIQ OB\TIH
SPECIALXNYH STROKAH SMOTRITE NIVE.
tEKSTOWOE OKNO MOVET BYTX PODELENO PO GORIZONTALI ILI WERTIKALI NA NESKOLXKO DRU-
GIH OKON,KAVDOE IZ KOTORYH MOVET BYTX ISPOLXZOWANO DLQ OTDELXNOGO FAJLA (SM.gLAWA 16
[oKNA],S.141 ).w DANNOM RUKOWODSTWE SLOWO\OKNO"WSEGDA OBOZNA^AET ^ASTX FREJMA WNUTRI
Emacs.
tO OKNO,W KOTOROM NAHODITSQ KURSOR,NAZYWAETSQ WYBRANNYM OKNOM;W NEM IDET REDAK-
TIROWANIE.bOLX[INSTWO KOMAND Emacs NEQWNO OTNOSQTSQ W TEKSTU W WYBRANNOM OKNE (HOTQ
KOMANDY MY[I KAK PRAWILO [email protected] W TOM OKNE,W KOTOROM WY ]ELKNULI,WNE ZAWISI-
MOSTI OT TOGO,WYBRANO ONO ILI NET).oSTALXNYE OKNA SU][email protected] PROSTO DLQ SPRAWKI,
POKA WY NE WYBERETE ODNO IZ NIH.eSLI WY ISPOLXZUETE NESKOLXKO FREJMOW W SISTEME X
Windows,TO PEREDA^A FOKUSA WWODA NEKOTOROMU FREJMU WYBIRAET OKNO W\TOM FREJME.
pOSLEDNQQ STROKA KAVDOGO TEKSTOWOGO OKNA NAZYWAETSQ STROKOJ REVIMA,KOTORAQ OPI-
SYWAET PROISHODQ]EE W\TOM OKNE.oNA WYWODITSQ W INWERSNOM WIDE,ESLI TERMINAL
PODDERVIWAET\TO,I SODERVIT TEKST,KOTORYJ NA^INAETSQ PRI STARTE Emacs SO STROKI
`-:- *scratch*'.sTROKA REVIMA POKAZYWAET SWEDENIQ O TEKU]EM SOSTOQNII,NAPRIMER,
KAKOJ BUFER POKAZAN W OKNE NAD NEJ,KAKIE OSNOWNYE I WTOROSTEPENNYE REVIMY W NEM
[email protected],I SODERVIT LI\TOT BUFER NESOHRANENNYE IZMENENIQ.
1.1 tO^KA
kURSOR TERMINALA WNUTRI Emacs POKAZYWAET [email protected],W KOTOROJ BUDET WYPOLNQTXSQ
KOMANDA REDAKTIROWANIQ.|TO POZICIQ IMENUETSQ TO^KOJ.mNOGIE KOMANDY Emacs PEREME-
][email protected] TO^KU PO TEKSTU,TAK ^TO WY IMEETE WOZMOVNOSTX REDAKTIROWATX W [email protected] MESTE.wY
TAKVE MOVETE USTANOWITX TO^KU,]ELKNUW PERWOJ KNOPKOJ MY[I.
kOGDA KURSOR UKAZYWAET NA ZNAK,TO SLEDUET DUMATX,^TO TO^KA NAHODITSQ MEVDU DWUMQ
ZNAKAMI;ONA RASPOLOVENA PERED ZNAKOM,NAD KOTORYM POQWLQETSQ KURSOR.nAPRIMER,ESLI
WA[ TEKST WYGLQDIT KAK`frob',A KURSOR NAHODITSQ NAD`b',TO TO^KA RASPOLOVENA MEVDU
`o'I`b'.eSLI WY WSTAWITE W\TOJ POZICII ZNAK`!',TO POLU^ITE`fro!b',S TO^KOJ MEVDU
`!'I`b'.tAKIM OBRAZOM,KURSOR OSTANETSQ NAD`b',KAK I RANX[E.
iNOGDA GOWORQT\KURSOR",IMEQ W WIDU TO^KU,ILI GOWORQT O KOMANDAH DWIVENIQ TO^KI
KAK O KOMANDAH\DWIVENIQ KURSORA".
tERMINALY [email protected] TOLXKO ODIN KURSOR,I KOGDA PROISHODIT PROCESS WYWODA,KURSOR
DOLVEN NAHODITXSQ TAM,GDE IDET NABOR.|TO NE OZNA^AET,^TO TO^KA PEREME]AETSQ.|TO
ZNA^IT LI[X TO,^TO Emacs MOVET POKAZATX WAM [email protected] TO^KI,TOLXKO KOGDA TERMINAL NE
RABOTAET.
eSLI WY REDAKTIRUETE W Emacs NESKOLXKO FAJLOW,KAVDYJ W SWOEM BUFERE,TO WSQKIJ
BUFER IMEET [email protected] [email protected] [email protected] TO^KI.bUFER,KOTORYJ NE POKAZYWAETSQ W DANNOE
WREMQ,ZAPOMINAET,GDE NAHODITSQ TO^KA,NA SLU^AJ,ESLI WY SNOWA WYWEDETE EGO NA\KRAN.
24 rUKOWODSTWO PO GNU EmacskOGDA FREJM RAZBIT NA NESKOLXKO OKON,KAVDOE IZ NIH IMEET [email protected] [email protected] [email protected]
TO^KI.kURSOR VE POKAZYWAET [email protected] TO^KI W WYBRANNOM OKNE.|TIM SPOSOBOM WY TAKVE
MOVETE UZNATX,KOTOROE IZ OKON WYBRANO.eSLI ODIN I TOT VE BUFER POQWLQETSQ BOLEE ^EM
W ODNOM OKNE,TO KAVDOE IZ NIH IMEET [email protected] [email protected] TO^KI.
eSLI ESTX NESKOLXKO FREJMOW,KAVDYJ IZ NIH MOVET OTOBRAZITX ODIN KURSOR.kURSOR
W WYBRANNOM FREJME ZAPOLNEN CWETOM;KURSOR W DRUGIH FREJMAH |\TO PUSTAQ KLETKA,
KOTORAQ POQWLQETSQ W TOM OKNE,KOTOROE BYLO BY WYBRANNYM,ESLI BY WY PEREDALI FOKUS
WWODA\TOMU FREJMU.
tERMIN`TO^KA'PROISHODIT OT NAZWANIQ ZNAKA`.',KOTORYJ BYL KOMANDOJ TECO (QZYK,
NA KOTOROM BYL NAPISAN PERWONA^ALXNYJ Emacs) DLQ POLU^ENIQ ZNA^ENIQ WELI^INY,NAZY-
WAEMOJ TEPERX`TO^KOJ'.
1.2 |HO-OBLASTX
sTROKA WNIZU FREJMA (POD STROKOJ REVIMA) NAZYWAETSQ\[email protected] ISPOLXZUET-
SQ DLQ POKAZA NEBOLX[IH FRAGMENTOW TEKSTA W NESKOLXKIH CELQH.
|HO OBOZNA^AET OTOBRAVENIE NABIRAEMYH WAMI ZNAKOW.wNE Emacs,OPERACIONNAQ SISTE-
MA OBY^NO OTOBRAVAET WESX WA[ WWOD.Emacs UPRAWLQET\HO INA^E.
Emacs NIKOGDA NE POWTORQET KOMANDY,SOSTOQ]IE IZ ODINO^NOGO ZNAKA,A KOMANDY,SO-
STOQ]IE IZ NESKOLXKIH,[email protected],TOLXKO ESLI WY OSTANAWLIWAETESX W PROCESSE IH NABO-
RA.kAK TOLXKO WY OSTANAWLIWAETESX BOLEE ^EM NA SEKUNDU W SEREDINE KOMANDY,WSE ZNAKI
\TOJ KOMANDY SRAZU VE [email protected]|TO SLUVIT PODSKAZKOJ DLQ OKON^ANIQ KOMANDY.
kAK TOLXKO [email protected]^AETSQ\HO,OKON^ANIE KOMANDY OTOBRAVAETSQ NEMEDLENNO W PROCESSE NA-
BORA.tAKOE POWEDENIE PREDNAZNA^ENO DLQ TOGO,^TOBY UWERENNYJ POLXZOWATELX POLU^AL
BYSTRYJ REZULXTAT,W TO VE WREMQ\TO POZWOLQET NEUWERENNYM POLXZOWATELQM POLU^ITX
MAKSIMUM OBRATNOJ SWQZI.wY MOVETE IZMENITX\TO POWEDENIE,USTANOWIW [email protected] PEREMEN-
[email protected] (SM.rAZDEL 11.7 [pEREMENNYE IZOBRAVENIQ],S.84).
eSLI KOMANDA NE MOVET BYTX WYPOLNENA,ONA W PE^ATAET\HO-OBLASTI SOOB]ENIE OB
O[IBKE.sOOB]ENIE OB O[IBKE SOPROWOVDAETSQ ZWUKOWYM SIGNALOM ILI MIGANIEM\KRANA.
kROME TOGO,KOGDA PROIZO[LA O[IBKA,[email protected] NABRANNYJ PERED\TIM WWOD SBRASYWAETSQ.
nEKOTORYE KOMANDY PE^[email protected] W\HO-OBLASTI INFORMACIONNYE SOOB]ENIQ.oNI POHOVI
NA SOOB]ENIQ OB O[IBKAH,NO BEZ ZWUKOWOGO SIGNALA,I NABRANNAQ RANEE INFORMACIQ NE
SBRASYWAETSQ.iNOGDA\TI SOOB]ENIQ GOWORQT WAM,^TO KOMANDA WYPOLNENA,W SLU^AE,ESLI
\TO QWNO NE [email protected] PRI PROSMOTRE REDAKTIRUEMOGO TEKSTA.iNOGDA EDINSTWENNOJ CE-
[email protected] KOMANDY QWLQETSQ PE^ATX SOOB]ENIQ,[email protected]]EGO WAM SPECIFI^[email protected] [email protected]
PRIMER,KOMANDA s-H = ISPOLXZUETSQ,^TOBY NAPE^ATATX SOOB]ENIE,[email protected]]EE [email protected]
TO^KI W TEKSTE I EE TEKU]IJ STOLBEC W OKNE.kOMANDY,[email protected]]IE DLQ SWOEGO WYPOLNENIQ
DLITELXNOE WREMQ,^ASTO WYWODQT WO WREMQ RABOTY SOOB]ENIQ,ZAKAN^[email protected]]IESQ NA`...',
A W KONCE,KOGDA ONI ZAKON^ILISX,SLOWO`done'.
iNFORMATIWNYE SOOB]ENIQ IZ\HO-OBLASTI [email protected] W BUFERE,NAZYWAEMOM
`*Messages*'.(mY E]E NE OB_QSNILI,^TO TAKOE BUFER;DLQ POLU^ENIQ BOLX[EJ
INFORMACII O NIH SMOTRITE gLAWA 15 [bUFERY],S.135.) eSLI WY PROPUSTILI SOOB]ENIE,
KOTOROE NEDOLGO OTOBRAVALOSX NA\KRANE,WY MOVETE [email protected]^ITXSQ W BUFER`*Messages*'
I SNOWA POSMOTRETX EGO.(pOSLEDOWATELXNYE SOOB]ENIQ O PROMEVUTO^NYH REZULXTATAH
^ASTO SWORA^[email protected] W\TOM BUFERE W ODNO.)
rAZMER BUFERA`*Messages*'OGRANI^EN OPREDELENNYM ^ISLOM STROK,\TO ^ISLO ZADAET
PEREMENNAQ message-log-max.kAK TOLXKO BUFER DORASTAET DO\TOGO RAZMERA,KAVDAQ NOWAQ
STROKA UDALQET ODNU STROKU IZ NA^ALA.sM.rAZDEL 31.2 [pEREMENNYE],S.343,^TOBY UZNATX,
KAK USTANOWITX PEREMENNYE,TAKIE KAK message-log-max.
|HO-OBLASTX ISPOLXZUETSQ TAKVE DLQ OTOBRAVENIQ MINIBUFERA:OKNA,KOTOROE ISPOLX-
ZUETSQ DLQ S^ITYWANIQ ARGUMENTOW DLQ KOMAND,NAPRIMER,IMENI FAJLA DLQ REDAKTIROWA-
NIQ.kOGDA ISPOLXZUETSQ MINIBUFER,\HO-OBLASTX NA^INAETSQ SO STROKI PODSKAZKI,KOTORAQ
gLAWA 1:oRGANIZACIQ\KRANA 25OBY^NO KON^AETSQ DWOETO^IEM;KROME TOGO,W\TOJ STROKE POQWLQETSQ KURSOR,TAK KAK ONA
STANOWITSQ WYBRANNYM OKNOM.wY WSEGDA MOVETE WYJTI IZ MINIBUFERA,NABRAW C-g.sM.gLAWA 5 [mINIBUFER],S.45.
1.3 sTROKA REVIMA
pOSLEDNQQ STROKA W KAVDOM OKNE NAZYWAETSQ STROKOJ REVIMA,ONA OPISYWAET PROISHO-
DQ]EE W\TOM OKNE.kOGDA IMEETSQ TOLXKO ODNO TEKSTOWOE OKNO,STROKA REVIMA NAHODITSQ
NEPOSREDSTWENNO NAD\[email protected];\TO PREDPOSLEDNQQ STROKA FREJMA.sTROKA REVIMA PO-
KAZYWAETSQ W INWERSNOM IZOBRAVENII,ESLI TERMINAL PODDERVIWAET\TO,I NA^INAETSQ I
KON^AETSQ DEFISAMI.
oBY^NO STROKA REVIMA WYGLQDIT TAK:
-SK:IZ BUF (OSNOWNOJ WTOROSTEPENNYE)-STR-POZ----
|TO DAET [email protected] O BUFERE,OTOBRAVENNOM W OKNE:EGO IMQ,ISPOLXZUEMYE OSNOWNOJ
I WTOROSTEPENNYJ REVIMY,IZMENQLSQ LI TEKST BUFERA,I KAK DALEKO WNIZ PO BUFERU WY
SEJ^AS NAHODITESX.
IZ SODERVIT DWE ZWEZDO^KI`**',ESLI TEKST W BUFERE REDAKTIROWALSQ (BUFER\IZMENEN"),
ILI`-',ESLI BUFER NE REDAKTIROWALSQ.dLQ BUFEROW,DOSTUPNYH TOLXKO DLQ ^TENIQ,\TO
`%*',ESLI BUFER IZMENEN,I`%%'W PROTIWNOM SLU^AE.
BUF |\TO IMQ BUFERA DANNOGO OKNA.~A]E WSEGO ONO SOWPADAET S IMENEM FAJLA,KOTORYJ
WY REDAKTIRUETE.sM.gLAWA 15 [bUFERY],S.135.
bUFER,NAHODQ]IJSQ W WYBRANNOM OKNE (W TOM OKNE,W KOTOROM NAHODITSQ KURSOR),QWLQ-
ETSQ TAKVE WYBRANNYM BUFEROM Emacs | TEM BUFEROM,GDE PROISHODIT REDAKTIROWANIE.
kOGDA MY GOWORIM,^TO NEKOTORYE KOMANDY [email protected]\DLQ BUFERA",MY GOWORIM O
TEKU]EM WYBRANNOM BUFERE.
STR |\TO`L',ZA KOTOROJ SLEDUET TEKU]EJ NOMER STROKI,GDE NAHODITSQ TO^KA.|TOT
NOMER WYWODITSQ,KOGDA [email protected]^EN REVIM Line Number (OBY^NO\TO TAK).wY MOVETE PO
[email protected] POKAZATX TAKVE I NOMER TEKU]EGO STOLBCA,[email protected]^IW REVIM Column Number (ON
NE [email protected]^AETSQ PO UMOL^[email protected],POTOMU ^TO RABOTAET NESKOLXKO MEDLENNEE).sM.rAZDEL 11.5
[wOZMOVNOSTI STROKI REVIMA],S.83.
POZ GOWORIT WAM,ESTX LI E]E TEKST SWERHU OT NA^ALA LIBO NIVE KONCA OKNA.eSLI
BUFER NEBOLX[OJ I UME]AETSQ W OKNE CELIKOM,TO POZ IMEET ZNA^ENIE`All'.iNA^E ON
IMEET ZNA^ENIE`Top',ESLI WY SMOTRITE NA^ALO FAJLA,`Bot',ESLI KONEC,LIBO`nn%',GDE nn
OZNA^AET KOLI^ESTWO PROCENTOW FAJLA,NAHODQ]EESQ NAD WERHOM OKNA.
OSNOWNOJ | IMQ OSNOWNOGO REVIMA,[email protected]]EGO W\TOM BUFERE.w [email protected] MOMENT
KAVDYJ BUFER NAHODITSQ W ODNOM I TOLXKO ODNOM IZ WOZMOVNYH OSNOWNYH REVIMOW.sU]E-
[email protected]]IE OSNOWNYE REVIMY [email protected]^[email protected] REVIM Fundamental (NAIMENEE SPECIALIZIROWAN-
NYJ),REVIM Text,REVIM Lisp,REVIM s,REVIM Texinfo I MNOGIE DRUGIE.sM.gLAWA 19
[oSNOWNYE REVIMY],S.175,^TOBY PODROBNEE UZNATX O TOM,^EM REVIMY OTLI^[email protected],I KAK
WYBRATX ODIN IZ NIH.
nEKOTORYE OSNOWNYE REVIMY [email protected] POSLE IMENI DOPOLNITELXNYE SWEDENIQ.nA-
PRIMER,BUFERY Rmail [email protected] NOMER TEKU]EGO SOOB]ENIQ I OB]EE ^ISLO SOOB]ENIJ.
bUFERY Compilation I Shell [email protected] SOSTOQNIE PODPROCESSA.
WTOROSTEPENNYE |\TO SPISOK NEKOTORYH WTOROSTEPENNYH REVIMOW,KOTORYE [email protected]^ENY
W DANNYJ MOMENT W BUFERE WYBRANNOGO OKNA.nAPRIMER,`Fill'ZNA^IT,^TO [email protected]^EN REVIM
Auto пЂЊll.`Abbrev'OZNA^AET,^TO [email protected]^EN REVIM Word Abbrev.`Ovwrt'OZNA^AET,^TO
[email protected]^EN REVIM Overwrite.sM.rAZDEL 31.1 [wTOROSTEPENNYE REVIMY],S.341,DLQ BOLEE
PODROBNOJ INFORMACII.`Narrow'OZNA^AET,^TO OBLASTX REDAKTIROWANIQ OTOBRAVAEMOGO
BUFERA OGRANI^ENA TOLXKO ^[email protected] EGO TEKSTA.nA SAMOM DELE\TO NE WTOROSTEPENNYJ REVIM,
NO DEJSTWUET POHOVE.sM.rAZDEL 30.8 [sUVENIE],S.335.`Def'OZNA^AET,^TO SEJ^AS
OPREDELQETSQ MAKROS KLAWIATURY.sM.rAZDEL 31.3 [mAKROSY KLAWIATURY],S.353.
26 rUKOWODSTWO PO GNU EmacskROME TOGO,ESLI W DANNYJ MOMENT Emacs NAHODITSQ WNUTRI UROWNQ REKURSIWNOGO RE-
DAKTIROWANIQ,TO WNUTRI KRUGLYH SKOBOK,KOTORYE [email protected] IMENA REVIMOW,[email protected]
KWADRATNYE SKOBKI (`[...]').eSLI Emacs NAHODITSQ NA NEKOTOROM UROWNE REKURSIWNOGO
REDAKTIROWANIQ WNUTRI DRUGOGO,TO [email protected] DWOJNYE KWADRATNYE SKOBKI,I TAK DALEE.
tAK KAK UROWENX REKURSIWNOGO REDAKTIROWANIQ OTNOSITSQ KO WSEMU Emacs,A NE K KAVDOMU
BUFERU W OTDELXNOSTI,TO KWADRATNYE SKOBKI [email protected] ILI W STROKAH REVIMA WSEH OKON
ILI NI W ODNOJ IZ NIH.sM.rAZDEL 30.12 [rEKURSIWNOE REDAKTIROWANIE],S.338.
nEOKONNYE TERMINALY MOGUT POKAZATX TOLXKO ODIN FREJM Emacs W ODNO WREMQ (SM.gLA-
WA 17 [fREJMY],S.147 ).nA TAKIH TERMINALAH STROKA REVIMA OTOBRAVAET IMQ WYBRANNOGO
FREJMA,POSLE IZ.nA^ALXNYJ FREJM NAZYWAETSQ`F1'.
SK OBOZNA^AET SISTEMU KODIROWANIQ,KOTORAQ ISPOLXZUETSQ W REDAKTIRUEMOM FAJLE.dE-
FIS UKAZYWAET NA SOSTOQNIE,USTANAWLIWAEMOE PO UMOL^[email protected]:OTSUTSTWIE PREOBRAZOWANIQ,
ZA [email protected]^ENIEM PREOBRAZOWANIQ KONCA STROKI,ESLI SODERVIMOE FAJLA TREBUET\TOGO.`='
OBOZNA^AET POLNOE OTSUTSTWIE PREOBRAZOWANIJ.nE STOLX PROSTYE PREOBRAZOWANIQ PRED-
[email protected] RAZLI^NYMI BUKWAMI | NAPRIMER,`1'OTNOSITSQ K ISO Latin-1.sM.rAZ-
DEL 18.7 [sISTEMY KODIROWANIQ],S.165,DLQ PODROBNOJ INFORMACII.eSLI WY ISPOLXZUETE
METOD WWODA,K NA^ALU SK DOBAWLQETSQ STROKA W FORME`W>';W IDENTIFICIRUET METOD WWODA.
(nEKOTORYE METODY WWODA [email protected] WMESTO`>'ZNAK`+'ILI`@'.) sM.rAZDEL 18.4 [mETODY
WWODA],S.163.
kOGDA WY POLXZUETESX TEKSTOWYM TERMINALOM (NE OKONNOJ SISTEMOJ),SK ISPOLXZUET
TRI ZNAKA DLQ OPISANIQ,SOOTWETSTWENNO,SISTEMY KODIROWANIQ DLQ WWODA S KLAWIATURY,
SISTEMY KODIROWANIQ DLQ TERMINALXNOGO WYWODA I SISTEMY KODIROWANIQ,PRIMENQEMOJ W
REDAKTIRUEMOM FAJLE.
kOGDA [email protected]^ENA PODDERVKA MNOGOBAJTNYH ZNAKOW,SK NE POQWLQETSQ SOWSEM.sM.rAZ-
DEL 18.2 [[email protected]^ENIE MNOGOBAJTNYH ZNAKOW],S.161.
dWOETO^IE POSLE SK MOVET MENQTXSQ W NEKOTORYH OBSTOQTELXSTWAH NA DRUGOJ ZNAK.Emacs
ISPOLXZUET DLQ RAZDELENIQ STROK W BUFERE PEREWOD STROKI.nEKOTORYE FAJLY [email protected]
DRUGOE SOGLA[ENIE O RAZDELENII STROK:WOZWRAT KARETKI I PEREWOD STROKI (SOGLA[ENIE MS-
DOS) ILI PROSTO WOZWRAT KARETKI (SOGLA[ENIE Macintosh).eSLI FAJL W BUFERE ISPOLXZUET
WOZWRAT KARETKI I PEREWOD STROKI,DWOETO^IE ZAMENQETSQ NA [email protected] [email protected] ^ERTU (`\') ILI
`(DOS)',W ZAWISIMOSTI OT WA[EJ OPERACIONNOJ SISTEMY.eSLI W\TOM FAJLE PRIMENQETSQ
PROSTO WOZWRAT KARETKI,TO DWOETO^IE ZAMENQETSQ NA [email protected] ^ERTU (`/') ILI`(Mac)'.nA
NEKOTORYH SISTEMAH Emacs POZYWAET WMESTO DWOETO^IQ STROKU`(Unix)',DAVE DLQ FAJLOW,
[email protected]]IH DLQ RAZDELENIQ STROK PEREWOD STROKI.
wY MOVETE NASTROITX SPOSOB OTOBRAVENIQ W STROKE REVIMA KAVDOGO IZ FORMATOW
RAZDELENIQ STROK,USTANAWLIWAQ PEREMENNYE eol-mnemonic-unix,eol-mnemonic-dos,eol-
mnemonic-mac I eol-mnemonic-undecided RAWNYMI STROKAM,KOTORYE WY NAHODITE POD-
HODQ]IMI.sM.rAZDEL 31.2 [pEREMENNYE],S.343,GDE OB_QSNQETSQ,KAK USTANAWLIWATX
PEREMENNYE.
sM.rAZDEL 11.5 [wOZMOVNOSTI STROKI REVIMA],S.83,PODROBNOSTI O WOZMOVNOSTQH
DOBAWLENIQ W STROKU REVIMA DRUGOJ POLEZNOJ INFORMACII,NAPRIMER NOMERA TEKU]EGO
STOLBCA W TO^KE,TEKU]EGO WREMENI I SOOB]ENIQ O PRIHODE PO^TY.
1.4 pOLOSKA [email protected]
kAVDYJ FREJM Emacs OBY^NO IMEET SWERHU POLOSKU [email protected],[email protected] WY MOVETE ISPOLX-
ZOWATX DLQ PROIZWEDENIQ OPREDELENNYH DEJSTWIJ.nET NEOBHODIMOSTI PERE^ISLQTX IH ZDESX,
POTOMU ^TO WAM PRO]E POSMOTRETX SAMIM.
kOGDA WY ISPOLXZUETE [email protected] SISTEMU,WY MOVETE WYBIRATX KOMANDY IZ POLOSKI [email protected]
PRI POMO]I MY[I.nAPRAWLENNAQ WPRAWO STRELKA POSLE PUNKTA [email protected] UKAZYWAET,^TO\TOT
PUNKT WEDET KO WTORI^NOMU [email protected];`...'W KONCE OZNA^AET,^TO DO NA^ALA RABOTY\TA KOMANDA
S^ITAET ARGUMENTY S KLAWIATURY.
gLAWA 1:oRGANIZACIQ\KRANA 27~TOBY PROSMOTRETX POLNOE IMQ KOMANDY I [email protected] K PUNKTU [email protected],NAPE^ATAJTE
C-h k I ZATEM WYBERITE NUVNYJ PUNKT S POMO][email protected] MY[I OBY^NYM SPOSOBOM.(SM.rAZ-
DEL 7.1 [sPRAWKA O [email protected]^AH],S.56 ).
nA TEKSTOWYH TERMINALAH,GDE NET MY[I,WY MOVETE ISPOLXZOWATX [email protected],NAPE^ATAW
M-`ILI
h F10i (ONI [email protected] KOMANDU tmm-menubar).|TA KOMANDA WHODIT W REVIM,GDE
WY MOVETE WYBRATX PUNKT [email protected] S POMO][email protected] KLAWIATURY.pREDWARITELXNYJ WYBOR POKA-
ZYWAETSQ W\HO-OBLASTI.wY MOVETE ISPOLXZOWATX [email protected] I [email protected] KURSORNYE STRELKI DLQ
DWIVENIQ PO [email protected] K RAZNYM PUNKTAM.kOGDA WY NA[LI NUVNYJ WAM PUNKT,NAPE^ATAJTE
h RETi,^TOBY WYBRATX EGO.
k KAVDOMU PUNKTU [email protected] TAKVE PRIPISYWAETSQ BUKWA ILI CIFRA;OBY^NO\TO PERWAQ
PERWAQ BUKWA KAKOGO-TO SLOWA IZ IMENI PUNKTA.|TA BUKWA ILI CIFRA OTDELQETSQ OT IMENI
ZNA^KOM`=>'.dLQ WYBORA PUNKTA WY MOVETE NAPE^ATATX EGO BUKWU ILI CIFRU.
nEKOTORYE KOMANDY W [email protected] [email protected] TAKVE OBY^NYE PRIWQZKI K [email protected]^U;W TAKOM SLU^AE
POSLE SAMOGO PUNKTA PERE^ISLQETSQ ODIN\KWIWALENTNYJ [email protected]^ W KRUGLYH SKOBKAH.
28 rUKOWODSTWO PO GNU Emacs
gLAWA 2:zNAKI,[email protected]^I I KOMANDY 292 zNAKI,[email protected]^I I KOMANDY
|TA GLAWA RASSKAZYWAET O NABORAH ZNAKOW,ISPOLXZUEMYH W Emacs DLQ WWODA KOMAND I
WNUTRI FAJLOW,A TAKVE OB_QSNQET KONCEPCII [email protected]^EJ I KOMAND,KOTORYE NEOBHODIMY DLQ
PONIMANIQ TOGO,KAK Emacs WOSPRINIMAET WWOD S KLAWIATURY I MY[I.
2.1 wIDY POLXZOWATELXSKOGO WWODA
GNU Emacs ISPOLXZUET DLQ WWODA S KLAWIATURY RAS[IRENIE NABORA ZNAKOW ASCII;ON
TAKVE WOSPRINIMAET NEZNAKOWYE SOBYTIQ,[email protected]^AQ FUNKCIONALXNYE KLAWI[I I DEJSTWIQ
S KLAWI[AMI MY[I.
ASCII SOSTOIT IZ 128 ZNAKOWYH KODOW.nEKOTORYM IZ\TIH KODOW PRIPISANY GRAFI^ESKIE
OBOZNA^ENIQ,TAKIE KAK`A'I`=';OSTALXNYE [email protected] [email protected]]IMI ZNAKAMI,NAPRIMER
COntrol-a (TAKVE IMENUETSQ s-A DLQ KRATKOSTI).C-a POLU^IL SWOE IMQ IZ-ZA TOGO,^TO WY
NABIRAETE EGO,ZAVAW KLAWI[U
hCTRLi I ZATEM NAVAW A.
u NEKOTORYH [email protected]]IH ZNAKOW ASCII ESTX SPECIALXNYE NAZWANIQ,I BOLX[INSTWO
TERMINALOW [email protected] SPECIALXNYE KLAWI[I,S POMO][email protected] KOTORYH IH MOVNO NABRATX,NAPRI-
MER:h RETi,hTABi,hDELi I hESCi.zNAK PROBELA OBY^NO OBOZNA^AETSQ NIVE KAK hSPCi,HOTQ
STROGO GOWORQ,ON QWLQETSQ GRAFI^ESKIM ZNAKOM,^XE IZOBRAVENIE DOLVNO BYTX PUSTYM.
nA NEKOTORYH KLAWIATURAH ESTX KLAWI[A\linefeed";\TO DRUGOE NAZWANIE DLQ C-j.
Emacs RAS[IRQET MNOVESTWO ZNAKOW ASCII TYSQ^AMI DRUGIH PE^ATNYH ZNAKOW (SM.gLA-
WA 18 [MULE],S.161 ),DOPOLNITELXNYMI [email protected]]IMI ZNAKAMI I NESKOLXKIMI MODIFI-
KATORAMI,KOTORYE MOVNO KOMBINIROWATX S [email protected] DRUGIM ZNAKOM.
nA ASCII-TERMINALAH SU]ESTWUET TOLXKO 32 [email protected]]IH ZNAKA.|TO WARIANTY S MODI-
FIKATOROM control DLQ BUKW I ZNAKOW`@[]\^_'.kROME TOGO,KLAWI[A shift NE IMEET SMYSLA
S [email protected]]IMI ZNAKAMI:C-a I C-A |\TO ODNO I TO VE,I Emacs NE MOVET IH RAZLI^ITX.
nO WO MNOVESTWE ZNAKOW Emacs ESTX MESTO DLQ WARIANTOW S control DLQ WSEH PE^ATNYH
ZNAKOW I DLQ RAZLI^ENIQ MEVDU C-a I C-A.X Windows POZWOLQET WWESTI WSE\TI ZNAKI.
nAPRIMER,C- (TO ESTX Control-MINUS) I C-5 |DOPUSTIMYE KOMANDY Emacs W SISTEME X.
e]E ODNO RAS[IRENIE MNOVESTWA ZNAKOW Emacs |\TO DOPOLNITELXNYE BITY MODIFIKA-
TOROW.~A]E WSEGO ISPOLXZUETSQ TOLXKO ODIN BIT-MODIFIKATOR,ON NAZYWAETSQ Meta.dLQ
[email protected] ZNAKA ESTX EGO Meta-WARIANT;PRIMERY [email protected]^[email protected] Meta-A (DLQ KRATKOSTI m-A),m-a
(\TO NE TO VE SAMOE,^TO m-A,NO\TI DWA ZNAKA [email protected] OBY^NO ODNO I TO VE ZNA^ENIE W
Emacs),M-
h RETi I M-C-a.pO TRADICII MY OBY^NO PI[EM s-m-A,A NE m-s-A;NO LOGI^NO
GOWORQ,PORQDOK NABORA KLAWI[ hCTRLi I hMETAi NE IMEET ZNA^ENIQ.
nEKOTORYE TERMINALY [email protected] KLAWI[U h METAi I [email protected] NABIRATX Meta-ZNAKI,NAVAW
\TU KLAWI[U.tAKIM OBRAZOM,Meta-A NABIRAETSQ PUTEM ODNOWREMENNOGO NAVATIQ KLAWI[
h METAi I A.kLAWI[A hMETAi RABOTAET O^ENX POHOVE NA hSHIFTi.pODOBNYE KLAWI[I NE WSEGDA
METQTSQ h METAi,TAK KAK\TI FUNKCII ^ASTO [email protected] SPECIALXNYMI KLAWI[AM S
KAKIM-TO DRUGIM PERWONA^ALXNYM ZNA^ENIEM.
eSLI U WAS NET KLAWI[I hMETAi,WY WSE VE MOVETE NABRATX Meta-ZNAKI,ISPOLXZUQ POSLE-
DOWATELXNOSTX DWUH ZNAKOW,NA^[email protected]][email protected] S hESCi.tAKIM OBRAZOM,^TOBY WWESTI M-A,WY
MOVETE NABRATX h ESCi a.~TOBY WWESTI s-m-A,WY DOLVNY NABRATX hESCi C-a.hESCi RAZRE[E-
NA TAKVE I NA TERMINALAH S KLAWI[AMI h METAi,NA SLU^AJ,ESLI WY PRIWYKLI ISPOLXZOWATX
EE.
X Windows PREDOSTAWLQET NESKOLXKO DRUGIH KLAWI[-MODIFIKATOROW,KOTORYE MOGUT
BYTX PRIMENENY K [email protected] WWODIMOMU ZNAKU.|TI KLAWI[I [email protected] hSUPERi,hHYPERi
I h ALTi.mY PI[EM`s-',`H-'I`A-',^TOBY SKAZATX,^TO ZNAK ISPOLXZUET\TI MODIFIKA-
TORY.tAKIM OBRAZOM,s-H-C-x |\TO SOKRA]ENIE DLQ Super-Hyper-Control-x.nE WSE
X-TERMINALY W DEJSTWITELXNOSTI [email protected] KLAWI[I DLQ\TIH MODIFIKATOROW |
FAKTI^ESKI MNOGIE TERMINALY [email protected] KLAWI[U,POME^[email protected] hALTi,KOTORAQ NA SAMOM DELE
30 rUKOWODSTWO PO GNU EmacsQWLQETSQ KLAWI[EJ hMETAi.sTANDARTNYE PRIWQZKI [email protected]^EJ Emacs NE SODERVAT KAKIH-LIBO
ZNAKOW S\TIMI MODIFIKATORAMI.nO WY MOVETE PRIDATX IM SWOI ZNA^ENIQ,NASTRAIWAQ
Emacs.
wWOD S KLAWIATURY [email protected]^AET KLAWI[I,NE [email protected]]IE ZNAKAMI:NAPRIMER FUNKCIONALX-
NYE KLAWI[I I KURSORNYE STRELKI.kNOPKI MY[I TAKVE [email protected] IZ GAMMY ZNAKOW.wY
MOVETE MODIFICIROWATX\TI SOBYTIQ S POMO][email protected] KLAWI[-MODIFIKATOROW
hCTRLi,hMETAi,
h SUPERi,hHYPERi I hALTi TO^NO TAK VE,KAK I ZNAKI KLAWIATURY.
wWODIMYE ZNAKI I NEZNAKOWYJ WWOD WMESTE [email protected] SOBYTIQMI.sM.RAZDEL\Input
Events"W The Emacs Lisp Reference Manual,DLQ DALXNEJ[EJ INFORMACII.eSLI WY NE
PROGRAMMIRUETE NA lISPE,A PROSTO HOTITE PEREOPREDELITX ZNA^ENIQ NEKOTORYH ZNAKOW I
NEZNAKOWYH SOBYTIJ,SMOTRITE gLAWA 31 [nASTROJKA],S.341.
ASCII-TERMINALY W DEJSTWITELXNOSTI NE MOGUT POSYLATX NI^EGO,KROME ZNAKOW ASCII.
tAKIE TERMINALY [email protected] DLQ PREDSTAWLENIQ KAVDOJ FUNKCIONALXNOJ KLAWI[I POSLE-
DOWATELXNOSTX ZNAKOW.nO\TO NEWIDIMO DLQ POLXZOWATELQ Emacs,POTOMU ^TO PROCEDURY
OBRABOTKI WWODA S KLAWIATURY [email protected]\TI OSOBYE POSLEDOWATELXNOSTI I [email protected]
IH W SOBYTIQ FUNKCIONALXNYH KLAWI[ DO TOGO,KAK [email protected] DRUGIE ^ASTI Emacs MOGUT IH
UWIDETX.
2.2 [email protected]^I
pOSLEDOWATELXNOSTX [email protected]^EJ,(ILI KOROTKO,[email protected]^) ESTX POSLEDOWATELXNOSTX WWODIMYH
SOBYTIJ,KOTORAQ WOSPRINIMAETSQ KAK CELOE,KAK\EDINAQ KOMANDA".nEKOTORYE KOMANDNYE
POSLEDOWATELXNOSTI Emacs |\TO PROSTO ODINO^NYJ ZNAK ILI ODNO SOBYTIE;NAPRIMER,
PROSTO C-f DOSTATO^NO DLQ PEREME]ENIQ WPERED NA ODIN ZNAK.nO W Emacs TAKVE ESTX
KOMANDY,KOTORYE [email protected] DWUMQ ILI BOLEE SOBYTIQMI.
eSLI POSLEDOWATELXNOSTX SOBYTIJ DOSTATO^NA DLQ WYZOWA KOMANDY,ONA QWLQETSQ ZAKON-
^ENNYM [email protected]^OM.pRIMEROM ZAKON^ENNYH [email protected]^EJ MOGUT BYTX C-a,X,
hRETi,hNEXTi (FUNK-
CIONALXNAQ KLAWI[A),h DOWNi (STRELKA),C-x C-f I C-x 4 C-f.eSLI POSLEDOWATELXNOSTX
NEDOSTATO^NA,^TOBY SOSTAWITX ZAKON^ENNYJ [email protected]^,ONA NAZYWAETSQ PREFIKSNYM [email protected]^OM.
w PRIMERAH WY[E C-x I C-x 4 [email protected] PREFIKSNYMI [email protected]^[email protected] POSLEDOWATELX-
NOSTX [email protected]^EJ |\TO LIBO ZAKON^ENNYJ,LIBO PREFIKSNYJ [email protected]^.
bOLX[INSTWO ODINO^NYH ZNAKOW [email protected] ZAKON^ENNYMI [email protected]^AMI W STANDARTNYH PRI-
WQZKAH KOMAND Emacs.nEMNOGIE IZ NIH [email protected] PREFIKSNYMI [email protected]^AMI.pREFIKSNYJ
[email protected]^ OB_EDINQETSQ SO [email protected]]IM SOBYTIEM W BOLEE [email protected] POSLEDOWATELXNOSTX [email protected]^EJ,
KOTORAQ SAMA MOVET BYTX ZAKON^ENNOJ ILI PREFIKSNOJ.nAPRIMER,C-x |\TO PREFIKSNYJ
[email protected]^,PO\TOMU C-x I [email protected]]EE SOBYTIE [email protected] W [email protected] POSLEDOWATELX-
NOSTX [email protected]^EJ.bOLX[INSTWO\TIH POSLEDOWATELXNOSTEJ [email protected] ZAKON^ENNYMI [email protected]^AMI,
W TOM ^ISLE C-x C-f I C-x b.nEKOTORYE,NAPRIMER C-x 4 I C-x r,SAMI [email protected] PREFIKS-
NYMI [email protected]^AMI,PRIWODQ]IMI K TREHZNAKOWYM POSLEDOWATELXNOSTQM [email protected]^EJ.nET OGRA-
NI^ENIQ NA DLINU POSLEDOWATELXNOSTI [email protected]^EJ,NO NA PRAKTIKE [email protected] REDKO [email protected]
POSLEDOWATELXNOSTI DLINNEE ^ETYREH SOBYTIJ.
nAPROTIW,DOBAWITX SOBYTIQ K ZAKON^ENNOMU [email protected]^U WY NE MOVETE.nAPRIMER,DWUHZNA-
KOWAQ POSLEDOWATELXNOSTX C-f C-k NE QWLQETSQ [email protected]^OM,TAK KAK C-f QWLQETSQ ZAKON^ENNYM
[email protected]^OM SAMA PO SEBE.nEWOZMOVNO DATX C-f C-k NEZAWISIMOE ZNA^ENIE KAK KOMANDE.C-f
C-k |\TO DWE KOMANDY,A NE ODNA.
iZ WSEGO SKAZANNOGO SLEDUET,^TO PREFIKSNYMI [email protected]^AMI W Emacs [email protected] C-c,C-h,
C-x,C-x h RETi,C-x @,C-x a,C-x n,C-x r,C-x v,C-x 4,C-x 5,C-x 6,hESCi,M-g I M-j.nO
\TOT SPISOK NE WSTROEN;\TO PROSTO STANDARTNAQ PRIWQZKA [email protected]^EJ W Emacs.w PROCESSE
NASTROJKI Emacs WY MOVETE SDELATX NOWYE PREFIKSNYE [email protected]^I ILI UNI^TOVITX\TI.sM.rAZDEL 31.4 [pRIWQZKI [email protected]^EJ],S.356.
eSLI WY W SAMOM DELE SOZDAETE ILI UDALQETE PREFIKSNYE [email protected]^I,\TO IZMENQET NABOR
WOZMOVNYH POSLEDOWATELXNOSTEJ [email protected]^EJ.nAPRIMER,ESLI WY PEREOPREDELQETE C-f KAK
gLAWA 2:zNAKI,[email protected]^I I KOMANDY 31PREFIKS,C-f C-k AWTOMATI^ESKI STANOWQTSQ [email protected]^OM (ZAKON^ENNYM,ESLI WY NE OPREDELITE
EGO TOVE KAK PREFIKS).nAOBOROT,ESLI WY UNI^TOVITE OPREDELENIE PREFIKSA C-x 4,TO s-H
4 f (ILI s-H 4 ^TO-NIBUDX) NE BUDET W DALXNEJ[EM [email protected]^OM.
nAPE^ATAW ZNAK WYZOWA SPRAWKI (C-h ILI
hF1i) POSLE PREFIKSNOGO ZNAKA,WY POLU^ITE
SPISOK KOMAND,NA^[email protected]]IHSQ S\TOGO PREFIKSA.eSTX NESKOLXKO PREFIKSNYH ZNAKOW,DLQ
KOTORYH C-h NE RABOTAET | PO ISTORI^ESKIM PRI^INAM U NIH ESTX DRUGOE ZNA^ENIE DLQ
C-h,KOTOROE NEPROSTO IZMENITX.nO h F1i DOLVNA RABOTATX DLQ WSEH PREFIKSNYH ZNAKOW.
2.3 [email protected]^I I KOMANDY
w\TOM RUKOWODSTWE MNOGO OTRYWKOW,KOTORYE GOWORQT WAM,^TO [email protected] OTDELXNYE [email protected]
^I.nO Emacs NE OPREDELQET ZNA^ENIE [email protected]^EJ NEPOSREDSTWENNO.wMESTO\TOGO Emacs
PRISWAIWAET ZNA^ENIE IMENOWANNYM KOMANDAM I ZATEM PRIDAET [email protected]^AM ZNA^ENIQ PUTEM
PRIWQZKI IH K KOMANDAM.
kAVDAQ KOMANDA IMEET IMQ,WYBRANNOE DLQ NEE PROGRAMMISTOM.oBY^NO\TO IMQ SO-
STAWLQETSQ IZ NESKOLXKIH ANGLIJSKIH SLOW,RAZDELENNYH DEFISAMI;NAPRIMER,next-line
ILI forward-word.u KOMANDY TAKVE ESTX OPREDELENIE,[email protected]]EESQ PROGRAMMOJ NA lIS-
PE;ONA ZASTAWLQET [email protected] DELATX TO,^TO ONA DELAET.nA SAMOM DELE,KOMANDA W QZYKE
Emacs Lisp |\TO OSOBAQ RAZNOWIDNOSTX LISPOWSKOJ FUNKCII;\TO TAKAQ FUNKCIQ,KOTORAQ
UKAZYWAET,KAK ^ITATX ARGUMENTY PRI INTERAKTIWNOM WYZOWE.dLQ POLU^ENIQ BOLX[EJ IN-
FORMACII O KOMANDAH I FUNKCIQH SMOTRITERAZDEL\What Is a Function"W The Emacs Lisp
Reference Manual.(oPREDELENIE,KOTOROE MY ISPOLXZOWALI W DANNOM RUKOWODSTWE,SLEGKA
UPRO]ENO.)
sWQZX MEVDU [email protected]^AMI I FUNKCIQMI ZAPISYWAETSQ W RAZLI^NYH TABLICAH,NAZYWAEMYH
TABLICAMI [email protected]^EJ.sM.rAZDEL 31.4.1 [tABLICY [email protected]^EJ],S.356.
kOGDA MY GOWORIM,^TO\C-n SDWIGAET WERTIKALXNO WNIZ NA ODNU STROKU",MY ZAMAL^I-
WAEM OTLI^IE,KOTOROE NE OTNOSITSQ K DELU PRI OBY^NOM ISPOLXZOWANII,NO SU]ESTWENNO
DLQ PONIMANIQ TOGO,KAK NASTRAIWAETSQ Emacs.|TO KOMANDA next-line,KOTORAQ ZAPRO-
GRAMMIROWANA NA SDWIG [email protected]^ C-n IMEET TAKOE DEJSTWIE,TAK KAK ON PRIWQZAN K\TOJ
KOMANDE.eSLI WY PEREPRIWQVETE s-n K KOMANDE forward-word,TO ON BUDET PEREME]ATX NA
ODNO SLOWO WPERED.pEREPRIWQZKA KLAWI[ |OBY^NYJ METOD NASTROJKI.
w OSTALXNOJ ^ASTI\TOGO RUKOWODSTWA MY OBY^NO BUDEM IGNORIROWATX\TU TONKOSTX,
^TOBY SOHRANITX PROSTOTU.~TOBY DATX [email protected] DLQ NASTROJKI [email protected],MY
STAWIM IMQ KOMANDY,KOTORAQ W DEJSTWITELXNOSTI WYPOLNQET RABOTU,W KRUGLYH SKOBKAH
POSLE SSYLKI NA [email protected]^,KOTORYJ EE ZAPUSKAET.nAPRIMER,MY BUDEM GOWORITX:\kOMANDA s-n
(next-line) PEREDWIGAET TO^KU WNIZ",IMEQ W WIDU,^TO next-line |\TO KOMANDA,KOTORAQ
DWIGAET WNIZ,A s-n |\TO [email protected]^,KOTORYJ STANDARTNO PRIWQZAN K NEJ.
rAZ UV MY GOWORIM SEJ^AS TOLXKO OB INFORMACII DLQ NASTROJKI,TO\TO PODHODQ]IJ MO-
MENT,^TOBY RASSKAZATX WAM O PEREMENNYH.~ASTO OPISANIE KOMAND BUDET GOWORITX:\~TOBY
IZMENITX\TO,USTANOWITE [email protected] mumble-foo".pEREMENNAQ |\TO IMQ,ISPOLXZUEMOE
DLQ ZAPOMINANIQ ZNA^ENIQ.mNOGIE OPISANNYE W\TOM RUKOWODSTWE PEREMENNYE SU][email protected]
PROSTO DLQ OBLEG^ENIQ NASTROJKI:NEKOTORAQ KOMANDA ILI DRUGAQ ^ASTX Emacs PROWERQET
[email protected] I WEDET SEBQ PO-RAZNOMU W ZAWISIMOSTI OT EE ZNA^ENIQ.pOKA WY NE INTERE-
SUETESX NASTROJKOJ,WY MOVETE PROPUSTITX [email protected] O PEREMENNYH.kOGDA WY BUDETE
GOTOWY,^TOBY ZAINTERESOWATXSQ,PRO^ITAJTE BAZOWYE SWEDENIQ O PEREMENNYH,I TOGDA IN-
FORMACIQ OB OTDELXNYH PEREMENNYH BUDET IMETX SMYSL.sM.rAZDEL 31.2 [pEREMENNYE],
S.343.
2.4 nABORY ZNAKOW DLQ TEKSTA
tEKST W BUFERAH Emacs |\TO POSLEDOWATELXNOSTX WOSXMIBITNYH BAJT.kAVDYJ BAJT
MOVET SODERVATX ODIN ZNAK ASCII.dOPUSTIMY KAK [email protected]]IE ZNAKI ASCII (S WOSXME-
32 rUKOWODSTWO PO GNU EmacsRI^NYMI KODAMI OT 000 DO 037,I 0177),TAK I PE^ATNYE ASCII-ZNAKI (S KODAMI OT 040
DO 0176);ODNAKO,[email protected]]IE ZNAKI NE IZ ASCII NE MOGUT POQWITXSQ W BUFERE.dRU-
GIE FLAGI-MODIFIKATORY,ISPOLXZUEMYE PRI WWODE S KLAWIATURY,TAKIE KAK Meta,TAKVE
NEDOPUSTIMY W BUFERAH.
nEKOTORYE [email protected]]IE ZNAKI ASCII SLUVAT W TEKSTE DLQ OSOBYH CELEJ I [email protected] OSO-
BYE NAZWANIQ.nAPRIMER,ZNAK NOWOJ STROKI (WOSXMERI^NYJ KOD 012) ISPOLXZUETSQ W BUFERE
DLQ ZAWER[ENIQ STROKI,A SIMWOL TABULQCII (WOSXMERI^NYJ KOD 011) ISPOLXZUETSQ DLQ SO-
ZDANIQ OTSTUPA DO [email protected]]EJ POZICII TABULQCII (OBY^NO ^EREZ KAVDYE 8 STOLBCOW).sM.rAZDEL 11.6 [oTOBRAVENIE TEKSTA],S.84.
pE^ATNYE ZNAKI,NE WHODQ]IE W ASCII,TAKVE MOGUT POQWLQTXSQ W BUFERAH.kOGDA
[email protected]^ENY MNOGOBAJTNYE ZNAKI,WY MOVETE ISPOLXZOWATX [email protected] PE^ATNYE NE-ASCII-ZNAKI,
KOTORYE Emacs PODDERVIWAET.oNI [email protected] KODY,NA^[email protected]]IESQ OT 256,ILI WOSXMERI^NOGO
0400,I KAVDYJ IZ NIH PREDSTAWLQETSQ KAK POSLEDOWATELXNOSTX DWUH ILI BOLEE BAJT.sM.gLAWA 18 [MULE],S.161.
eSLI WY [email protected]^ITE PODDERVKU MNOGOBAJTNYH ZNAKOW,TO SMOVETE ISPOLXZOWATX TOLXKO
ODIN ALFAWIT NE-ASCII-ZNAKOW,KAVDYJ IZ KOTORYH WME]AETSQ W ODIN BAJT.dLQ NIH
[email protected] KODY OT 0200 DO 0377.sM.rAZDEL 18.12 [oDNOBAJTNYE EWROPEJSKIE ZNAKI],
S.172.
gLAWA 3:wHOD I WYHOD IZ Emacs 333 wHOD I WYHOD IZ Emacs
oBY^NO DLQ WYZOWA Emacs DOSTATO^NO PROSTO NABRATX`emacs'W OBOLO^KE.Emacs O^I]A-
ET\KRAN I OTOBRAVAET NA^ALXNYE SPRAWO^NYE SWEDENIQ I UWEDOMLENIE OB AWTORSKIH PRA-
WAH.nEKOTORYE OPERACIONNYE SISTEMY [email protected] WSE NABRANNOE PERED TEM,KAK Emacs
STARTUET;ONI NE [email protected] Emacs WOZMOVNOSTI PREDOTWRATITX\TO.pO\TOMU REKOMENDUETSQ
PODOVDATX,POKA Emacs O^ISTIT\KRAN,I TOLXKO POTOM NABRATX WA[U [email protected] KOMANDU
REDAKTIROWANIQ.
eSLI WY ZAPUSKAETE Emacs IZ OKNA S OBOLO^KOJ W SISTEME X Windows,ZAPUSKAJTE EGO W
FONOWOM REVIME S POMO][email protected]`emacs&'.tOGDA Emacs NE SWQVET OKNO OBOLO^KI,I WY SMOVETE
WYPOLNQTX DRUGIE KOMANDY,POKA Emacs RABOTAET W SWOIH X-OKNAH.wY MOVETE NA^INATX
PE^ATATX KOMANDY,KAK TOLXKO NAPRAWITE WWOD S KLAWIATURY WO FREJM Emacs.
kOGDA Emacs NA^INAET RABOTU,ON SOZDAET BUFER,NAZYWAEMYJ`*scratch*'.|TO BUFER,
KOTORYJ PREDOSTAWLQETSQ WAM PERWONA^ALXNO.bUFER`*scratch*'ISPOLXZUET REVIM Lisp
Interaction;WY MOVETE NABIRATX W NEM lISP-WYRAVENIQ I WY^ISLQTX IH,LIBO WY MOVETE
PROIGNORIROWATX [email protected] WOZMOVNOSTX I PROSTO PISATX W NEM ZAMETKI.(wY MOVETE ZA-
DATX DLQ\TOGO BUFERA DRUGOJ OSNOWNOJ REVIM,USTANOWIW W WA[EM FAJLE INICIALIZACII
[email protected] initial-major-mode.sM.rAZDEL 31.7 [fAJL INICIALIZACII],S.366.)
iZ ARGUMENTOW W KOMANDNOJ STROKE OBOLO^KI MOVNO UKAZATX FAJLY,K KOTORYM WY HO-
TITE OBRATITXSQ,lISP-FAJLY DLQ ZAGRUZKI I FUNKCII,KOTORYE BUDUT WYZWANY.sM.pRI-
LOVENIE A [aRGUMENTY KOMANDNOJ STROKI],S.385.nO MY NE REKOMENDUEM TAK DELATX.|TA
WOZMOVNOSTX SU]ESTWUET PREIMU]ESTWENNO DLQ SOWMESTIMOSTI S DRUGIMI REDAKTORAMI.
mNOGIE REDAKTORY SPROEKTIROWANY TAK,^TO [email protected] SNOWA KAVDYJ RAZ,KOGDA WY
HOTITE REDAKTIROWATX.wY REDAKTIRUETE ODIN FAJL I ZATEM WYHODITE IZ REDAKTORA.w
[email protected]]IJ RAZ,KOGDA WY HOTITE REDAKTIROWATX DRUGOJ FAJL ILI TOT VE SAMYJ,WY DOLV-
NY ZAPUSTITX REDAKTOR SNOWA.s TAKIMI REDAKTORAMI IMEET SMYSL ISPOLXZOWATX ARGUMENT
KOMANDNOJ STROKI,^TOBY SOOB]ITX,KAKOJ FAJL BUDET REDAKTIROWATXSQ.
nO NE IMEET SMYSLA ZAPUSKATX NOWYJ Emacs KAVDYJ RAZ,KOGDA WY HOTITE REDAKTI-
ROWATX DRUGOJ FAJL.s ODNOJ STORONY,\TO BYLO BY [email protected]]E MEDLENNO.s DRUGOJ
STORONY,PRI\TOM NE ISPOLXZOWALASX BY SPOSOBNOSTX Emacs OBRA]ATXSQ K NESKOLXKIM
FAJLAM ZA ODIN SEANS REDAKTIROWANIQ.i PRI\TOM TERQLISX BY NAKOPLENNYE SWEDENIQ O
KONTEKSTE:REGISTRY,ISTORIQ OTMENY IZMENENIJ,SPISOK POMETOK I DRUGIE.
rEKOMENDUEMYJ SPOSOB ISPOLXZOWANIQ GNU Emacs | ZAPUSKATX EGO TOLXKO ODIN RAZ
SRAZU POSLE WHODA W SISTEMU I DELATX WSE WA[I REDAKCII W ODNOM I TOM VE PROCESSE
Emacs.kAVDYJ RAZ,KOGDA WY HOTITE REDAKTIROWATX DRUGOJ FAJL,WY WYZYWAETE EGO W
UVE SU][email protected]]IJ Emacs,KOTORYJ W KONCE KONCOW PREDNAZNA^EN,^TOBY HRANITX MNOGO
FAJLOW,GOTOWYH DLQ REDAKTIROWANIQ.oBY^NO WY NE UNI^TOVAETE Emacs DO TEH POR,POKA
NE RE[ITE WYJTI IZ SISTEMY.sM.gLAWA 14 [fAJLY],S.105,DLQ POLU^ENIQ INFORMACII O
REDAKTIROWANII NESKOLXKIH FAJLOW ODNOWREMENNO.
3.1 wYHOD IZ Emacs
sU]ESTWUET DWE KOMANDY WYHODA IZ Emacs,TAK KAK SU]ESTWUET DWA WIDA WYHODA:PRI-
OSTANOWKA Emacs I UNI^TOVENIE Emacs.
pRIOSTANOWKA OZNA^AET [email protected] OSTANOWKU Emacs I WOZWRAT UPRAWLENIQ EGO RODI-
TELXSKOMU PROCESSU (OBY^NO\TO OBOLO^KA),ONA POZWOLQET WAM POZDNEE WOZOBNOWITX REDAK-
TIROWANIE W TOM VE ZADANII Emacs,S TEMI VE BUFERAMI,S TEM VE SPISKOM UNI^TOVENIJ,
S TOJ VE ISTORIEJ OTMENY I TAK DALEE.|TO OBY^NYJ SPOSOB WYHODA.
uNI^TOVENIE Emacs PODRAZUMEWAET UNI^TOVENIE ZADANIQ Emacs.wY SNOWA MOVETE
ZAPUSTITX Emacs POZDNEE,NO WY POLU^ITE NOWYJ Emacs.nET SPOSOBA WOZOBNOWITX TOT VE
SEANS REDAKTIROWANIQ POSLE EGO UNI^TOVENIQ.
34 rUKOWODSTWO PO GNU EmacsC-z pRIOSTANOWITX Emacs (suspend-emacs) ILI MINIMIZIROWATX TEKU]IJ FREJM
(iconify-or-deiconify-frame).
C-x C-c uNI^TOVITX Emacs (save-buffers-kill-emacs).
~TOBY PRIOSTANOWITX Emacs,NABERITE C-z (suspend-emacs).|TO WERNET WAS OBRATNO
W OBOLO^KU,IZ KOTOROJ WY WYZYWALI Emacs.wY MOVETE WOZOBNOWITX Emacs S POMO][email protected]
KOMANDY`%Emacs'W BOLX[INSTWE OBY^NYH OBOLO^EK.
w SISTEMAH,KOTORYE NE [email protected] PROGRAMMAM PRIOSTANAWLIWATXSQ,C-z ZAPUSKAET
POD^[email protected] OBOLO^KU,KOTORAQ SWQZANA PRQMO S TERMINALOM,I Emacs VDET,POKA WY NE
POKINETE PODOBOLO^KU.(sKOREE WSEGO,WY MOVETE SDELATX\TO S POMO][email protected] C-d ILI`exit',NO
\TO ZAWISIT OT ISPOLXZUEMOJ OBOLO^KI.) w\TIH SISTEMAH EDINSTWENNYJ SPOSOB WERNUTXSQ
W OBOLO^KU,IZ KOTOROJ Emacs BYL ZAPU]EN (^TOBY WYJTI IZ SISTEMY,NAPRIMER),|\TO
UNI^TOVITX Emacs.
pRIOSTANOWKA TAKVE NEWOZMOVNA,ESLI WY ZAPUSTILI Emacs IZ OBOLO^KI,NE PODDER-
[email protected]]EJ PRIOSTANOWKU PROGRAMM,DAVE ESLI SISTEMA EE PODDERIWAET.w TAKOM SLU^AE
WY MOVETE USTANOWITX [email protected] cannot-suspend W OTLI^NOE OT nil ZNA^ENIE,^TOBY
PRINUDITX C-z ZAPUSKATX POD^[email protected] OBOLO^KU.(mOVNO BYLO BY NAZWATX [email protected]
OBOLO^KU Emacs TOVE\POD^INENNOJ"ZA NEUMENIE PRAWILXNO UPRAWLQTX ZADANIQMI,NO\TO
WOPROS WKUSA.)
kOGDA Emacs [email protected] OB]AETSQ S X-SERWEROM I SOZDAET SOBSTWENNYE WYDELENNYE X-
OKNA,C-z IMEET DRUGOJ SMYSL.pRIOSTANOWKA PRILOVENIQ,ISPOLXZUE]EGO SOBSTWENNYE
X-OKNA,BESSMYSLENNA I BESPOLEZNA.wMESTO\TOGO,C-z ZAPUSKAET KOMANDU iconify-or-
deiconify-frame,KOTORAQ WREMENNO ZAKRYWAET WYBRANNYJ FREJM Emacs (SM.gLAWA 17
[fREJMY],S.147 ).sNOWA POLU^ITX DOSTUP K\TOMU FREJMU MOVNO S POMO][email protected] PROGRAMMY
UPRAWLENIQ OKNAMI.
~TOBY UNI^TOVITX Emacs,NABERITE C-x C-c (save-buffer-kill-emacs).dWUHZNAKO-
WYJ [email protected]^ ISPOLXZUETSQ DLQ TOGO,^TOBY EGO BYLO TRUDNEE NABRATX.|TA KOMANDA SNA^ALA
PREDLAGAET SOHRANITX WSE MODIFICIROWANNYE OBRA][email protected]]IESQ K FAJLAM BUFERY.eSLI WY
NE SOHRANQETE IH WSE,ONA ZAPRA[IWAET NOWOE PODTWERVDENIE S POMO][email protected] yes PERED UNI^TO-
VENIEM Emacs,TAK KAK [email protected] NEZAPISANNYE IZMENENIQ BUDUT POTERQNY NAWSEGDA.tAKVE,
ESLI [email protected] ZAPU]ENNYMI KAKIE-LIBO PODPROCESSY,TO s-H s-S ZAPRA[IWAET PODTWER-
VDENIE I DLQ NIH,TAK KAK UNI^TOVENIE Emacs NEMEDLENNO UNI^TOVIT PODPROCESSY.
nEWOZMOVNO PEREZAPUSTITX SEANS Emacs,KOGDA WY EGO UVE UNI^TOVILI.oDNAKO,WY
MOVETE UKAZATX Emacs ZAPISYWATX OPREDELENNYE SWEDENIQ O SEANSE,NAPRIMER,K KAKIM
FAJLAM OBRA]ALISX,KOGDA Emacs BYL UNI^TOVEN;TOGDA W [email protected]]IJ RAZ,KOGDA WY PERE-
ZAPUSTITE Emacs,ON POPYTAETSQ OBRATITXSQ K TEM VE FAJLAM.sM.rAZDEL 30.11 [sOHRANE-
NIE SEANSOW Emacs],S.337.
oPERACIONNAQ SISTEMA OBY^NO ULAWLIWAET OPREDELENNYE SPECIALXNYE SIMWOLY,KOTO-
RYE MOGUT MGNOWENNO PRIOSTANAWLIWATX ILI UNI^TOVATX PROGRAMMU.|TO SWOJSTWO OPE-
RACIONNOJ SISTEMY [email protected]^AETSQ W TO WREMQ,KOGDA WY NAHODITESX W Emacs.zNA^ENIQ
C-z I s-S KAK [email protected]^EJ W Emacs BYLI WDOHNOWLENY STANDARTNYMI ZNA^ENIQMI C-z I s-S W
NEKOTORYH OPERACIONNYH SISTEMAH KAK SIMWOLOW OSTANOWA I UNI^TOVENIQ PROGRAMMY,NO
\TO EDINSTWENNAQ IH SWQZX S\TIMI OPERACIONNYMI SISTEMAMI.wY MOVETE NASTROITX\TI
[email protected]^I DLQ ZAPUSKA [email protected] KOMAND PO WA[EMU WYBORU (SM.rAZDEL 31.4.1 [tABLICY [email protected]^EJ],
S.356 ).
gLAWA 4:oSNOWNYE KOMANDY REDAKTIROWANIQ 354 oSNOWNYE KOMANDY REDAKTIROWANIQ
zDESX MY RASSKAZYWAEM OSNOWY O TOM,KAK WWESTI TEKST,SDELATX IZMENENIQ I ZAPISATX
TEKST W FAJL.eSLI\TI SWEDENIQ NOWY DLQ WAS,WY MOVETE IZU^ITX\TO BOLEE LEGKIM SPO-
SOBOM,ZAPUSTIW SAMOU^ITELX PO Emacs.~TOBY SDELATX TAK,ZAPUSTITE Emacs I NABERITE
Control-h t (help-with-tutorial).
~TOBY O^ISTITX\KRAN I PERERISOWATX IZOBRAVENIE,NAPE^ATAJTE C-l (recenter).
4.1 wSTAWKA TEKSTA
~TOBY WSTAWITX PE^ATNYE ZNAKI W REDAKTIRUEMYJ WAMI TEKST,DOSTATO^NO PROSTO NA-
BRATX IH.tAKIM OBRAZOM,WWODIMYE WAMI ZNAKI [email protected] W BUFER W POZICII KURSORA
(TO ESTX W TO^KE;SM.rAZDEL 1.1 [tO^KA],S.23).kURSOR DWIGAETSQ WPERED,I WESX TEKST
POSLE KURSORA TOVE SDWIGAETSQ WPERED.eSLI W BUFERE BYL TEKST`FOOBAR',I KURSOR STOQL
PERED`B',TO ESLI WY NABERETE XX,WY POLU^ITE`FOOXXBAR'c KURSOROM,OSTAW[IMSQ PERED
`B'.
~TOBY UDALITX TEKST,KOTORYJ WY TOLXKO ^TO WSTAWILI,ISPOLXZUJTE
hDELi.hDELi UDALQ-
ET ZNAK PERED KURSOROM (A NE ZNAK POD KURSOROM;\TOT ZNAK STOIT POSLE KURSORA).kURSOR
I WSE ZNAKI,STOQ]IE POSLE NEGO,[email protected] NAZAD.pO\TOMU,ESLI WY NABRALI PE^ATNYE
ZNAKI I ZATEM NABIRAETE h DELi,NABRANNOE OTMENQETSQ.
~TOBY ZAKON^ITX STROKU I NA^ATX NABIRATX [email protected],NAVMITE hRETi.|TO WSTAWIT W
BUFER ZNAK PEREHODA NA [email protected] STROKU.eSLI TO^KA NAHODITSQ W SEREDINE STROKI,hRETi
RAZBIWAET\TU STROKU.nABOR h DELi,KOGDA KURSOR NAHODITSQ W NA^ALE STROKI,UDALQET
PRED[[email protected]]IJ SIMWOL NOWOJ STROKI,SOEDINQQ TAKIM OBRAZOM\TU I PRED[[email protected]][email protected]
STROKI.
Emacs MOVET RAZBIWATX STROKI AWTOMATI^ESKI,KOGDA ONI STANOWQTSQ SLI[KOM DLINNY-
MI,ESLI WY [email protected]^ITE SPECIALXNYJ WTOROSTEPENNYJ REVIM,NAZYWAEMYJ REVIMOM Auto
Fill.sM.rAZDEL 21.5 [zAPOLNENIE],S.185,DLQ INFORMACII OB ISPOLXZOWANII REVIMA Auto
Fill.
eSLI WY PREDPO^ITAETE,^TOBY ZNAKI TEKSTA ZAME]ALI (PEREZAPISYWALI) SU][email protected]
]IJ TEKST,A NE SDWIGALI EGO WPRAWO,WY MOVETE [email protected]^ITX WTOROSTEPENNYJ REVIM Over-
write.sM.rAZDEL 31.1 [wTOROSTEPENNYE REVIMY],S.341.
nEPOSREDSTWENNAQ WSTAWKA RABOTAET DLQ PE^ATNYH ZNAKOW I
hSPCi,NO DRUGIE ZNAKI DEJ-
[email protected] KAK KOMANDY REDAKTIROWANIQ I NE [email protected] SAMI SEBQ.eSLI WAM TREBUETSQ
WSTAWITX [email protected]]IJ ZNAK ILI ZNAK,KOD KOTOROGO PREWY[AET WOSXMIRI^NOE 200,WY
DOLVNY OTMENITX IH OSOBYJ SMYSL,NABRAW PERED NIMI Control-q (quoted-insert).(nA-
ZWANIE\TOGO ZNAKA OBY^NO ZAPISYWAETSQ KAK C-q DLQ KRATKOSTI.) sU]ESTWUET DWA SPOSOBA
ISPOLXZOWANIQ C-q:
пЂЏ C-q,ZA KOTORYM SLEDUET [email protected] NEGRAFI^ESKIJ ZNAK (DAVE C-g),WSTAWLQET\TOT ZNAK.
пЂЏ C-q,ZA KOTORYM IDET POSLEDOWATELXNOSTX WOSXMIRI^NYH CIFR,WSTAWLQET ZNAK S ZA-
DANNYM ZNAKOWYM KODOM.wY MOVETE ISPOLXZOWATX [email protected] ^ISLO WOSXMIRI^NYH CIFR;
[email protected] ZNAK,NE [email protected]]IJSQ CIFROJ,OBRYWAET POSLEDOWATELXNOSTX.eSLI ZAWER[[email protected]
]IJ ZNAK |\TO
h RETi,ON SLUVIT TOLXKO DLQ ZAWER[ENIQ POSLEDOWATELXNOSTI;[email protected]
DRUGOJ NECIFROWOJ ZNAK SAM ISPOLXZUETSQ W KA^ESTWE WWODA POSLE ZAWER[ENIQ POSLEDO-
WATELXNOSTI.(iSPOLXZOWANIE WOSXMIRI^NYH POSLEDOWATELXNOSTEJ ZAPRE]ENO W OBY^-
NOM NEDWOI^NOM REVIME Overwrite,^TOBY DATX WAM UDOBNYJ SPOSOB WSTAWITX CIFRU
WMESTO ZAME]ENIQ EJ.)
kOGDA [email protected]^ENA PODDERVKA MNOGOBAJTNYH ZNAKOW,WOSXMIRI^NYE KODY OT 0200 DO 0377 NE
[email protected] WERNYMI ZNAKAMI;ESLI WY ZADAETE KOD IZ\TOGO PROMEVUTKA,C-q S^ITAET,^TO WY
SOBIRAETESX ISPOLXZOWATX KAKOJ-TO IZ NABOROW ZNAKOW ISO Latin-n,I PREOBRAZUET ZADANNYJ
KOD K [email protected]]EMU KODU ZNAKOW Emacs.sM.rAZDEL 18.2 [[email protected]^ENIE MNOGOBAJTNYH
36 rUKOWODSTWO PO GNU EmacsZNAKOW],S.161.kAKOJ IMENNO NABOR ZNAKOW ISO Latin SLEDUET ISPOLXZOWATX,OPREDELQETSQ
WYBRANNOJ WAMI QZYKOWOJ SREDOJ (SM.rAZDEL 18.3 [qZYKOWYE SREDY],S.162).
~TOBY ISPOLXZOWATX WMESTO WOSXMIRI^NYH CIFR DESQTI^NYE ILI [ESTNADCATIRI^NYE,
USTANOWITE [email protected] read-quoted-char-radix RAWNOJ 10 ILI 16.eSLI OSNOWANIE BOLX-
[E DESQTI,NEKOTORYE BUKWY,NA^INAQ S a,SLUVAT ^[email protected] ZNAKOWOGO KODA,TAK VE,KAK I
CIFRY.
~ISLOWOJ ARGUMENT DLQ C-q UKAZYWAET,SKOLXKO KOPIJ ZNAKOW S OTMENENNYM OSOBYM
SMYSLOM NEOBHODIMO WSTAWITX (SM.rAZDEL 4.10 [aRGUMENTY],S.42).
iNFORMACIQ DLQ NASTROJKI:
h DELi W BOLX[INSTWE REVIMOW ZAPUSKAET KOMANDU delete-
backward-char;h RETi ZAPUSKAET KOMANDU newline,A [email protected]]IESQ PE^ATNYE ZNAKI
[email protected] KOMANDU self-insert,KOTORAQ WSTAWLQET TOT ZNAK,KOTORYJ BYL NABRAN PRI EE
WYZOWE.nEKOTORYE OSNOWNYE REVIMY [email protected] hDELi K DRUGIM KOMANDAM.
4.2 iZMENENIE POLOVENIQ TO^KI
~TOBY SDELATX ^TO-TO BOLX[EE,^EM PROSTO WSTAWKA ZNAKOW,WY DOLVNY ZNATX,KAK DWI-
GAETSQ TO^KA (SM.rAZDEL 1.1 [tO^KA],S.23).pROSTEJ[IJ SPOSOB PEREMESTITX TO^KU |
WOSPOLXZOWATXSQ KURSORNYMI STRELKAMI ILI ]ELKNUTX LEWOJ KNOPKOJ MY[I W TOM MESTE,
KUDA WY HOTITE PEREDWINUTX TO^KU.
eSTX TAKVE Control- I Meta-ZNAKI DLQ PEREME]ENIQ KURSORA.nEKOTORYE IZ NIH\KWIWA-
LENTNY KURSORNYM STRELKAM (ONI BYLI PRIDUMANY W TE DNI,KOGDA U TERMINALOW E]E NE
BYLO KURSORNYH STRELOK,IH MOVNO ISPOLXZOWATX NA TAKIH TERMINALAH).dRUGIE [email protected]
BOLEE SLOVNYE WE]I.
C-a pEREDWINUTXSQ W NA^ALO STROKI (beginning-of-line).
C-e pEREDWINUTXSQ W KONEC STROKI (end-of-line).
C-f sDWINUTXSQ NA ODIN ZNAK WPERED (forward-char).
C-b sDWINUTXSQ NA ODIN ZNAK NAZAD (backward-char).
M-f sDWINUTXSQ NA ODNO SLOWO WPERED (forward-word).
M-b sDWINUTXSQ NA ODNO SLOWO NAZAD (backward-word).
C-n sDWINUTXSQ WERTIKALXNO WNIZ NA ODNU STROKU (next-line).|TA KOMANDA STA-
RAETSQ OSTAWITX [email protected] [email protected] NEIZMENNOJ,^TOBY ESLI WNA^ALE WY
NAHODILISX W SEREDINE ODNOJ STROKI,TO W KONCE OKAZALISX BY W SEREDINE SLEDU-
@]EJ.w SLU^AE,ESLI WY NAHODITESX NA POSLEDNEJ STROKE TEKSTA,C-n SOZDAET
[email protected] STROKU I PEREDWIGAETSQ NA NEE.
C-p sDWINUTXSQ WERTIKALXNO WWERH NA ODNU STROKU (previous-line).
M-r sDWINUTX TO^KU K LEWOMU [email protected] NA STROKU W SEREDINE OKNA (move-to-window-
line).tEKST PRI\TOM NE PEREME]AETSQ PO\KRANU.
~ISLOWOJ ARGUMENT GOWORIT,NA KAKOJ STROKE\KRANA POMESTITX TO^KU.oN OT-
S^ITYWAET\KRANNYE STROKI OT WERHA OKNA (NULX DLQ SAMOJ WERHNEJ).oTRICA-
TELXNYJ ARGUMENT OTS^ITYWAET STROKI SNIZU (пЂЂ1 DLQ NIVNEJ STROKI).
M-< pEREJTI NA NA^ALO BUFERA (beginning-of-buffer).pRI ARGUMENTE,RAWNOM n,
DWIGAET NA n/10 OT NA^ALA.sM.rAZDEL 4.10 [aRGUMENTY],S.42,DLQ BOLEE
PODROBNOJ INFORMACII O ^ISLOWYH ARGUMENTAH.
M-> pEREJTI W KONEC BUFERA (end-of-buffer).
M-x goto-char
s^ITYWAET ^ISLO n I SDWIGAET TO^KU K POZICII n W BUFERE.pOZICIQ 1 |\TO
NA^ALO BUFERA.
gLAWA 4:oSNOWNYE KOMANDY REDAKTIROWANIQ 37M-x goto-line
s^ITYWAET ^ISLO n I SDWIGAET TO^KU K STROKE S NOMEROM n.sTROKA 1 |\TO
NA^ALO BUFERA.
C-x C-n wELIT ISPOLXZOWATX TEKU]IJ STOLBEC,W KOTOROM NAHODITSQ TO^KA,W KA^ESTWE
POLUPOSTOQNNOGO CELEWOGO STOLBCA DLQ C-n I C-p (set-goal-column).w DALX-
NEJ[EM\TI KOMANDY WSEGDA PEREHODQT NA\TOT STOLBEC W KAVDOJ STROKE,K
KOTOROJ WY PEREDWIGAETESX,ILI KAK MOVNO BLIVE K NEMU PRI DANNOM SODERVI-
MOM STROKI.|TOT CELEWOJ STOLBEC OSTAETSQ W SILE,POKA EGO NE OTMENQT.
C-u C-x C-n
oTMENITX CELEWOJ STOLBEC.w DALXNEJ[EM C-n I C-p SNOWA,KAK OBY^NO,PYTA-
@TSQ IZBEVATX IZMENENIQ GORIZONTALXNOJ POZICII.
eSLI WY USTANOWITE [email protected] track-eol NE RAWNOJ nil,TO ESLI TO^KA NAHODITSQ K
KONCE STROKI,C-n I C-p [email protected] W KONEC DRUGOJ STROKI.oBY^NO track-eol RAWNA
nil.sM.rAZDEL 31.2 [pEREMENNYE],S.343,^TOBY UZNATX,KAK USTANOWITX PEREMENNYE
WRODE track-eol.
oBY^NO C-n,WYZWANNAQ NA POSLEDNEJ STROKE BUFERA,DOBAWLQET K BUFERU [email protected] STROKU.
eSLI PEREMENNAQ next-line-add-newlines RAWNA nil,TO C-n WMESTO\TOGO WYDAET O[IBKU
(KAK C-p NA PERWOJ STROKE).
4.3 sTIRANIE TEKSTA
h DELi uDALITX ZNAK PERED TO^KOJ (delete-backward-char).
C-d uDALITX ZNAK POSLE TO^KI (delete-char).
C-k uNI^TOVITX WSE DO KONCA STROKI (kill-line).
M-d uNI^TOVITX WSE ZNAKI WPERED DO KONCA [email protected]]EGO SLOWA (kill-word).
M-h DELi uNI^TOVITX WSE ZNAKI W OBRATNOM NAPRAWLENII WPLOTX DO NA^ALA PREDYDU]EGO
SLOWA (backward-kill-word).
wY UVE ZNAETE O KLAWI[E hDELi,KOTORAQ UDALQET ZNAK PERED TO^KOJ (TO ESTX PERED
KURSOROM).dRUGOJ [email protected]^,Control-d (C-d DLQ KRATKOSTI),UDALQET ZNAK POSLE TO^KI (TOT
ZNAK,NA KOTOROM KURSOR).|TO SDWIGAET OSTALXNOJ TEKST NA STROKE WLEWO.eSLI WY NAVMETE
C-d W KONCE STROKI,TO\TA STROKA I [email protected]]AQ ZA NEJ [email protected]
~TOBY STERETX BOLX[IJ KUSOK TEKSTA,ISPOLXZUJTE [email protected]^ C-k,KOTORYJ UDALQET [email protected]
STROKU.eSLI WY NAVMETE C-k W NA^ALE ILI W SEREDINE STROKI,TO ON UNI^TOVAET WESX TEKST
WPLOTX DO KONCA\TOJ STROKI.eSLI WY NABERETE C-k W KONCE STROKI,TO ON OB_EDINQET\TU
STROKU SO [email protected]]EJ.
sM.rAZDEL 9.1 [uNI^TOVENIE],S.69,DLQ POLU^ENIQ INFORMACII O BOLEE GIBKIH SPOSO-
BAH UNI^TOVENIQ TEKSTA.
4.4 oTMENA SDELANNYH IZMENENIJ
wY MOVETE UDALITX WSE NEDAWNIE IZMENENIQ W TEKSTE BUFERA WPLOTX DO OPREDELENNOGO
PREDELA.kAVDYJ BUFER ZAPISYWAET IZMENENIQ OTDELXNO,I KOMANDA OTMENY WSEGDA OT-
NOSITSQ K TEKU]EMU BUFERU.oBY^NO KAVDAQ KOMANDA REDAKTIROWANIQ SOZDAET OTDELXNOE
WHOVDENIE W ZAPISI OTMENY,NO NEKOTORYE KOMANDY,KAK NAPRIMER query-replace,SOZDA-
@T NESKOLXKO WHOVDENIJ,A O^ENX PROSTYE KOMANDY,NAPRIMER [email protected]]IESQ ZNAKI,
^ASTO [email protected],^TOBY SDELATX PROCESS OTMENY MENEE UTOMITELXNYM.
C-x u oTMENITX ODNU GRUPPU IZMENENIJ |OBY^NO ODNU STOQ][email protected] KOMANDU (undo).
38 rUKOWODSTWO PO GNU EmacsC-_ tO VE SAMOE.
C-u C-x u oTMENITX ODNU GRUPPU IZMENENIJ W OBLASTI.
wY DELAETE OTMENU S POMO][email protected] KOMANDY C-x u ILI C-_.kOGDA WY WPERWYE DAETE\TU
KOMANDU,ONA OTMENQET POSLEDNEE SDELANNOE IZMENENIE.tO^KA WOZWRA]AETSQ K TOMU MESTU,
GDE ONA BYLA DO KOMANDY,SDELAW[EJ IZMENENIE.
pOSLEDOWATELXNOE POWTORENIE C-_ ILI C-x u OTMENQET WSE BOLEE RANNIE IZMENENIQ,
WPLOTX DO PREDELA DOSTUPNOJ INFORMACII OTMENY.eSLI WSE ZAPISANNYE IZMENENIQ UVE
BYLI OTMENENY,KOMANDA OTMENY PE^ATAET SOOB]ENIE OB O[IBKE I NI^EGO NE DELAET.
[email protected] KOMANDA,OTLI^NAQ OT KOMANDY OTMENY,PRERYWAET POSLEDOWATELXNOSTX KOMAND
OTMENY.nA^INAQ S\TOGO MOMENTA PREDYDU]IE KOMANDY OTMENY [email protected] KAK
PROSTYE IZMENENIQ,KOTORYE MOGUT BYTX OTMENENY.tAKIM OBRAZOM,^TOBY WERNUTX OTME-
NENNYE WAMI IZMENENIQ,NABERITE C-f ILI [email protected]@ [email protected] KOMANDU,KOTORAQ NE PRI^INQQ
WREDA PRERWET POSLEDOWATELXNOSTX OTMEN,A ZATEM SNOWA NABIRAJTE KOMANDY OTMENY.
oBY^NAQ OTMENA OTNOSITSQ KO WSEM IZMENENIQM,SDELANNYM W TEKU]EM BUFERE.wY
TAKVE MOVETE PROIZWESTI WYBORO^[email protected] OTMENU,OGRANI^[email protected] TEKU]EJ [email protected]~TOBY
SDELATX\TO,ZADAJTE [email protected] OBLASTX,A ZATEM ZAPUSTITE KOMANDU undo S PREFIKSNYM
ARGUMENTOM (ZNA^ENIE NE IGRAET ROLI):C-u C-x u ILI C-u C-_.|TO OTMENQET SAMOE PO-
SLEDNEE IZMENENIE W OBLASTI.~TOBY OTMENITX BOLEE RANNIE IZMENENIQ,POWTORITE KOMANDU
undo (PREFIKSNYJ ARGUMENT NE TREBUETSQ).w REVIME Transient Mark,[email protected] ISPOLXZOWA-
NIE undo,KOGDA ESTX AKTIWNAQ OBLASTX,PROIZWODIT WYBORO^[email protected] OTMENU;WAM NE NUVNO
ZADAWATX PREFIKSNYJ ARGUMENT.
eSLI WY ZAMETILI,^TO BUFER BYL IZMENEN SLU^AJNO,PROSTEJ[IJ PUTX WERNUTXSQ W
PERWONA^ALXNOE SOSTOQNIE |\TO NABIRATX C-_ NESKOLXKO RAZ,POKA NE IS^EZNUT ZWEZDO^KI,
STOQ]IE W NA^ALE STROKI REVIMA.w\TOT MOMENT WSE SDELANNYE WAMI IZMENENIQ OTMENENY.
wSQKIJ RAZ,KOGDA KOMANDY OTMENY [email protected] ZWEZDO^KI IZ STROKI REVIMA,\TO OZNA^AET,
^TO SODERVIMOE BUFERA STALO TO^NO TAKIM VE,KAKIM ONO BYLO,KOGDA FAJL BYL POSLEDNIJ
RAZ S^ITAN ILI SOHRANEN.
eSLI WY NE POMNITE,NAMERENNO LI WY IZMENILI BUFER,NABERITE C-_ ODIN RAZ.kOGDA
WY UWIDITE POSLEDNEE IZMENENIE,KOTOROE WY SDELALI OTMENENNYM,WY POJMETE,BYLO LI
\TO IZMENENIE UMY[LENNYM.eSLI\TO BYLA SLU^AJNOSTX,OSTAWXTE EGO OTMENENNYM.eSLI
ONO BYLO UMY[LENNYM,WOSSTANOWITE IZMENENIE,KAK OPISANO WY[E.
nE WSE BUFERY [email protected] [email protected] DLQ OTMENY.bUFERY,^XI IMENA NA^[email protected]
S PROBELA,\TOGO NE [email protected] [email protected] DLQ WNUTRENNIH NUVD Emacs I EGO RAS-
[IRENIJ DLQ HRANENIQ TEKSTA,KOTORYJ OBY^NO NE REDAKTIRUETSQ I NE PROSMATRIWAETSQ
POLXZOWATELQMI.
wY NE MOVETE OTMENITX PROSTOE PEREME]ENIE KURSORA;TOLXKO IZMENENIQ SODERVIMOGO
BUFERA [email protected] [email protected] DLQ OTMENY.oDNAKO,NEKOTORYE KOMANDY DWIVENIQ KUR-
SORA [email protected] METKU,TAK ^TO ESLI WY WREMQ OT WREMENI ISPOLXZUETE\TI KOMANDY,
WY MOVETE WERNUTXSQ W OKRESTNOSTI,PO KOTORYM WY PEREDWIGALISX,S POMO][email protected] SPISKA
POMETOK (SM.rAZDEL 8.5 [sPISOK POMETOK],S.66).
kOGDA INFORMACIQ OTMENY DLQ KAKOGO-TO BUFERA STANOWITSQ SLI[KOM BOLX[OJ,Emacs
WREMQ OT WREMENI (WO WREMQ SBORKI MUSORA) SBRASYWAET SAMYE STARYE SWEDENIQ.wY MOVETE
UKAZATX,SKOLXKO INFORMACII DLQ OTMENY NEOBHODIMO HRANITX,S POMO][email protected] DWUH PEREMEN-
NYH:undo-limit I undo-strong-limit.iH ZNA^ENIQ [email protected] W BAJTAH.
pEREMENNAQ undo-limit USTANAWLIWAET GIBKIJ PREDEL:Emacs HRANIT DANNYE DLQ OT-
MENY DOSTATO^NOGO ^ISLA KOMAND,^TOBY OSTAWATXSQ W\TIH GRANICAH I,WOZMOVNO,WYJTI
ZA NIH,NO NE HRANIT DANNYE DLQ BOLEE RANNIH KOMAND SWERH\TOGO PREDELA.eE ZNA^ENIE
PO UMOL^[email protected] RAWNO 20000.pEREMENNAQ undo-strong-limit USTANAWLIWAET BOLEE VESTKIJ
PREDEL:KOMANDA,KOTORAQ UWELI^IWAET RAZMER ZA\TU GRANICU,ZABYWAETSQ SAMA.zNA^ENIE
\TOJ PEREMENNOJ RAWNO PO UMOL^[email protected] 30000.
gLAWA 4:oSNOWNYE KOMANDY REDAKTIROWANIQ 39wNE ZAWISIMOSTI OT ZNA^ENIJ\TIH PEREMENNYH,SAMOE POSLEDNEE IZMENENIE NIKOGDA
NE SBRASYWAETSQ,PO\TOMU NET OPASNOSTI,^TO SBORKA MUSORA,SLU^IW[AQSQ SRAZU POSLE
NEUMY[LENNOGO BOLX[OGO IZMENENIQ,POME[AET WAM OTMENITX EGO.
pRI^INA TOGO,^TO DLQ KOMANDY undo OPREDELENY DWA [email protected]]IH [email protected]^A,C-x u I C-_,
SOSTOIT W TOM,^TO\TA KOMANDA STOIT TOGO,^TOBY IMETX ODNOZNAKOWYJ [email protected]^,NO NA NEKOTO-
RYH KLAWIATURAH NET O^EWIDNOGO SPOSOBA WWESTI C-_.C-x u PREDOSTAWLQET ALXTERNATIWU,
WY MOVETE PRQMO NABRATX EGO NA [email protected] TERMINALE.
4.5 fAJLY
oPISANNYH WY[E KOMAND DOSTATO^NO DLQ SOZDANIQ I IZMENENIQ TEKSTA W BUFERE Emacs;
BOLEE PRODWINUTYE KOMANDY Emacs LI[X [email protected] DELATX\TO PRO]E.nO DLQ TOGO ^TOBY
SOHRANITX [email protected] TEKST,WY DOLVNY POMESTITX EGO W FAJL.fAJLY |\TO IMENOWANNYE
EDINICY TEKSTA,KOTORYE HRANQTSQ OPERACIONNOJ SISTEMOJ,^TOBY WY MOGLI POLU^ITX IH
POZVE PO IMENI.~TOBY PROSMOTRETX ILI ISPOLXZOWATX SODERVIMOE FAJLA S [email protected] [email protected],
[email protected]^AQ REDAKTIROWANIE S POMO][email protected] Emacs,WY DOLVNY ZADATX EGO IMQ.
rASSMOTRIM FAJL S IMENEM`/usr/rms/foo.c'.dLQ TOGO ^TOBY NA^ATX REDAKTIROWANIE
\TOGO FAJLA W Emacs,NABERITE
C-x C-f/usr/rms/foo.c
hRETi
zDESX IMQ FAJLA DAETSQ KAK ARGUMENT DLQ KOMANDY C-x C-f (find-file).|TA KOMANDA
ISPOLXZUET DLQ S^ITYWANIQ ARGUMENTA MINIBUFER,A ^TOBY ZAWER[ITX ARGUMENT,WY NABI-
RAETE h RETi (SM.gLAWA 5 [mINIBUFER],S.45).
Emacs POD^INQETSQ\TOJ KOMANDE,OBRA]AQSX K UKAZANNOMU FAJLU:SOZDAWAQ BUFER,KO-
PIRUQ W NEGO SODERVIMOE\TOGO FAJLA I ZATEM POKAZYWAQ WAM BUFER DLQ REDAKTIROWANIQ.
eSLI WY IZMENILI\TOT BUFER,WY MOVETE SOHRANITX NOWYJ TEKST W FAJLE,NAPE^ATAW C-x
C-s (save-buffer).|TO DELAET IZMENENIQ POSTOQNNYMI PUTEM KOPIROWANIQ IZMENENNOGO
SODERVIMOGO BUFERA SNOWA W FAJL`/usr/rms/foo.c'.dO\TOGO WA[I IZMENENIQ SU][email protected]
TOLXKO WNUTRI Emacs,A FAJL`foo.c'NE IZMENQETSQ.
~TOBY SOZDATX FAJL,NADO PROSTO OBRATITXSQ K NEMU S POMO][email protected] C-x C-f,KAK ESLI BY ON
UVE SU]ESTWOWAL.Emacs SOZDAST PUSTOJ BUFER,KUDA WY MOVETE WSTAWITX TEKST,KOTORYJ
HOTITE ZANESTI W FAJL.rEALXNYJ FAJL SOZDAETSQ,KOGDA WY SOHRANQETE\TOT BUFER S
POMO][email protected] C-x C-s.
kONE^NO,OB ISPOLXZOWANII FAJLOW MOVNO UZNATX GORAZDO BOLX[E.sM.gLAWA 14 [fAJ-
LY],S.105.
4.6 sPRAWKA
eSLI WY ZABYLI,^TO DELAET KAKAQ-TO KLAWI[A,WY MOVETE WYQSNITX\TO S POMO][email protected]
ZNAKA SPRAWKI C-h (ILI hF1i,ANALOGA C-h).nABERITE C-h k,A ZATEM IMQ [email protected]^A,O KOTOROM
WY HOTITE UZNATX;NAPRIMER,C-h k C-n RASSKAZYWAET WSE O TOM,^TO DELAET C-n.C-h |\TO
PREFIKSNAQ KLAWI[A;C-h k |PROSTO ODNA IZ EE PODKOMAND (A IMENNO,KOMANDA describe-
key).dRUGIE PODKOMANDY C-h [email protected] DRUGIE WIDY SPRAWKI.nABERITE C-h DWAVDY,
^TOBY POLU^ITX OPISANIE WSEH WOZMOVNOSTEJ SPRAWKI.sM.gLAWA 7 [sPRAWKA],S.55.
4.7 pUSTYE STROKI
zDESX [email protected] SPECIALXNYE KOMANDY I PRIEMY SOZDANIQ I UDALENIQ PUSTYH
STROK.
C-o wSTAWITX POSLE KURSORA ODNU ILI NESKOLXKO PUSTYH STROK (open-line).
40 rUKOWODSTWO PO GNU EmacsC-x C-o uNI^TOVITX WSE POSLEDOWATELXNYE PUSTYE STROKI,KROME ODNOJ (delete-blank-
lines).
kOGDA WY HOTITE WSTAWITX [email protected] STROKU TEKSTA PERED UVE SU][email protected]]EJ,WY MOVETE
SDELATX\TO,NABRAW [email protected] STROKU TEKSTA I ZA NEJ
hRETi.oDNAKO,MOVET OKAZATXSQ UDOBNEE
WIDETX TO,^TO WY NABIRAETE,ESLI PERED\TIM SPERWA SOZDATX [email protected] STROKU,A ZATEM
WSTAWITX W NEE NUVNYJ TEKST.|TO LEGKO SDELATX,ISPOLXZUQ KLAWI[U C-o (open-line),
KOTORAQ WSTAWLQET [email protected] STROKU POSLE TO^KI,NO OSTAWLQET TO^KU PERED\TOJ NOWOJ STROKOJ.
pOSLE s-O NABIRAJTE TEKST W [email protected] STROKU.s-O F O O DAET TOT VE REZULXTAT,^TO I F O O
h RETi,ZA [email protected]^ENIEM KONE^NOJ POZICII TO^KI.
wY MOVETE SOZDATX NESKOLXKO PUSTYH STROK,NABRAW s-O NESKOLXKO RAZ,ILI ZADAW EJ
^ISLOWOJ ARGUMENT,^TOBY SKAZATX EJ,KAKOE KOLI^ESTWO STROK NEOBHODIMO SOZDATX.sM.rAZDEL 4.10 [aRGUMENTY],S.42,^TOBY UZATX,KAK\TO SDELATX.eSLI OPREDELEN PREFIKS
ZAPOLNENIQ,TO KOMANDA C-o,KOGDA WY ISPOLXZUETE EE W NA^ALE STROKI,WSTAWLQET NA NOWOJ
STROKE\TOT PREFIKS ZAPOLNENIQ.sM.rAZDEL 21.5.3 [pREFIKS ZAPOLNENIQ],S.187.
pROSTOJ SPOSOB IZBAWITXSQ OT LI[NIH PUSTYH STROK | WOSPOLXZOWATXSQ KOMANDOJ C-x
C-o (delete-blank-lines).iSPOLXZOWANIE C-x C-o SREDI NESKOLXKIH PUSTYH STROK UDALQET
IH WSE,KROME ODNOJ.C-x C-o NA ODINO^NOJ PUSTOJ STROKE UDALQET\TU STROKU.kOGDA TO^KA
NAHODITSQ NA NEPUSTOJ STROKE,C-x C-o UDALQET WSE PUSTYE STROKI POSLE\TOJ NEPUSTOJ
STROKI.
4.8 sTROKI PRODOLVENIQ
eSLI WY DOBAWLQETE SLI[KOM MNOGO ZNAKOW W ODNU STROKU,NE PRERYWAQ EE NAVATIEM
h RETi,TO\TA STROKA BUDET RASTI I ZAJMET DWE (ILI BOLEE) STROKI NA\KRANE;W KRAJNEJ
PRAWOJ POZICII KAVDOJ IZ ZANQTYH STROK,KROME POSLEDNEJ,BUDET RASPOLOVEN ZNAK`\'.
zNAK`\'GOWORIT,^TO [email protected]]AQ STROKA\KRANA NE QWLQETSQ OTDELXNOJ STROKOJ W TEKSTE,
^TO\TO TOLXKO PRODOLVENIE STROKI,SLI[KOM DLINNOJ DLQ DANNOGO\KRANA.pRODOLVENIE
TAKVE NAZYWAETSQ PERENOSOM STROK.
iNOGDA UDOBNO,^TOBY Emacs AWTOMATI^ESKI WSTAWLQL ZNAKI PEREWODA STROKI,KOGDA
STROKA STANOWITSQ SLI[KOM DLINNOJ;ISPOLXZUJTE DLQ\TOGO REVIM Auto Fill (SM.rAZ-
DEL 21.5 [zAPOLNENIE],S.185 ).
wMESTO PRODOLVENIQ Emacs MOVET OTOBRAVATX DLINNYE STROKI USE^ENNYMI.|TO ZNA-
^IT,^TO WSE ZNAKI,KOTORYE NE WO[LI W [IRINU\KRANA ILI OKNA,NE [email protected] SOWSEM.
oNI [email protected] W BUFERE,NO WREMENNO NEWIDIMY.w POSLEDNEM STOLBCE STAWITSQ ZNAK`$',A
NE`\',^TOBY INFORMIROWATX O DEJSTWII USE^ENIQ.
uSE^ENIE WMESTO PRODOLVENIQ PROISHODIT,KOGDA ISPOLXZUETSQ GORIZONTALXNAQ PROKRUT-
KA,I,WOZMOVNO,WO WSEH OKNAH,NE [email protected]]IH [email protected] [IRINU FREJMA (SM.gLAWA 16
[oKNA],S.141 ).wY MOVETE [email protected]^ITX USE^ENIE DLQ KONKRETNOGO BUFERA,USTANOWIW W NEM
[email protected] truncate-lines NE RAWNOJ nil.(sM.rAZDEL 31.2 [pEREMENNYE],S.343.) iZ-
MENENIE ZNA^ENIQ truncate-lines DELAET EGO LOKALXNYM DLQ TEKU]EGO BUFERA;DO\TOGO
MOMENTA DEJSTWUET ZNA^ENIE PO UMOL^[email protected]^ALXNOE ZNA^ENIE PO UMOL^[email protected] | nil.
sM.rAZDEL 31.2.4 [lOKALXNYE PEREMENNYE],S.350.
sM.rAZDEL 11.7 [pEREMENNYE IZOBRAVENIQ],S.84,O DRUGIH PEREMENNYH,[email protected]]IH NA
SPOSOB OTOBRAVENIQ TEKSTA.
4.9 iNFORMACIQ O POZICII KURSORA
|TO KOMANDY DLQ POLU^ENIQ INFORMACII O RAZMERE I POZICII ^ASTEJ BUFERA I DLQ
PODS^ETA ^ISLA STROK.
gLAWA 4:oSNOWNYE KOMANDY REDAKTIROWANIQ 41M-x what-page
nAPE^ATATX NOMER STRANICY,NA KOTOROJ NAHODITSQ TO^KA,I NOMER STROKI W
PREDELAH\TOJ STRANICY.
M-x what-line
nAPE^ATATX NOMER STROKI,W KOTOROJ NAHODITSQ TO^KA W BUFERE.
M-x line-number-mode
[email protected]^ITX REVIM AWTOMATI^ESKOGO OTOBRAVENIQ NOMERA TEKU]EJ STROKI.
M-= nAPE^ATATX KOLI^ESTWO STROK W TEKU]EJ OBLASTI (count-lines-region).sM.gLAWA 8 [pOMETKA],S.63,^TOBY UZNATX,^TO TAKOE OBLASTX.
C-x = nAPE^ATATX KOD ZNAKA POSLE TO^KI,ZNAKOWOE POLOVENIE TO^KI I STOLBEC TO^KI
(what-cursor-position).
eSTX DWE KOMANDY DLQ RABOTY S NOMERAMI STROK.M-x what-line PODS^ITYWAET NOMER
TEKU]EJ STROKI I POKAZYWAET EGO W\HO-OBLASTI.~TOBY PEREJTI K STROKE S ZADANNYM NOME-
ROM,ISPOLXZUJTE M-x goto-line;ONA SPROSIT U WAS NOMER.nOMERA STROK OTS^[email protected]
OT EDINICY S NA^ALA BUFERA.
wY TAKVE MOVETE WIDETX NOMER TEKU]EJ STROKI W STROKE REVIMA;sM.rAZDEL 1.3 [sTRO-
KA REVIMA],S.25.eSLI WY SUZILI BUFER,TO NOMER STROKI W STROKE REVIMA OTS^ITYWAETSQ
OTNOSITELXNO DOSTUPNOJ ^ASTI (SM.rAZDEL 30.8 [sUVENIE],S.335).
w PROTIWOPOLOVNOSTX\TOMU,what-page PODS^ITYWAET NOMER STROKI I OTNOSITELXNO
SUVENNOJ OBLASTI,I OTNOSITELXNO WSEGO BUFERA I POKAZYWAET OBA ^ISLA.sM.rAZDEL 21.4
[sTRANICY],S.184.
pO\TOMU POWODU MY MOGLI BY UPOMQNUTX m-= (count-lines-region),KOTORAQ PE^ATAET
^ISLO STROK W OBLASTI (SM.gLAWA 8 [pOMETKA],S.63).sM.rAZDEL 21.4 [sTRANICY],S.184,
DLQ INFORMACII O KOMANDE C-x l,KOTORAQ S^ITAET STROKI NA TEKU]EJ STRANICE.
kOMANDA s-H = (what-cursor-position) MOVET BYTX ISPOLXZOWANA DLQ UZNAWANIQ STOLB-
CA,W KOTOROM NAHODITSQ KURSOR,A TAKVE DRUGOJ RAZNOOBRAZNOJ INFORMACII O TO^KE.oNA
PE^ATAET W\HO-OBLASTI STROKU,KOTORAQ WYGLQDIT [email protected]]IM OBRAZOM:
Char:c (0143,99,0x63) point=24781 of 31832(78%) column 52
(nA SAMOM DELE,\TO REZULXTAT,POLU^ENNYJ,KOGDA TO^KA BYLA PERED SLOWOM`column'W
SAMOM PRIMERE.)
~ETYRE WELI^INY POSLE`Char:'[email protected] ZNAK,[email protected]]IJ ZA TO^KOJ;PERWOE POKA-
ZYWAET EGO,A OSTALXNYE [email protected] EGO WOSXMIRI^NYJ,DESQTI^NYJ I [ESTNADCATIRI^NYJ KOD.
dLQ MNOGOBAJTNOGO NE-ASCII-ZNAKA POSLE\TIH ^ISEL SLEDUET`ext'I [ESTNADCATIRI^NOE
PREDSTAWLENIE W SISTEME KODIROWANIQ DANNOGO BUFERA,ESLI\TA SISTEMA KODIROWANIQ BEZ-
OPASNO MOVET PREDSTAWITX\TOT ZNAK W ODNOM BAJTE (SM.rAZDEL 18.7 [sISTEMY KODIROWA-
NIQ],S.165 ).eSLI KOD ZNAKA BOLX[E ODNOGO BAJTA,Emacs POKAZYWAET`ext...'.
pOSLE`point='SLEDUET POZICIQ TO^KI,WYRAVENNAQ ^EREZ KOLI^ESTWO ZNAKOW.nA^ALU
BUFERA PRISWAIWAETSQ POZICIQ 1,[email protected]]EMU ZNAKU 2 I TAK [email protected]]EE,BOLX[EE
^ISLO OZNA^AET OB]EE ^ISLO ZNAKOW W BUFERE.pOTOM W KRUGLYH SKOBKAH NAHODITSQ POZICIQ,
WYRAVENNAQ KAK PROCENT OT OB]EGO RAZMERA.
pOSLE`column'PI[ETSQ GORIZONTALXNAQ POZICIQ TO^KI,W STOLBCAH OT LEWOGO KRAQ OKNA.
eSLI BUFER BYL SUVEN,I NEKOTOROE KOLI^ESTWO TEKSTA W NA^ALE I W KONCE WREMENNO
NEDOSTUPNO,TO s-H = PE^ATAET DOPOLNITELXNYJ TEKST,[email protected]]IJ TEKU]IE GRANICY
DOSTUPA.nAPRIMER,KOMANDA MOVET POKAZATX TAKOE:
Char:C (0103,67,0x43) point=252 of 889(28%) <231 - 599> column 0
GDE DWA DOBAWLENNYH ^ISLA [email protected] NAIMENX[[email protected] I NAIBOLX[[email protected] DOPUSTIMYE DLQ TO^KI POZI-
CII ZNAKOW.dOSTUPNYMI [email protected] ZNAKI MEVDU DWUMQ\TIMI POZICIQMI.sM.rAZDEL 30.8
[sUVENIE],S.335.
42 rUKOWODSTWO PO GNU EmacseSLI TO^KA NAHODITSQ W KONCE BUFERA (ILI W KONCE WIDIMOJ ^ASTI),W WYWODE s-H = NE
OPISYWAETSQ ZNAK,STOQ]IJ POSLE TO^KI.wYWOD MOVET WYGLQDETX TAK:
point=26957 of 26956(100%) column 0
C-u C-x = POKAZYWAET WMESTO KOORDINAT I STOLBCA [email protected] [email protected] O ZNA-
KE:IMQ NABORA ZNAKOW I KODY DANNOGO ZNAKA W\TOM NABORE;ASCII-ZNAKI [email protected]
KAK PRINADLEVA]IE NABORU ZNAKOW ASCII.kROME TOGO,POSLE`ext'POKAZYWAETSQ POLNYJ
KOD ZNAKA,DAVE ESLI ON ZANIMAET BOLX[E ODNOGO BAJTA.wOT PRIMER DLQ ZNAKA A S AKCEN-
TOM GRAW IZ Latin-1,W BUFERE S SISTEMOJ KODIROWANIQ iso-2022-7bit
1
:
Char:
пЂ’
A (04300,2240,0x8c0,ext ESC,A @) (latin-iso8859-1 64)
4.10 ~ISLOWYE ARGUMENTY
w MATEMATIKE I [email protected] PRAKTIKE SLOWO ARGUMENT OZNA^AET\DANNYE,PREDOSTAW-
LQEMYE FUNKCII ILI OPERACII."wY MOVETE PEREDATX [email protected] KOMANDE Emacs ^ISLOWOJ
ARGUMENT (TAKVE NAZYWAEMYJ PREFIKSNYM ARGUMENTOM).nEKOTORYE KOMANDY INTERPRETI-
[email protected] ARGUMENT KAK S^ET^IK POWTORENIJ.nAPRIMER,KOMANDA C-f S ARGUMENTOM,RAWNYM
DESQTI,PEREDWIGAET WPERED NA DESQTX ZNAKOW,A NE NA ODIN.w\TIH KOMANDAH OTSUTSTWIE
ARGUMENTA\KWIWALENTNO ARGUMENTU,RAWNOMU EDINICE.oTRICATELXNYE ARGUMENTY GOWO-
RQT BOLX[INSTWU TAKIH KOMAND,^TO NADO DWIGATXSQ ILI DEJSTWOWATX W PROTIWOPOLOVNOM
NAPRAWLENII.
eSLI NA WA[EJ KLAWIATURE ESTX KLAWI[A
hMETAi,PROSTEJ[IJ SPOSOB USTANOWITX ^ISLO-
WOJ ARGUMENT |NABRATX CIFRY I/ILI ZNAK MINUSA,PRIVAW KLAWI[U META.nAPRIMER,
M-5 C-n
PEREDWINULA BY NA PQTX STROK WNIZ.zNAKI Meta-1,Meta-2,I TAK DALEE,A TAKVE Meta-
[email protected]\TO,TAK KAK\TO [email protected]^I,PRIWQZANNYE K KOMANDAM (digit-argument I negative-
argument),KOTORYE OPREDELENY KAK [email protected]]IE ARGUMENT W [email protected]][email protected] KOMANDU.cIFRY
I - S MODIFIKATOROM Control ILI Control I Meta TAKVE [email protected] ^ISLOWOJ ARGUMENT.
dRUGOJ SPOSOB ZADATX ARGUMENT |\TO ISPOLXZOWATX KOMANDU C-u (universal-argument),
ZA KOTOROJ [email protected] CIFRY ARGUMENTA.s POMO][email protected] C-u WY MOVETE NABRATX CIFRY ARGU-
MENTA,NE UDERVIWAQ KLAWI[I-MODIFIKATORY;C-u RABOTAET NA WSEH TERMINALAH.~TOBY
NABRATX OTRICATELXNYJ ARGUMENT,WWEDITE POSLE C-u ZNAK MINUS.pROSTO ZNAK MINUSA BEZ
CIFR OBY^NO OBOZNA^AET пЂЂ1.
C-u,ZA KOTOROJ SLEDUET ZNAK,NE [email protected]]IJSQ NI CIFROJ,NI ZNAKOM MINUS,IMEET SPE-
CIALXNYJ SMYSL,\UMNOVENIE NA ^ETYRE".oNA UMNOVAET ARGUMENT [email protected]]EJ KOMANDY
NA ^ETYRE.dWE POSLEDOWATELXNYE C-u [email protected] EGO NA [ESTNADCATX.tAKIM OBRAZOM,C-u
C-u C-f PEREDWIGAET WPERED NA [ESTNADCATX ZNAKOW.|TO UDOBNYJ SPOSOB PEREDWIGATXSQ
WPERED\BYSTRO",TAK KAK ON PEREDWIGAET WPERED PRIMERNO NA 1/5 WSEH STROK,UME][email protected]]IH-
SQ NA\KRANE OBY^NOGO RAZMERA.dRUGIE POLEZNYE SO^ETANIQ |\TO C-u C-n,C-u C-u C-n
(DWIGAET WNIZ NA BOLX[OJ KUSOK\KRANA),C-u C-u C-o (SOZDAET\MNOGO"PUSTYH STROK) I C-u
C-k (UNI^TOVAET ^ETYRE STROKI).
nEKOTORYM KOMANDAM WAVNO TOLXKO PRISUTSTWIE ILI OTSUTSTWIE ARGUMENTA,NO NE EGO
ZNA^ENIE.nAPRIMER,KOMANDA M-q (fill-paragraph) BEZ ARGUMENTA ZAPOLNQET TEKST,A S
ARGUMENTOM WDOBAWOK WYRAWNIWAET TEKST PO PRAWOJ GRANICE.(sM.rAZDEL 21.5 [zAPOLNE-
NIE],S.185,DLQ BOLEE PODROBNOJ INFORMACII O M-q).pROSTO C-u DAET UDOBNYJ SPOSOB
PREDOSTAWLENIQ ARGUMENTOW DLQ TAKIH KOMAND.
nEKOTORYE KOMANDY [email protected] ARGUMENT W KA^ESTWE S^ET^IKA POWTORENIJ,NO IH DEJ-
STWIQ S ARGUMENTOM I BEZ NEGO [email protected] NEKOTORYE SPECIFI^ESKIE ^ERTY.nAPRIMER,KOMANDA
C-k (kill-line) S ARGUMENTOM n UNI^TOVAET n STROK,[email protected]^AQ OGRANI^[email protected]]IE IH ZNAKI1
nA TERMINALAH,KOTORYE [email protected] Latin-1,ZNAK POSLE`Char:'OTOBRAVAETSQ KAK NASTOQ]IJ GLIF
DLQ A S AKCENTOM GRAW.
gLAWA 4:oSNOWNYE KOMANDY REDAKTIROWANIQ 43NOWOJ STROKI.nO C-k BEZ ARGUMENTA DEJSTWUET PO-DRUGOMU:ONA UNI^TOVAET TEKST WPLOTX
DO PEREWODA STROKI,ILI,ESLI TO^KA STOIT KAK RAZ W KONCE STROKI,UNI^TOVAET PEREWOD
STROKI.tAKIM OBRAZOM,DWE KOMANDY C-k BEZ ARGUMENTA MOGUT UNI^TOVITX [email protected]
STROKU,ANALOGI^NYE REZULXTATY MOVNO POLU^ITX,NABRAW KOMANDU C-k S ARGUMENTOM,RAW-
NYM EDINICE.(sM.rAZDEL 9.1 [uNI^TOVENIE],S.69,DLQ BOLEE PODROBNOJ INFORMACII O
C-k.)
nESKOLXKO KOMAND [email protected] [email protected] C-u NE TAK,KAK OBYKNOWENNYJ ARGUMENT.nEKOTO-
RYE DRUGIE KOMANDY MOGUT RAZLI^ATX ARGUMENT W WIDE PROSTO ZNAKA MINUS I ARGUMENT пЂЂ1.
|TI NEOBY^NYE SLU^AI BUDUT OPISANY,KOGDA PRIDET ^ERED\TIH KOMAND;ONI [email protected]
WSEGDA PO PRI^INAM UDOBSTWA ISPOLXZOWANIQ OTDELXNYH KOMAND.
wY MOVETE ISPOLXZOWATX ^ISLOWOJ ARGUMENT DLQ WSTAWKI NESKOLXKIH KOPIJ ODNOGO ZNA-
KA.|TO RABOTAET PRQMO,ESLI TOLXKO ZNAK | NE CIFRA;NAPRIMER,C-u 6 4 a WSTAWLQET
64 KOPII ZNAKA`a'.nO\TO NE RABOTAET DLQ WSTAWKI CIFR;C-u 6 4 1 ZADAET ARGUMENT 641,
A NE WSTAWLQET ^TO-LIBO.~TOBY OTDELITX CIFRU OT ARGUMENTA,NABERITE E]E ODIN C-u;
NAPRIMER,C-u 6 4 C-u 1 NA SAMOM DELE WSTAWLQET 64 KOPII ZNAKA`1'.
mY ISPOLXZUEM TERMIN\PREFIKSNYJ ARGUMENT",KAK I\^ISLOWOJ ARGUMENT",^TOBY POD-
^ERKNUTX,^TO WY NABIRAETE\TI ARGUMENTY PERED KOMANDOJ,I ^TOBY OTLI^ITX\TI ARGU-
MENTY OT ARGUMENTOW MINIBUFERA,KOTORYE PI[UTSQ POSLE KOMANDY.
4.11 pOWTORENIE KOMANDY
kOMANDA C-x z (repeat) PREDOSTAWLQET E]E ODIN SPOSOB POWTORITX KOMANDU Emacs
NESKOLXKO RAZ.|TA KOMANDA POWTORQET PREDYDU][email protected] KOMANDU Emacs,KAKAQ BY ONA NI
BYLA.pRI POWTORENII KOMANDA ISPOLXZUET TE VE ARGUMENTY,KAKIE U NEE BYLI RANX[E;
ONA NE S^ITYWAET NOWYE ARGUMENTY KAVDYJ RAZ.
~TOBY POWTORITX KOMANDU NESKOLXKO RAZ,NAPE^ATAJTE E]E ZNAKI z:KAVDYJ ZNAK z
POWTORIT\TU KOMANDU E]E ODIN RAZ.pOWTORENIE ZAKAN^IWAETSQ,KOGDA WY WWODITE ZNAK,
OTLI^NYJ OT z,ILI NAVIMAETE KNOPKU MY[I.
pREDPOLOVIM NAPRIMER,^TO WY NAPE^ATALI C-u 2 0 C-d,^TOBY UDALITX 20 ZNAKOW.wY
MOVETE POWTORITX\TU KOMANDU (WMESTE S EE ARGUMENTOM) E]E TRI RAZA,^TOBY UDALITX W
OB]EJ SLOVNOSTI 80 ZNAKOW,NAPE^ATAW C-x z z z.pERWYJ C-x z POWTORQET\TU KOMANDU
ODIN RAZ,A KAVDYJ [email protected]]IJ z POWTORQET E]E RAZ.
44 rUKOWODSTWO PO GNU Emacs
gLAWA 5:mINIBUFER 455 mINIBUFER
mINIBUFER ISPOLXZUETSQ KOMANDAMI Emacs DLQ ^TENIQ BOLEE SLOVNYH,^EM PROSTOE
^ISLO,ARGUMENTOW.aRGUMENTAMI MINIBUFERA MOGUT BYTX IMENA FAJLOW,IMENA BUFEROW,
IMENA FUNKCIJ lISPA,IMENA KOMAND Emacs I MNOGO DRUGIH WE]EJ W ZAWISIMOSTI OT S^I-
[email protected]]IH ARGUMENT KOMAND.dLQ REDAKTIROWANIQ ARGUMENTOW W MINIBUFERE MOGUT BYTX
ISPOLXZOWANY OBY^NYE KOMANDY REDAKTIROWANIQ Emacs.
kOGDA WY ISPOLXZUETE MINIBUFER,ON POQWLQETSQ W\HO-OBLASTI,I TUDA PEREDWIGAETSQ
KURSOR TERMINALA.nA^ALO STROKI MINIBUFERA POKAZYWAET PODSKAZKU,KOTORAQ GOWORIT,
KAKOJ WWOD WY DOLVNY DAWATX,I KAK ON BUDET PRIMENEN.~ASTO PODSKAZKA PROISHODIT OT
IMENI KOMANDY,DLQ KOTOROJ NUVEN\TOT ARGUMENT.pODSKAZKA OBY^NO KON^AETSQ DWOETO-
^IEM.
iNOGDA W KRUGLYH SKOBKAH POSLE DWOETO^IQ POQWLQETSQ ARGUMENT PO UMOL^[email protected];ON TO-
VE QWLQETSQ ^[email protected] PODSKAZKI.zNA^ENIE PO UMOL^[email protected] BUDET ISPOLXZOWANO KAK ZNA^ENIE
ARGUMENTA,ESLI WY WWODITE PUSTOJ ARGUMENT (NAPRIMER,PROSTO NABERETE hRETi).k PRIME-
RU,KOMANDY,S^[email protected]]IE IMENA BUFEROW,WSEGDA [email protected] ZNA^ENIE,PRINIMAEMOE PO
UMOL^[email protected];ONO QWLQETSQ IMENEM BUFERA,KOTORYJ BUDET ISPOLXZOWAN W DALXNEJ[EM,ESLI
WY PROSTO NABERETE h RETi.
pROSTEJ[IJ SPOSOB DATX ARGUMENT MINIBUFERU | NABRATX VELAEMYJ TEKST I ZAWER-
[ITX EGO
h RETi,KLAWI[EJ DLQ WYHODA IZ MINIBUFERA.wY MOVETE OTMENITX KOMANDU,
KOTORAQ ZAPRA[IWAET ARGUMENT,I WYJTI IZ MINIBUFERA,NABRAW C-g.
mINIBUFER ISPOLXZUET PROSTRANSTWO\KRANA,OTWEDENNOE POD\HO-OBLASTX,NO\TO MOVET
PROTIWORE^ITX DRUGIM SPOSOBAM ISPOLXZOWANIQ\HO-OBLASTI W Emacs.Emacs OBRABATYWAET
TAKIE KONFLIKTY [email protected]]IM OBRAZOM:
пЂЏ eSLI KAKAQ-TO KOMANDA POLU^AET O[IBKU,POKA WY NAHODITESX W MINIBUFERE,TO\TO NE
OTMENQET MINIBUFER.oDNAKO,\HO-OBLASTX NUVNA DLQ SOOB]ENIQ OB O[IBKE,I PO\TOMU
SAM MINIBUFER PRQ^ETSQ NA WREMQ.oN WOZWRA]AETSQ ^EREZ NESKOLXKO SEKUND ILI SRAZU
VE,KAK TOLXKO WY NABERETE ^TO-NIBUDX.
пЂЏ eSLI W MINIBUFERE WY ISPOLXZUETE KOMANDU,^XEJ [email protected] QWLQETSQ PE^ATX SOOB]ENIQ
W\HO-OBLASTI,[email protected] KAK C-x =,TO SOOB]ENIE OTOBRAVAETSQ KAK OBY^NO,A MINIBUFER
PRQ^ETSQ NA WREMQ.oN WOZWRA]AETSQ ^EREZ NESKOLXKO SEKUND,ILI KAK TOLXKO WY
NABERETE ^TO-TO E]E.
пЂЏ kOGDA ISPOLXZUETSQ MINIBUFER,\HO NABIRAEMYH ZNAKOW NE PROIZWODITSQ.
5.1 mINIBUFER DLQ IMEN FAJLOW
iNOGDA MINIBUFER POQWLQETSQ UVE S TEKSTOM.nAPRIMER,KOGDA WAM PREDLAGAETSQ ZA-
DATX IMQ FAJLA,MINIBUFER POQWLQETSQ S SODERVA]IMSQ W NEM KATALOGOM,ZADANNYM PO
UMOL^[email protected],KOTORYJ OKAN^IWAETSQ KOSOJ ^ERTOJ.|TO DELAETSQ,^TOBY PROINFORMIROWATX
WAS O TOM,W KAKOM KATALOGE BUDET NAHODITXSQ FAJL,ESLI WY NE ZADADITE KATALOG.nAPRI-
MER,MINIBUFER MOVET NA^INATXSQ TAK:
Find File:/u2/emacs/src/
GDE`Find File:'SLUVIT PODSKAZKOJ.nAPE^ATAW buffer.c,WY ZADAETE FAJL S
IMENEM`/u2/emacs/buffer.c'.~TOBY NAJTI FAJLY W SOSEDNIH KATALOGAH,ISPOLX-
ZUETSQ..;TAKIM OBRAZOM,ESLI WY NABERETE../lisp/simple.el,TO POLU^ITE FAJL
`/u2/emacs/lisp/simple.el'.iLI WY MOVETE UNI^TOVITX NENUVNOE WAM IMQ KATALOGA S
POMO][email protected] M-h DELi (SM.rAZDEL 21.1 [sLOWA],S.181).
eSLI WAM NE NUVNO NI^EGO IZ KATALOGA PO UMOL^[email protected],WY MOVETE UNI^TOVITX EGO S
POMO][email protected] C-a C-k.nO W\TOM NET NEOBHODIMOSTI;WY MOVETE PROSTO PROIGNORIROWATX EGO.
wSTAWXTE POSLE KATALOGA PO UMOL^[email protected] [email protected] IMQ FAJLA,NA^[email protected]]EESQ S KOSOJ
^ERTY ILI TILXDY.nAPRIMER,^TOBY ZADATX FAJL`/etc/termcap',PROSTO WSTAWXTE\TO
IMQ,PRI\TOM WY POLU^ITE W MINIBUFERE [email protected] STROKU:
46 rUKOWODSTWO PO GNU EmacsFind File:/u2/emacs/src//etc/termcap
GNU Emacs PRIDAET DWOJNOJ KOSOJ ^ERTE OSOBOE NAZNA^ENIE (OBY^NO NET SMYSLA PISATX
DWE KOSYE ^ERTY PODRQD):ONI OZNA^[email protected]\PROPUSTITX WSE PERED WTOROJ KOSOJ ^ERTOJ W
PARE".tAKIM OBRAZOM,`/u2/emacs/src/'W PREDYDU]EM PRIMERE BUDET PROIGNORIROWANO,I
WY POLU^ITE FAJL`/etc/termcap'.
eSLI WY USTANOWITE insert-default-directory RAWNOJ nil,KATALOG PO UMOL^[email protected] NE
POQWLQETSQ W MINIBUFERE.tAKIM OBRAZOM,MINIBUFER POQWLQETSQ PUSTYM.nO NABIRAE-
MOE WAMI IMQ,ESLI ONO OTNOSITELXNO,PO-PREVNEMU INTERPRETIRUETSQ S U^ETOM TOGO VE
KATALOGA PO UMOL^[email protected]
5.2 rEDAKTIROWANIE W MINIBUFERE
mINIBUFER |\TO BUFER Emacs (HOTQ I SWOEOBRAZNYJ),I OBY^NYE KOMANDY Emacs
GODQTSQ DLQ REDAKTIROWANIQ TEKSTA WWODIMYH WAMI ARGUMENTOW.
tAK KAK hRETi W MINIBUFERE OPREDELEN DLQ WYHODA,WY NE MOVETE ISPOLXZOWATX EGO DLQ
WSTAWKI OGRANI^ITELQ NOWOJ STROKI W MINIBUFER.~TOBY WSTAWITX PEREWOD STROKI,WWEDITE
C-o ILI C-q C-j.(nAPOMNIM,^TO OGRANI^ITELX NOWOJ STROKI |\TO NA SAMOM DELE ZNAK
control-J.)
mINIBUFER IMEET SWOE SOBSTWENNOE OKNO,KOTOROE WSEGDA PRISUTSTWUET NA\KRANE,NO
DEJSTWUET TAK,KAK ESLI BY EGO NE BYLO,KOGDA MINIBUFER NE ISPOLXZUETSQ.kOGDA VE
MINIBUFER ISPOLXZUETSQ,EGO NI^EM NE OTLI^AETSQ OT WSEH OSTALXNYH OKON;WY MOVETE
PEREJTI W DRUGOE OKNO S POMO][email protected] C-x o,OTREDAKTIROWATX TEKST W DRUGIH OKNAH I MO-
VET BYTX DAVE OBRATITXSQ K NESKOLXKIM FAJLAM PERED WOZWRA]ENIEM W MINIBUFER DLQ
PREDSTAWLENIQ ARGUMENTA.wY MOVETE UNI^TOVITX TEKST W DRUGOM OKNE,WERNUTXSQ W OKNO
MINIBUFERA I ZATEM WOSSTANOWITX\TOT TEKST,^TOBY ISPOLXZOWATX EGO W ARGUMENTE.sM.gLAWA 16 [oKNA],S.141.
oDNAKO SU][email protected] NEKOTORYE OGRANI^ENIQ NA ISPOLXZOWANIE OKNA MINIBUFERA.wY
NE MOVETE [email protected]^ITX W NEM BUFERY | MINIBUFER I EGO OKNO SWQZANY WMESTE.tO^NO
TAKVE,WY NE MOVETE PODELITX ILI UNI^TOVITX OKNO MINIBUFERA.nO WY MOVETE SDELATX
EGO WY[E OBY^NYM SPOSOBOM S POMO][email protected] C-x ^.eSLI WY [email protected]^ITE REVIM Resize-MinibuпЂ‹er,
TO OKNO MINIBUFERA PO NEOBHODIMOSTI UWELI^IWAETSQ WERTIKALXNO,^TOBY WMESTITX TEKST,
KOTORYJ WY POMESTILI W MINIBUFER.iSPOLXZUJTE M-x resize-minibuffer-mode,^TOBY
[email protected]^ITX ILI [email protected]^ITX\TOT WTOROSTEPENNYJ REVIM (SM.rAZDEL 31.1 [wTOROSTEPENNYE
REVIMY],S.341 ).
pROKRUTKA RABOTAET W OKNE MINIBUFERA OSOBYM OBRAZOM.kOGDA WYSOTA MINIBUFE-
RA RAWNA TOLXKO ODNOJ STROKE,I ON SODERVIT [email protected] STROKU TEKSTA,KOTORAQ NE UME-
STILASX BY NE\KRANE,S POMO][email protected] PROKRUTKI AWTOMATI^ESKI PODDERVIWAETSQ PEREKRYTIE
ODNOJ STROKI PRODOLVENIQ DRUGOJ NA OPREDELENNOE ^ISLO ZNAKOW.pEREMENNAQ minibuffer-
scroll-overlap UKAZYWAET ^ISLO ZNAKOW,NA KOTOROE NUVNO DELATX PEREKRYTIE;PO UMOL-
^[email protected]\TO 20.
eSLI WO WREMQ NAHOVDENIQ W MINIBUFERE WY ZAPUSKAETE KOMANDU,KOTORAQ POKAZYWA-
ET W DRUGOM OKNE SPRAWO^NYJ TEKST [email protected] WIDA,WY MOVETE ISPOLXZOWATX W MINIBUFERE
KOMANDU C-M-v DLQ PROKRUTKI\TOGO OKNA.|TO SWOJSTWO WSTUPAET W DEJSTWIE,ESLI PO-
PYTKA POLU^ITX ZAWER[ENIE W MINIBUFERE DAET WAM SPISOK WOZMOVNYH WARIANTOW.sM.rAZDEL 16.3 [dRUGIE OKNA],S.142.
Emacs OBY^NO ZAPRE]AET BOLX[INSTWO KOMAND,[email protected]]IH MINIBUFER,KOGDA MINI-
BUFER AKTIWEN.|TO PRAWILO BYLO WWEDENO,^TOBY REKURSIWNYE MINIBUFERY NE ZAPUTYWALI
NA^[email protected]]IH POLXZOWATELEJ.eSLI WY HOTITE POLU^ITX WOZMOVNOSTX ISPOLXZOWANIQ TAKIH
KOMAND W MINIBUFERE,USTANOWITE [email protected] enable-recursive-minibuffers NE RAWNOJ
nil.
gLAWA 5:mINIBUFER 475.3 zAWER[ENIE
dLQ WWODA ZNA^ENIJ NEKOTORYH WIDOW ARGUMENTOW WY MOVETE ISPOLXZOWATX ZAWER[ENIE.
zAWER[ENIE OZNA^AET,^TO WY NABIRAETE ^ASTX ARGUMENTA,A Emacs QWNO DOPOLNQET OSTATOK
[email protected] ILI NASTOLXKO,NASKOLXKO MOVNO OPREDELITX PO NABRANNOJ WAMI ^ASTI.
kOGDA ZAWER[ENIE DOSTUPNO,OPREDELENNYE KLAWI[I |
hTABi,hRETi I hSPCi |PEREPRIWQ-
[email protected] DLQ DOPOLNENIQ PREDSTAWLENNOGO W MINIBUFERE TEKSTA DO BOLEE DLINNOJ STROKI,
[email protected]\TOT TEKST PREDSTAWLQET,PUTEM SOPOSTAWLENIQ EGO S WARIANTAMI ZAWER[ENIQ,KO-
TORYE [email protected] KOMANDOJ,S^[email protected]]EJ\TOT ARGUMENT.zNAK?OPREDELEN KAK
[email protected]]IJ SPISOK WOZMOVNYH ZAWER[ENIJ TOGO,^TO WY UVE WWELI.
nAPRIMER,KOGDA M-x ISPOLXZUET MINIBUFER DLQ ^TENIQ IMENI KOMANDY,ONA PREDOSTAW-
LQET DLQ ZAWER[ENIQ SPISOK WSEH [email protected]]IHSQ IMEN KOMAND Emacs.kLAWI[I ZAWER[ENIQ
[email protected] TEKST W MINIBUFERE SO WSEMI IMENAMI KOMAND,NAHODQT KAKIE-TO DOPOLNI-
TELXNYE ZNAKI IMENI,KOTORYE [email protected] UVE PREDSTAWLENNYMI W MINIBUFERE,I
[email protected]\TI ZNAKI K TEM,KOTORYE WY DALI.pO\TOMU MOVNO NAPE^ATATX M-x ins hSPCi b
h RETi WMESTO M-x insert-buffer hRETi (NAPRIMER).
rEGISTR OBY^NO IMEET ZNA^ENIE PRI ZAWER[ENII,TAK KAK ON IMEET ZNA^ENIE W BOLX-
[INSTWE IMEN,KOTORYE WY MOVETE ZAWER[ITX (IMENA BUFEROW,FAJLOW,KOMAND).tAKIM
OBRAZOM,`fo'NE ZAWER[ITSQ DO`Foo'.kOGDA WY ZAWER[AETE IMQ,W KOTOROM REGISTR NE
IMEET ZNA^ENIQ,TO PRI ZAWER[ENII REGISTR MOVET BYTX PROIGNORIROWAN.
5.3.1 pRIMER ZAWER[ENIQ
zDESX MOVET POMO^X KONKRETNYJ PRIMER.eSLI WY NABERETE M-x au hTABi,hTABi I]ET
WARIANTY (W DANNOM SLU^AE IMENA KOMAND),KOTORYE NA^[email protected] S`au'.iH NESKOLXKO,
[email protected]^AQ auto-fill-mode I auto-save-mode,NO WSE ONI ODINAKOWO NA^[email protected] NA auto-,
PO\TOMU`au'W MINIBUFERE IZMENQETSQ NA`auto-'.
eSLI WY NEMEDLENNO SNOWA NABERETE h TABi,TO POQWQTSQ NESKOLXKO WOZMOVNOSTEJ DLQ
[email protected]]IH ZNAKOW |\TO MOVET BYTX [email protected] IZ`cfilrs',| PO\TOMU BOLX[E NI^EGO NE
DOBAWLQETSQ,NO W DRUGOM OKNE POKAZYWAETSQ SPISOK WSEH WOZMOVNYH ZAWER[ENIJ.
eSLI WY PRODOLVAETE NABIRATX f h TABi,TO\TOT hTABi UWIDIT`auto-f'.eDINSTWENNOE
IMQ KOMANDY,KOTOROE TAK NA^INAETSQ,|\TO auto-fill-mode,TAKIM OBRAZOM ZAWER[ENIE
WSTAWLQET EE OSTATOK.tEPERX WY IMEETE W MINIBUFERE`auto-fill-mode'PROSTO POSLE
NABORA au h TABi f hTABi.zAMETXTE,^TO hTABi OBLADAET W MINIBUFERE TAKIM DEJSTWIEM,
POTOMU ^TO KOGDA WOZMOVNO ZAWER[ENIE,ON PRIWQZAN K KOMANDE minibuffer-complete.
5.3.2 kOMANDY ZAWER[ENIQ
zDESX PREDSTAWLEN SPISOK WSEH KOMAND ZAWER[ENIQ,OPREDELENNYH W MINIBUFERE,KOGDA
ZAWER[ENIE DOSTUPNO.
h TABi zAWER[ITX PREDSTAWLENNYJ W MINIBUFERE TEKST NASKOLXKO\TO WOZMOVNO
(minibuffer-complete).
h SPCi zAWER[ITX TEKST W MINIBUFERE,NO NE PRIBAWLQTX BOLEE ODNOGO SLOWA
(minibuffer-complete-word).
h RETi pREDSTAWITX TEKST W MINIBUFERE KAK ARGUMENT,WOZMOVNO SNA^ALA DOPOLNQQ
EGO,KAK OPISANO NIVE (minibuffer-complete-and-exit).
?nAPE^ATATX SPISOK WSEH WOZMOVNYH ZAWER[ENIJ TEKSTA W MINIBUFERE
(minibuffer-list-completions).
h SPCi ZAWER[AET O^ENX POHOVE NA hTABi,NO NIKOGDA NE IDET DALX[E [email protected]]EGO DEFI-
SA ILI PROBELA.eSLI W MINIBUFERE ESTX`auto-f',I WY NABERETE hSPCi,ON OBNARUVIT,
48 rUKOWODSTWO PO GNU Emacs^TO ZAWER[ENIE |\TO`auto-fill-mode',NO OSTANOWIT ZAWER[ENIE POSLE`fill-'.|TO DAST
`auto-fill-'.e]E ODIN hSPCi W\TOM MESTE ZAWER[AET [email protected] DO`auto-fill-mode'.hSPCi
W MINIBUFERE,KOGDA WOZMOVNO ZAWER[ENIE,ZAPUSKAET [email protected] minibuffer-complete-
word.
wOT NESKOLXKO KOMAND,KOTORYE WY MOVETE ISPOLXZOWATX DLQ WYBORA ZAWER[ENIQ W OKNE,
[email protected]]EM PERE^ENX WARIANTOW:
Mouse-2 }EL^OK WTOROJ KNOPKOJ MY[I WYBIRAET ODNO IZ ZAWER[ENIJ IZ PERE^NQ WOZ-
MOVNYH WARIANTOW (mouse-choose-completion).oBY^NO WY ISPOLXZUETE\TU
KOMANDU,KOGDA TO^KA NAHODITSQ W MINIBUFERE;NO WY DOLVNY ]ELKNUTX W PE-
RE^NE ZAWER[ENIJ,A NE SAMOM MINIBUFERE.
h PRIORi
M-v nAVATIE hPRIORi (ILI hPAGE-UPi) ILI M-v,KOGDA WY NAHODITESX W MINIBUFE-
RE,WYBIRAET OKNO,[email protected]]EE BUFER S PERE^NEM ZAWER[ENIJ (switch-to-
completions).|TO PROKLADYWAET PUTX K [email protected] KOMAND,PERE^ISLEN-
NYH NIVE.(wYBOR\TO OKNA OBY^NYM SPOSOBOM IMEET TOT VE\FFEKT,NO\TOT
SPOSOB UDOBNEE.)
h RETi nAVATIE hRETi W BUFERE S PERE^NEM ZAWER[ENIJ WYBIRAET ZAWER[ENIE,NA KOTO-
ROM ILI POSLE KOTOROGO NAHODITSQ TO^KA (choose-completion).~TOBY ISPOLX-
ZOWATX\TU KOMANDU,WY DOLVNY SNA^ALA [email protected]^ITXSQ W OKNO,[email protected]]EE
PERE^ENX ZAWER[ENIJ.
h RIGHTi nAVATIE PRAWOJ KURSORNOJ STRELKI hRIGHTi W BUFERE S PERE^NEM ZAWER[ENIJ
PEREDWIGAET TO^KU K [email protected]]EMU ZAWER[[email protected] (next-completion).
h LEFTi nAVATIE LEWOJ KURSORNOJ STRELKI hLEFTi W BUFERE S PERE^NEM ZAWER[ENIJ PERE-
DWIGAET TO^KU BLIVE K NA^ALU BUFERA,K PREDYDU]EMU ZAWER[[email protected] (previous-
completion).
5.3.3 sTROGOE ZAWER[ENIE
sU]ESTWUET TRI RAZLI^NYH WARIANTA RABOTY h RETi PRI ZAWER[ENII W MINIBUFERE,ZA-
WISQ]IE OT TOGO,KAK BUDET ISPOLXZOWAN ARGUMENT.
пЂЏ sTROGOE ZAWER[ENIE ISPOLXZUETSQ,KOGDA BESSMYSLENNO DAWATX KAKOJ-LIBO DRUGOJ AR-
GUMENT,KROME ODNOJ IZ IZWESTNYH ALXTERNATIW.nAPRIMER,KOGDA C-x k S^ITYWAET
IMQ BUFERA DLQ UNI^TOVENIQ,TO BESSMYSLENNO DAWATX ^TO LIBO,KROME IMENI SU]E-
[email protected]]EGO BUFERA.pRI STROGOM ZAWER[ENII h RETi OTKAZYWAETSQ WYHODITX,ESLI TEKST
W MINIBUFERE NE ZAWER[AETSQ S TO^NYM SOOTWETSTWIEM [ABLONU.
пЂЏ oSTOROVNOE ZAWER[ENIE PODOBNO STROGOMU ZAWER[[email protected] ZA [email protected]^ENIEM TOGO,^TO hRETi
WYHODIT,TOLXKO ESLI TEKST UVE SOWPADAL W TO^NOSTI S [ABLONOM,NE [email protected]]EMSQ
W ZAWER[ENII.eSLI TEKST | NE TO^NOE SOWPADENIE,h RETi NE WYHODIT,NO DELAET ZA-
WER[ENIE TEKSTA.eSLI\TO ZAWER[AET TEKST DO TO^NOGO SOWPADENIQ,TO WTOROJ hRETi
WYJDET.
oSTOROVNOE ZAWER[ENIE ISPOLXZUETSQ DLQ ^TENIQ IMEN FAJLOW,KOTORYE DOLVNY UVE
SU]ESTWOWATX.
пЂЏ sWOBODNOE ZAWER[ENIE ISPOLXZUETSQ,KOGDA [email protected] STROKA QWLQETSQ PODHODQ]EJ,I SPI-
SOK ALXTERNATIW ZAWER[ENIQ DAETSQ PROSTO DLQ SPRAWKI.nAPRIMER,KOGDA C-x C-f
S^ITYWAET IMQ FAJLA DLQ OBRA]ENIQ,DOPUSTIMO [email protected] IMQ FAJLA,NA SLU^AJ,ES-
LI WY ZAHOTITE SOZDATX NOWYJ FAJL.pRI SWOBODNOM ZAWER[ENII h RETi BERET TEKST W
MINIBUFERE TO^NO KAK ON DAN,NE ZAWER[AQ EGO.
kOMANDY ZAWER[ENIQ [email protected] W OKNE SPISOK WSEH WOZMOVNYH WARIANTOW WSQKIJ RAZ,
KOGDA WOZMOVNO BOLEE ^EM ODNO ZAWER[ENIE DLQ [email protected]]EGO ZNAKA.kROME TOGO,NABOR?QW-
NO ZAPRA[IWAET TAKOJ SPISOK.eSLI PERE^ENX ZAWER[ENIJ DLINNYJ,WY MOVETE PROKRUTITX
EGO S POMO][email protected] C-M-v (SM.rAZDEL 16.3 [dRUGIE OKNA],S.142).
gLAWA 5:mINIBUFER 495.3.4 pARAMETRY ZAWER[ENIQ
pRI ZAWER[ENII IMEN FAJLOW OPREDELENNYE IMENA OBY^NO [email protected]
completion-ignored-extension SODERVIT SPISOK STROK;FAJL,^XE IMQ KON^AETSQ NA [email protected]
[email protected] IZ\TIH STROK,IGNORIRUETSQ KAK WOZMOVNOE ZAWER[ENIE.sTANDARTNOE ZNA^ENIE\TOJ
PEREMENNOJ IMEET NESKOLXKO\LEMENTOW,[email protected]^AQ".O",".elc",".dvi"I"~".dEJSTWIE TA-
KOWO:NAPRIMER,`foo'MOVET ZAWER[ITXSQ DO`foo.c',DAVE ESLI`foo.o'TAKVE SU]ESTWUET.
oDNAKO,ESLI WSE WOZMOVNYE ZAWER[ENIQ KON^[email protected] NA\IGNORIRUEMYE"STROKI,TOGDA ONI
NE [email protected] RAS[IRENIQ NE OTNOSQTSQ K SPISKAM ZAWER[ENIJ |\TI
SPISKI WSEGDA [email protected] WSE WOZMOVNYE ZAWER[ENIQ.
oBY^NO KOMANDA ZAWER[ENIQ,KOTORAQ OBNARUVIWAET,^TO [email protected]]IJ ZNAK NELXZQ OPRE-
DELITX,AWTOMATI^ESKI POKAZYWAET SPISOK WSEH WOZMOVNYH ZAWER[ENIJ.eSLI PEREMENNAQ
completion-auto-help USTANOWLENA W ZNA^ENIE nil,\TOGO NE PROISHODIT,I ^TOBY PROSMOT-
RETX WOZMOVNYE WARIANTY,WY DOLVNY NABRATX?.
bIBLIOTEKA complete REALIZOWYWAET BOLEE MO]NYJ WID ZAWER[ENIQ,KOTORYJ MOVET DO-
POLNQTX NESKOLXKO SLOW ODNOWREMENNO.nAPRIMER,ONA MOVET ZAWER[ITX SOKRA]ENIE IMENI
KOMANDY p-b DO print-buffer,POTOMU ^TO NI ODNA DRUGAQ KOMANDA NE NA^INAETSQ S DWUH
SLOW,^XI PERWYE BUKWY |\TO`p'I`b'.~TOBY ISPOLXZOWATX\TU BIBLIOTEKU,NAPI[I-
TE (load"complete") W WA[EM FAJLE`~/.emacs'(SM.rAZDEL 31.7 [fAJL INICIALIZACII],
S.366 ).
rEVIM Icomplete PREDOSTAWLQET POSTOQNNO [email protected]][email protected] [email protected],GOWORQ][email protected]
WAM,KAKIE ZAWER[ENIQ DOSTUPNY DLQ UVE WWEDENNOGO TEKSTA.|TOT WTOROSTEPENNYJ REVIM
[email protected]^AETSQ I [email protected]^AETSQ S POMO][email protected] KOMANDY M-x icomplete-mode.
5.4 iSTORIQ MINIBUFERA
wSE WWEDENNYE WAMI W MINIBUFER ARGUMENTY [email protected] W SPISKE ISTORII MINIBU-
FERA,^TOBY WY MOGLI SNOWA ISPOLXZOWATX IH POZVE W NOWOM ARGUMENTE.tEKST STARYH
ARGUMENTOW WSTAWLQETSQ W MINIBUFER OSOBYMI KOMANDAMI.oNI [email protected] STAROE SODER-
VIMOE MINIBUFERA,TAK ^TO WY MOVETE DUMATX O NIH KAK O KOMANDAH DWIVENIQ PO SPISKU
PREDYDU]IH ARGUMENTOW.
h UPi
M-p pEREME]AETSQ K PREDYDU]EJ STROKE ARGUMENTA,SOHRANENNOJ W ISTORII MINI-
BUFERA (previous-history-element).
h DOWNi
M-n pEREME]AETSQ K [email protected]]EJ STROKE ARGUMENTA,SOHRANENNOJ W ISTORII MINIBU-
FERA (next-history-element).
M-r regexp hRETi
pEREME]AETSQ K BOLEE RANNEMU ARGUMENTU W ISTORII MINIBUFERA,W KOTOROM
ESTX SOWPADENIE S regexp (previous-matching-history-element).
M-s regexp h RETi
pEREME]AETSQ K BOLEE POZDNEMU ARGUMENTU W ISTORII MINIBUFERA,W KOTOROM
ESTX SOWPADENIE S regexp (next-matching-history-element).
pROSTEJ[IJ SPOSOB POWTORNO ISPOLXZOWATX SOHRANENNYE ARGUMENTY IZ SPISKA ISTORII
|PEREDWIGATXSQ PO SPISKU ISTORII PO ODNOMU ARGUMENTU.nAHODQSX W MINIBUFERE,ISPOLX-
ZUJTE M-p ILI STRELKU WWERH (previous-history-element) ^TOBY\PEREJTI"K PREDYDU]E-
MU WWODU MINIBUFERA,I M-n ILI STRELKU WNIZ (next-history-element) DLQ\PEREHODA"K
[email protected]]EMU.
pREDYDU]IJ WWOD,KOTORYJ WY IZWLEKAETE IZ ISTORII,[email protected] ZAME]AET SODERVI-
MOE MINIBUFERA.~TOBY ISPOLXZOWATX EGO W KA^ESTWE ARGUMENTA,WYJDITE IZ MINIBUFERA
50 rUKOWODSTWO PO GNU EmacsKAK OBY^NO,S POMO][email protected] hRETi.wY TAKVE MOVETE OTREDAKTIROWATX TEKST PERED ISPOLXZOWA-
NIEM;\TO NE IZMENQET\LEMENT ISTORII,K KOTOROMU WY\PERE[LI",NO WA[ NOWYJ ARGUMENT
WSTAWLQETSQ W KONEC SPISKA ISTORII KAK OTDELXNYJ\LEMENT.
dLQ MNOGIH ARGUMENTOW MINIBUFERA ESTX ZNA^ENIE\PO UMOL^[email protected]".w NEKOTORYH SLU-
^AQH KOMANDY ISTORII [email protected] ZNA^ENIE PO UMOL^[email protected] WY MOVETE WSTAWITX\TO
ZNA^ENIE W MINIBUFER W WIDE TEKSTA,ISPOLXZUQ M-n DLQ PEREHODA\W BUDU]EE"PO ISTORII.
mY NADEEMSQ W KONCE KONCOW SDELATX\TO SWOJSTWO DOSTUPNYM WSEGDA,KOGDA U MINIBUFERA
ESTX ZNA^ENIE PO UMOL^[email protected]
tAKVE ESTX KOMANDY DLQ POISKA WPERED ILI NAZAD PO ISTORII;ONI PROIZWODQT POISK
\LEMENTOW ISTORII,KOTORYE [email protected] ZADAWAEMOMU WAMI W MINIBUFERE REGULQRNOMU
[email protected] (previous-matching-history-element) PROIZWODIT POISK BOLEE STARYH
\LEMENTOW ISTORII,TOGDA KAK M-s (next-matching-history-element) PROIZWODIT POISK
BOLEE NOWYH\LEMENTOW.pO OSOBOMU RAZRE[[email protected]\TI KOMANDY MOGUT ISPOLXZOWATX MINIBU-
FER DLQ S^ITYWANIQ ARGUMENTOW,HOTQ WY UVE NAHODITESX W MINIBUFERE,KOGDA ZAPUSKAETE
IH.kAK I PRI NARA]IWAEMOM POISKE,ZAGLAWNAQ BUKWA W REGULQRNOM WYRAVENII DELAET
POISK REGISTROZAWISIMYM (SM.rAZDEL 12.6 [pOISK I REGISTR],S.95).
kAVDOE ISPOLXZOWANIE MINIBUFERA ZAPISYWAET WA[ WWOD W SPISOK ISTORII,NO ESTX OT-
DELXNYE SPISKI DLQ RAZLI^NYH WIDOW ARGUMENTOW.nAPRIMER,ESTX SPISOK DLQ IMEN FAJLOW,
ISPOLXZUEMYJ WSEMI KOMANDAMI,S^[email protected]]IMI IMENA FAJLOW.(u NEGO ESTX OSOBENNOSTX:
\TOT SPISOK ISTORII ZAPISYWAET [email protected] IMQ FAJLA,NE BOLX[E I NE MENX[E,DAVE ESLI
WY WWELI EGO INA^E.)
sU][email protected] NESKOLXKO DRUGIH OSOBENNYH SPISKOW ISTORII,[email protected]^AQ SPISOK DLQ IMEN
KOMAND,S^ITYWAEMYH KOMANDOJ M-x,SPISOK DLQ IMEN BUFEROW,SPISOK DLQ ARGUMENTOW KO-
MAND WRODE query-replace I SPISOK KOMAND KOMPILQCII,S^ITYWAEMYH KOMANDOJ compile.
i NAKONEC,ESTX SPISOK ISTORII DLQ\RAZNOGO",KOTORYJ [email protected] BOLX[INSTWO ARGUMEN-
TOW MINIBUFERA.
pEREMENNAQ history-length ZADAET [email protected] DLINU SPISKA ISTORII MINIBUFERA;
KAK TOLXKO SPISOK DORASTAET DO\TOJ DLINY,SAMYJ STARYJ\LEMENT UDALQETSQ PRI DOBAW-
LENII NOWOGO.eSLI ZNA^ENIE history-length RAWNO t,TO OGRANI^ENIQ NA DLINU NET,I
\LEMENTY NE [email protected] NIKOGDA.
5.5 pOWTOR KOMAND MINIBUFERA
kAVDAQ KOMANDA,KOTORAQ ISPOLXZUET MINIBUFER PO KRAJNEJ MERE ODIN RAZ,ZAPISYWA-
ETSQ W SPECIALXNYJ SPISOK ISTORII WMESTE SO ZNA^ENIEM ARGUMENTOW MINIBUFERA,TAK ^TO
WY MOVETE LEGKO EE POWTORITX.w ^ASTNOSTI,ZAPISYWAETSQ KAVDOE ISPOLXZOWANIE M-x,TAK
KAK M-x ISPOLXZUET MINIBUFER DLQ ^TENIQ IMENI KOMANDY.
C-x h ESCi hESCi
pOWTORNOE WYPOLNENIE POSLEDNEJ KOMANDY MINIBUFERA (repeat-complex-
command).
M-x list-command-history
wYWESTI [email protected] [email protected] WSEH KOMAND,KOTORYE MOVET POWTORITX C-x hESCi
h ESCi,NA^INAQ S BOLEE NOWYH.
C-x
h ESCi hESCi ISPOLXZUETSQ DLQ POWTORNOGO WYPOLNENIQ NEDAWNEJ KOMANDY,ISPOLXZO-
WAW[EJ MINIBUFER.zAPU]ENNAQ BEZ ARGUMENTA,ONA POWTORQET [email protected]@ [email protected] KOMANDU.
~ISLOWOJ ARGUMENT OPREDELQET,[email protected] KOMANDU POWTORITX;EDINICA OZNA^AET [email protected] OT
KONCA,A BOLX[IE ^ISLA [email protected] BOLEE RANNIE KOMANDY.
C-x h ESCi hESCi DEJSTWUET PRI POMO]I PREWRA]ENIQ PREDYDU]EJ KOMANDY W WYRAVENIE
lISPA I [email protected]]EGO WHODA W MINIBUFER,INICIALIZIROWANYJ TEKSTOM\TOGO WYRAVENIQ.
eSLI WY NABIRAETE PROSTO hRETi,TO KOMANDA POWTORQETSQ KAK PREVDE.wY MOVETE TAKVE
gLAWA 5:mINIBUFER 51IZMENITX KOMANDU PUTEM REDAKTIROWANIQ LISPOWSKOGO WYRAVENIQ.tO WYRAVENIE,^TO WY W
KONCE KONCOW PREDSTAWITE,I BUDET WYPOLNENO.pOWTORENNAQ KOMANDA DOBAWLQETSQ W NA^ALO
ISTORII KOMAND,ESLI ONA NE IDENTI^NA SAMOJ POSLEDNEJ WYPOLNENNOJ KOMANDE,KOTORAQ
UVE BYLA TAM.
dAVE ESLI WY NE PONIMAETE SINTAKSISA lISPA,WEROQTNEE WSEGO BUDET O^EWIDNO,KAKAQ
KOMANDA OTRAVAETSQ DLQ POWTORENIQ.eSLI WY NE MENQLI TEKST,WY MOVETE BYTX UWERENY,
^TO ON POWTORITSQ TO^NO TAK,KAK PREVDE.
nAHODQSX W MINIBUFERE PO KOMANDE C-x
hESCi hESCi,WY MOVETE ISPOLXZOWATX KOMANDY
ISTORII MINIBUFERA (M-p,M-n,M-r,M-s;SM.rAZDEL 5.4 [iSTORIQ MINIBUFERA],S.49)
DLQ PRODWIVENIQ PO SPISKU SOHRANENNYH [email protected] KOMAND.pOSLE TOGO,KAK WY NAJDETE
[email protected] PREDYDU][email protected] KOMANDU,WY MOVETE KAK OBY^NO OTREDAKTIROWATX EE WYRAVENIE I
ZATEM PREDOSTAWITX EGO SNOWA,NABRAW
h RETi.
pERE^ENX PREDYDU]IH KOMAND,ISPOLXZOWAW[IH MINIBUFER,HRANITSQ KAK LISPOWSKIJ
SPISOK W PEREMENNOJ command-history.kAVDYJ\LEMENT |\TO LISPOWSKOE WYRAVENIE,
KOTOROE OPISYWAET ODNU KOMANDU I EE ARGUMENTY.pROGRAMMY NA lISPE MOGUT POWTORNO
WYPOLNQTX KOMANDY PUTEM PEREDA^I W eval [email protected]]EGO\LEMENTA command-history.
52 rUKOWODSTWO PO GNU Emacs
gLAWA 6:zAPUSK KOMAND PO IMENI 536 zAPUSK KOMAND PO IMENI
kOMANDY Emacs,KOTORYE [email protected] ^ASTO ILI DOLVNY BYSTRO NABIRATXSQ,PRIWQ-
[email protected] K [email protected]^AM | KOROTKIM POSLEDOWATELXNOSTQM ZNAKOW | DLQ UDOBSTWA ISPOLXZO-
WANIQ.dRUGIE KOMANDY Emacs,NE [email protected]]IESQ W KRATKOSTI,NE PRIWQZANY K [email protected]^AM;
^TOBY ZAPUSTITX IH,WY DOLVNY OBRATITXSQ K NIM PO IMENI.
pO SOGLA[[email protected] IMQ KOMANDY SOZDAETSQ IZ ODNOGO ILI BOLEE SLOW,RAZDELENNYH DEFISA-
MI;NAPRIMER,auto-fill-mode ILI manual-entry.iSPOLXZOWANIE ANGLIJSKIH SLOW DELAET
IMENA KOMAND BOLEE LEGKIMI DLQ ZAPOMINANIQ,^EM SOSTAWLENNYE IZ NEPONQTNYH ZNAKOW
[email protected]^I,DAVE ESLI SLOWA DOLX[E NABIRATX.
~TOBY ZAPUSTITX NA WYPOLNENIE KOMANDU PO IMENI,SNA^ALA NABERITE M-x,ZA NIM IMQ
KOMANDY I ZAKON^ITE NABOROM hRETi.`M-x'ISPOLXZUET MINIBUFER DLQ ^TENIQ IMENI KO-
MANDY.h RETi WYHODIT IZ MINIBUFERA I ZAPUSKAET KOMANDU NA WYPOLNENIE.sTROKA`M-x'
POKAZYWAETSQ W NA^ALE BUFERA KAK PODSKAZKA,^TOBY NAPOMNITX WAM,^TO WY DOLVNY WWESTI
IMQ KOMANDY,KOTORAQ BUDET ZAPU]ENA NA WYPOLNENIE.sM.gLAWA 5 [mINIBUFER],S.45,
DLQ POLNOJ INFORMACII O SWOJSTWAH MINIBUFERA.
pRI WWODE IMENI KOMANDY WY MOVETE ISPOLXZOWATX ZAWER[ENIE.nAPRIMER,KOMANDA
forward-char MOVET BYTX ZAPU]ENA PO IMENI PRI POMO]I
M-x forward-char h RETi
ILI
M-x forw
h TABi c hRETi
zAMETIM,^TO forward-char |\TO TA VE SAMAQ KOMANDA,[email protected] WY WYZYWAETE S POMO][email protected]
[email protected]^A [email protected] KOMANDA Emacs MOVET BYTX WYZWANA PO IMENI S ISPOLXZOWANIEM M-x
NEZAWISIMO OT TOGO,SU]ESTWUET LI SWQZANNYJ S NEJ [email protected]^.
eSLI WO WREMQ S^ITYWANIQ IMQ KOMANDY WY NABIRAETE C-g,TO WY OTMENQETE KOMANDU
M-x I POKIDAETE MINIBUFER,PO ZAWER[ENII PODNIMAQSX NA WERHNIJ UROWENX.
~TOBY PEREDATX ^ISLOWOJ ARGUMENT KOMANDE,[email protected] WY WYZYWAETE S POMO][email protected] M-x,
ZADAJTE ^ISLOWOJ ARGUMENT PERED M-x.M-x PEREDAET ARGUMENT KOMANDE,[email protected] WYZYWAET.
zNA^ENIE ARGUMENTA POQWLQETSQ W PODSKAZKE W TO WREMQ,KOGDA S^ITYWAETSQ IMQ KOMANDY.
eSLI NABIRAEMAQ WAMI KOMANDA PRIWQZANA K SOBSTWENNOMU [email protected]^U,Emacs GOWORIT OB
\TOM W\HO-OBLASTI SPUSTQ DWE SEKUNDY POSLE ZAWER[ENIQ KOMANDY (ESLI WY DO\TOGO NI^EGO
NE WWELI).nAPRIMER,ESLI WY NAPE^ATAETE M-x forward-word,WY POLU^ITE SOOB]ENIE,
GOWORQ]EE,^TO\TU VE KOMANDU MOVNO ZAPUSTITX BOLEE PROSTO,WWEDQ M-f.wY MOVETE
[email protected]^ITX\TI SOOB]ENIQ,USTANOWIW suggest-key-bindings W ZNA^ENIE nil.
w\TOM RUKOWODSTWE PRI OPISANII KOMAND,ZAPUSKAEMYH PO IMENI,MY OBY^NO OPUS-
KAEM
h RETi,KOTORYJ NEOBHODIM DLQ OGRANI^ENIQ IMENI.tO ESTX MY ^A]E PI[EM M-x
auto-fill-mode,A NE M-x auto-fill-mode hRETi.mY UPOMINAEM hRETi,TOLXKO KOGDA NEOB-
HODIMO POD^ERKNUTX EGO PRISUTSTWIE,NAPRIMER PRI OPISANII POSLEDOWATELXNOSTI WWODA,
KOTORAQ SODERVIT IMQ KOMANDY I [email protected]]IE ZA NIM ARGUMENTY.
M-x OPREDELEN NA WYPOLNENIE KOMANDY execute-extended-command,KOTORAQ OTWE^AET ZA
S^ITYWANIE IMENI DRUGOJ KOMANDY I EE ZAPUSK.
54 rUKOWODSTWO PO GNU Emacs
gLAWA 7:sPRAWKA 557 sPRAWKA
Emacs PREDOSTAWLQET [IROKIE WOZMOVNOSTI PREDOSTAWLENIQ SPRAWKI,KOTORYE DOSTUP-
NY ^EREZ ODIN ZNAK,C-h.C-h |\TO PREFIKSNYJ [email protected]^,KOTORYJ ISPOLXZUETSQ TOLXKO DLQ
KOMAND PE^ATI DOKUMENTACII.zNAKI,KOTORYE WY MOVETE NABRATX POSLE C-h,[email protected]
SQ PARAMETRAMI SPRAWKI.oDNIM IZ NIH QWLQETSQ C-h;c EGO POMO][email protected] WY ZAPRA[IWAETE
[email protected] OB ISPOLXZOWANII C-h.fUNKCIONALXNAQ KLAWI[A hF1i SLUVIT\KWIWALENTOM
C-h.
C-h C-h (help-for-help) PE^ATAET SPISOK WSEH WOZMOVNYH PARAMETROW SPRAWKI S KRAT-
KIM OPISANIEM KAVDOGO IZ NIH.dO NABORA PARAMETRA SPRAWKI WY MOVETE PROLISTATX\TOT
SPISOK S POMO][email protected] h SPCi ILI hDELi.
C-h ILI h F1i OZNA^AET\POMO]X"TAKVE I WO MNOGIH DRUGIH KONTEKSTAH.nAPRIMER,W
PROCESSE RABOTY query-replace ONI [email protected] DOSTUPNYE WOZMOVNYE DEJSTWIQ NAD TEKU-
]IM NAJDENNYM SOWPADENIEM.pOSLE PREFIKSNOGO [email protected]^A ONI WYWODQT PERE^ENX WARIANTOW,
KOTORYE MOGUT SLEDOWATX ZA\TIM PREFIKSNYM [email protected]^OM.(nEKOTORYE PREFIKSNYE [email protected]^I
NE [email protected] C-h,POTOMU ^TO ONI [email protected] DLQ NEGO DRUGIE ZNA^ENIQ;NO WSE ONI
[email protected] hF1i.)
bOLX[INSTWO SPRAWO^NYH BUFEROW [email protected] SPECIALXNYJ OSNOWNOJ REVIM,REVIM
Help,KOTORYJ POZWOLQET WAM UDOBNO DELATX PROKRUTKU S POMO][email protected] hSPCi I hDELi.
nIVE PRIWEDEN OBZOR WSEH OPREDELENNYH KOMAND DLQ POLU^ENIQ SPRAWKI.
C-h a regexp h RETi
pOKAZATX SPISOK KOMAND,^XI IMENA [email protected] REGULQRNOMU [email protected]
regexp (apropos-command).
C-h b pOKAZATX TABLICU WSEH PRIWQZOK [email protected]^EJ,[email protected]]IH NA DANNYJ MOMENT W
[email protected]]EM PORQDKE:PRIWQZKI TEKU]IH WTOROSTEPENNYH REVIMOW,PRIWQZKI
OSNOWNOGO REVIMA I GLOBALXNYE PRIWQZKI (describe-bindings).
C-h c [email protected]^
nAPE^ATATX IMQ KOMANDY,[email protected] ZAPUSKAET NA WYPOLNENIE ZADANNYJ [email protected]^
(describe-key-briefly).zDESX c OZNA^AET`character'(`ZNAK').dLQ POLU^ENIQ
BOLEE PODROBNOJ INFORMACII O [email protected]^E,ISPOLXZUJTE C-h k.
C-h f FUNKCIQ h RETi
pOKAZATX [email protected] NA [email protected] [email protected] S IMENEM FUNKCIQ (describe-
function).tAK KAK KOMANDY [email protected] LISPOWSKIMI FUNKCIQMI,WY MOVETE
ISPOLXZOWATX IMQ KOMANDY.
C-h h wYWESTI FAJL`hello',KOTORYJ POKAZYWAET PRIMERY RAZLI^NYH NABOROW ZNA-
KOW.
C-h i zAPUSTITX Info,PROGRAMMU DLQ PROSMOTRA FAJLOW DOKUMENTACII (info).pOL-
NOE RUKOWODSTWO PO Emacs SU]ESTWUET KAK DIALOGOWYJ FAJL W Info.
C-h k [email protected]^
pOKAZATX IMQ I OPISANIE KOMANDY,[email protected] ZAPUSKAET [email protected]^ (describe-key).
C-h l pOKAZATX OPISANIE POSLEDNIH 100 NABRANNYH WAMI ZNAKOW (view-lossage).
C-h m pOKAZATX OPISANIE TEKU]EGO OSNOWNOGO REVIMA (describe-mode).
C-h n pOKAZATX OPISANIE IZMENENIJ W Emacs,PERWYM SAMOE POSLEDNEE (view-emacs-
news).
C-h p nAJTI PAKET PO [email protected]^EWOMU SLOWU (finder-by-keyword).
C-h s pOKAZATX TEKU]EE SODERVIMOE SINTAKSI^ESKOJ TABLICY I OB_QSNITX,^TO ONO
OZNA^AET (describe-syntax).sM.rAZDEL 31.6 [sINTAKSIS],S.366.
56 rUKOWODSTWO PO GNU EmacsC-h t wOJTI W INTERAKTIWNYJ SAMOU^ITELX PO Emacs (help-with-tutorial).
C-h v PER hRETi
pOKAZATX OPISANIE LISPOWSKOJ PEREMENNOJ PER (describe-variable).
C-h w KOMANDA hRETi
nAPE^ATATX,KAKIE [email protected]^I [email protected] NA WYPOLNENIE KOMANDU S IMENEM KOMANDA
(where-is).
C-h C KODIROWKA h RETi
wYWESTI OPISANIE SISTEMY KODIROWANIQ S IMENEM KODIROWKA (describe-
coding-system).
C-h C h RETi
oPISATX [email protected] W DANNYJ MOMENT SISTEMU KODIROWANIQ.
C-h I METOD hRETi
oPISATX METOD WWODA (describe-input-method).
C-h L QZYKOWAQ-SREDA hRETi
pOKAZATX SWEDENIQ O NABORAH ZNAKOW,SISTEMAH KODIROWANIQ I METODAH WWODA,
ISPOLXZUEMYH W QZYKOWOJ-SREDE (describe-language-environment).
C-h C-c pOKAZATX USLOWIQ KOPIROWANIQ GNU Emacs.
C-h C-d pOKAZATX [email protected] O POLU^ENII NOWYH WERSIJ GNU Emacs.
C-h C-f FUNKCIQ
h RETi
wOJTI W Info I PEREJTI K NODE,[email protected]]EJ [email protected] Emacs S IMENEM FUNKCIQ
(Info-goto-emacs-command-node).
C-h C-k [email protected]^
wOJTI W Info I PEREJTI K NODE,[email protected]]EJ [email protected] POSLEDOWATELXNOSTX
[email protected]^EJ (Info-goto-emacs-key-command-node).
C-h C-p pOKAZATX [email protected] O pROEKTE GNU.
C-h h TABi QZYKOWOJ-SIMWOL hRETi
pOKAZATX [email protected] Info NA QZYKOWOJ-SIMWOL W SOOTWETSTWII S QZYKOM PRO-
GRAMMIROWANIQ,NA KOTOROM WY PI[ITE (info-lookup-symbol).
7.1 oPISANIQ DLQ [email protected]^EJ
oSNOWNYMI PARAMETRAMI DLQ C-h [email protected] C-h c (describe-key-briefly) I C-h k
(describe-key).C-h c [email protected]^ PE^ATAET W\HO-OBLASTI IMQ KOMANDY,K KOTOROJ PRIWQZAN
[email protected]^.nAPRIMER,C-h c C-f PE^ATAET`forward-char'.pOSKOLXKU IMENA KOMAND WYBIRA-
@TSQ TAK,^TOBY ONI OPISYWALI DEJSTWIE KOMANDY,\TO UDOBNYJ SPOSOB POLU^ITX O^ENX
KOROTKOE OPISANIE TOGO,^TO DELAET [email protected]^.
C-h k [email protected]^ POHOVA NA PREDYDU][email protected],NO DAET BOLX[E INFORMACII.oNA POKAZYWAET
STROKU DOKUMENTACII KOMANDY,A TAKVE EE IMQ.|TO SLI[KOM MNOGO DLQ\HO-OBLASTI,
PO\TOMU DLQ POKAZA ISPOLXZUETSQ OKNO.
C-h c I C-h k [email protected] DLQ [email protected] WIDOW [email protected]^EJ,[email protected]^AQ FUNKCIONALXNYE KLAWI[I I
SOBYTIQ OT MY[I.
gLAWA 7:sPRAWKA 577.2 sPRAWKA PO IMENI KOMANDY ILI PEREMENNOJ
C-h f (describe-function) ^ITAET IMQ FUNKCII lISPA,ISPOLXZUQ MINIBUFER,ZATEM
POKAZYWAET STROKU DOKUMENTACII\TOJ FUNKCII W OKNE.tAK KAK KOMANDY |\TO LISPOWSKIE
FUNKCII,WY MOVETE POLXZOWATXSQ\TIM DLQ POLU^ENIQ OPISANIQ KOMANDY,IZWESTNOJ PO
IMENI.nAPRIMER,
C-h f auto-fill-mode
hRETi
WYDAET [email protected] DLQ auto-fil-mode.|TO EDINSTWENNYJ SPOSOB UWIDETX DOKUMENTA-
[email protected] KOMANDY,KOTORAQ NE PRIWQZANA K KAKOMU-NIBUDX [email protected]^U (ODNOJ IZ TEH,KOTORYH WY
OBY^NO WYZYWAETE PRI POMO]I M-x).
C-h f TAKVE POLEZNA DLQ LISPOWSKIH FUNKCIJ,KOTORYE WY PLANIRUETE ISPOLXZOWATX
W PROGRAMME NA lISPE.nAPRIMER,ESLI WY PROSTO NAPISALI WYRAVENIE (make-vector
len) I HOTITE BYTX UWERENNYMI W TOM,^TO WY WERNO ISPOLXZOWALI make-vector,NABERITE
C-h f make-vector h RETi.tAK KAK C-h f WOSPRINIMAET IMENA WSEH FUNKCIJ,A NE TOLXKO
IMENA KOMAND,TO WY MOVETE OBNARUVITX,^TO NEKOTORYE IZ WA[IH [email protected] SOKRA]ENIJ,
KOTORYE [email protected] W M-x,NE [email protected] W C-h f.sOKRA]ENIQ MOGUT BYTX UNIKALXNYMI
SREDI IMEN KOMAND I UVE NE BYTX UNIKALXNYMI,KOGDA [email protected] TAKVE I IMENA
DRUGIH FUNKCIJ.
iMQ FUNKCII DLQ C-h f IMEET ZNA^ENIE PO UMOL^[email protected],KOTOROE ISPOLXZUETSQ,ESLI WY
NABERETE
h RETi,OSTAWLQQ MINIBUFER PUSTYM.pO UMOL^[email protected]\TO BUDET FUNKCIQ,WYZWANNAQ
SAMYM GLUBOKIM LISPOWSKIM WYRAVENIEM W BUFERE W RAJONE TO^KI,PRI USLOWII,^TO\TO
PRAWILXNOE,OPREDELENNOE IMQ FUNKCII lISPA.nAPRIMER,ESLI TO^KA RASPOLOVENA WSLED ZA
TEKSTOM`(make-vector (car x)',TO SAMYJ GLUBOKIJ SPISOK,SODERVA]IJ TO^KU,\TO TOT,
^TO NA^INAETSQ S`(make-vector';TAKIM OBRAZOM,PO UMOL^[email protected] BUDET OPISANA FUNKCIQ
make-vector.
C-h f ^ASTO POLEZNA PROSTO DLQ PROWERKI PRAWILXNOSTI NAPISANIQ IMENI FUNKCII S
TO^KI ZRENIQ ORFOGRAFII.eSLI C-h f UPOMINAET W PODSKAZKE ZNA^ENIE PO UMOL^[email protected],TO
WY NABRALI IMQ OPREDELENNOJ LISPOWSKOJ FUNKCII.eSLI\TO WSE,^TO WY HOTELI UZNATX,
PROSTO NABERITE C-g,^TOBY OTMENITX KOMANDU C-h f I PRODOLVITX REDAKTIROWANIE.
C-h w KOMANDA hRETi SOOB]AET WAM,KAKIE [email protected]^I PRIWQZANY K KOMANDE.oNA PE^ATAET
SPISOK [email protected]^EJ W\HO-OBLASTI.eSLI ONA GOWORIT,^TO KOMANDA NE PRIWQZANA NI K ODNOMU
[email protected]^U,WY DOLVNY ISPOLXZOWATX DLQ WYZOWA\TOJ KOMANDY M-x.C-h w ZAPUSKAET KOMANDU
where-is.
C-h v (describe-variable) POHOVA NA C-h f,NO OPISYWAET PEREMENNYE lISPA,A NA
FUNKCII.eE ZNA^ENIE PO UMOL^[email protected] |\TO LISPOWSKIJ SIMWOL POBLIZOSTI ILI PERED
TO^KOJ,NO TOLXKO ESLI\TO IMQ IZWESTNOJ LISPOWSKOJ PEREMENNOJ.sM.rAZDEL 31.2 [pERE-
MENNYE],S.343.
7.3 pOISK PO KONTEKSTU
bOLEE SLOVNYJ WID ZAPROSOW |\TO WOPROSY WRODE\kAKIE KOMANDY [email protected] DLQ
RABOTY S FAJLAMI?"~TOBY ZADATX TAKOJ WOPROS,NABERITE C-h a file hRETi,KOTORAQ POKA-
VET SPISOK WSEH IMEN KOMAND,KOTORYE SODERVAT`file',TAKIE KAK copy-file,find-file I
TAK DALEE.wMESTE S IMENEM KOMANDY POKAZYWAETSQ KRATKOE OPISANIE TOGO,KAK EE ISPOLX-
ZOWATX,I KAKIE [email protected]^I EE [email protected],WAM SOOB]AT,^TO WY MOVETE ZAPUSTITX
find-file,NABRAW C-x C-f.zDESX A W C-h |\TO SOKRA]ENIE DLQ`Apropos',C-h a ZAPUSKAET
NA WYPOLNENIE [email protected] command-apropos.|TA KOMANDA PROWERQET TOLXKO KOMANDY (IN-
TERAKTIWNYE FUNKCII);ESLI WY ZADADITE PREFIKSNYJ ARGUMENT,ONA PROSMOTRIT TAKVE I
NEINTERAKTIWNYE FUNKCII.
tAK KAK C-h a I]ET TOLXKO FUNKCII,^XI IMENA SODERVAT [email protected] WAMI STROKU,WY
DOLVNY BYTX IZOBRETATELXNY W WYBORE STROK.eSLI WY I]ETE KOMANDY DLQ UNI^TOVENIQ
58 rUKOWODSTWO PO GNU EmacsW OBRATNOM NAPRAWLENII,I C-h a kill-backward hRETi NI^EGO NE POKAZYWAET,NE OT^AIWAJ-
TESX.pOPROBUJTE PROSTO kill,ILI PROSTO backward ILI PROSTO back.bUDXTE NASTOJ^IWY.
pRITWORITESX,^TO WY IGRAETE W Adventure.tAKVE OTMETIM,^TO DLQ BOLX[EJ GIBKOSTI
WY MOVETE ISPOLXZOWATX W KA^ESTWE ARGUMENTA REGULQRNOE WYRAVENIE (SM.rAZDEL 12.5
[rEGULQRNYE WYRAVENIQ],S.91 ).
zDESX PREDSTAWLEN NABOR ARGUMENTOW DLQ PEREDA^I W C-h a,KOTORYJ OHWATYWAET MNO-
VESTWO KLASSOW KOMAND,TAK KAK SU][email protected] STROGIE SOGLA[ENIQ DLQ IMEN STANDARTNYH
KOMAND Emacs.dAWAQ WAM PO^UWSTWOWATX PRINQTYE SOGLA[ENIQ OB IMENOWANII,\TOT NA-
BOR TAKVE DOLVEN SLUVITX WAM POMO][email protected] W SOWER[ENSTWOWANII TEHNI^ESKIH PRIEMOW DLQ
PODBORA STROK apropos.
char,line,word,sentence,paragraph,region,page,sexp,list,defun,rect,buпЂ‹er,
frame,window,face,пЂЊle,dir,register,mode,beginning,end,forward,backward,
next,previous,up,down,search,goto,kill,delete,mark,insert,yank,пЂЊll,indent,
case,change,set,what,list,пЂЊnd,view,describe,default.
dLQ POLU^ENIQ PERE^NQ WSEH POLXZOWATELXSKIH PEREMENNYH,KOTORYE [email protected] RE-
GULQRNOMU [email protected],ISPOLXZUJTE KOMANDU M-x apropos-variable.|TA KOMANDA POKAZY-
WAET PO UMOL^[email protected] TOLXKO POLXZOWATELXSKIE PEREMENNYE;ESLI WY ZADADITE PREFIKSNYJ
ARGUMENT,ONA PROSMOTRIT WSE PEREMENNYE.
~TOBY PERE^ISLITX WSE LISPOWSKIE SIMWOLY,KOTORYE SODERVAT SOWPADENIE S REGULQR-
NYM WYRAVENIEM,A NE TOLXKO TE,KOTORYE OPREDELENY W KA^ESTWE KOMAND,ISPOLXZUJTE
KOMANDU M-x apropos,A NE C-h a.pO UMOL^[email protected]\TA KOMANDA NE PROWERQET PRIWQZKI [email protected]
^EJ;ESLI WY HOTITE UZNATX IH,ZADAJTE\TOJ KOMANDE PREFIKSNYJ ARGUMENT.
kOMANDA apropos-documentation POHOVA NA apropos,NO PROIZWODIT POISK SOWPADENIJ
S REGULQRNYM WYRAVENIEM NE TOLXKO W IMENAH SIMWOLOW,NO I W STROKAH OPISANIQ.
kOMANDA apropos-value DEJSTWUET KAK apropos,ZA [email protected]^ENIEM TOGO,^TO I]ET SOW-
PADENIQ S REGULQRNYM WYRAVENIEM W ZNA^ENIQH SIMWOLOW.|TA KOMANDA PO UMOL^[email protected] NE
PROWERQET OPREDELENIQ FUNKCIJ ILI SPISKI SWOJSTW;ZADAJTE EJ ^ISLOWOJ ARGUMENT,ESLI
WY HOTITE PROWERITX I IH.
eSLI PEREMENNAQ apropos-do-all NE RAWNA nil,TO WSE OPISANNYE WY[E KOMANDY WEDUT
SEBQ TAK,KAK-BUDTO IM ZADAN PREFIKSNYJ ARGUMENT.
eSLI WY HOTITE POLU^ITX BOLX[E INFORMACII OB OPREDELENII FUNKCII,O PEREMENNOJ
ILI O SWOJSTWAH SIMWOLA,PERE^ISLENNYH W BUFERE Apropos,WY MOVETE ]ELKNUTX NA NIH
Mouse-2 ILI PEREMESTITXSQ TUDA I NAVATX hRETi.
7.4 pOISK W BIBLIOTEKAH lISPA PO [email protected]^EWYM SLOWAM
kOMANDA C-h p POZWOLQET WAM PROIZWODITX POISK W STANDARTNYH BIBLIOTEKAH Emacs
Lisp PO TEMATI^ESKIM [email protected]^EWYM SLOWAM.wOT NEPOLNYJ PERE^ENX [email protected]^EWYH SLOW,KOTORYE
WY MOVETE ISPOLXZOWATX:
abbrev |UPRAWLENIE SOKRA]ENIQMI,BYSTRYE KLAWI[I,MAKROSY.
bib |PODDERVKA OBRABOT^IKA BIBLIOGRAFIJ bib.
c |PODDERVKA QZYKOW sI I sI++.
calendar |PODDERVKA KALENDARQ I OPERACIJ SO WREMENEM.
comm |KOMMUNIKACII,SETI,UDALENNYJ DOSTUP K FAJLAM.
data |PODDERVKA REDAKTIROWANIQ FAJLOW S DANNYMI.
docs |PODDERVKA DOKUMENTACII Emacs.
emulations |\MULQCIQ DRUGIH REDAKTOROW.
extensions |RAS[IRENIQ QZYKA Emacs Lisp.
faces |PODDERVKA RAZNYH NA^ERTANIJ ([RIFTOW I CWETOW).
frames |PODDERVKA FREJMOW I OKONNYH SISTEM.
games |IGRY,[UTKI I RAZWLE^ENIQ.
gLAWA 7:sPRAWKA 59hardware |PODDERVKA INTERFEJSOW S\KZOTI^ESKOJ APPARATUROJ.
help |PODDERVKA INTERAKTIWNYH SPRAWO^NYH SISTEM.
hypermedia |PODDERVKA DLQ SSYLOK WNUTRI TEKSTA.
i18n |PODDERVKA RAZNYH QZYKOW I ALFAWITOW.
internal |WNUTRENNIJ KOD Emacs,SBORKA,ZNA^ENIQ PO UMOL^[email protected]
languages |SPECIALIZIROWANNYE REVIMY DLQ REDAKTIROWANIQ KODA.
lisp |PODDERVKA ISPOLXZOWANIQ lISPA ([email protected]^AQ Emacs Lisp).
local |BIBLIOTEKI,LOKALXNYE DLQ WA[EJ SISTEMY.
maint |SREDSTWA PODDERVKI DLQ GRUPPY RAZRABOT^IKOW Emacs.
mail |REVIMY DLQ RABOTY S\LEKTRONNOJ PO^TOJ.
matching |POISKOWYE PROGRAMMY.
news |PODDERVKA ^TENIQ I OTPRAWKI SETEWYH NOWOSTEJ.
non-text |PODDERVKA DLQ REDAKTIROWANIQ NETEKSTOWYH FAJLOW.
oop |PODDERVKA OB_EKTNO-ORIENTIROWANNOGO PROGRAMMIROWANIQ.
outlines |PROSMOTR IERARHI^ESKOJ STRUKTURY TEKSTA.
processes |PROCESSY,OBOLO^KA,KOMPILQCIQ I UPRAWLENIE ZADA^AMI.
terminals |PODDERVKA RAZNYH TIPOW TERMINALOW.
tex |PODDERVKA DLQ PROGRAMMY [email protected] NABORA T
E
X.
tools |UTILITY DLQ PROGRAMMIROWANIQ.
unix |INTERFEJSY ILI\MULQTORY WOZMOVNOSTEJ Unix.
vms |PODDERVKA VMS.
wp |OBRABOTKA TEKSTA.
7.5 sPRAWKA O PODDERVKE RAZLI^NYH QZYKOW
dLQ POLU^ENIQ SPRAWKI O PODDERVKE OPREDELENNOJ QZYKOWOJ SREDY ISPOLXZUJTE KOMANDU
C-h L (describe-language-environment).sM.rAZDEL 18.3 [qZYKOWYE SREDY],S.162.|TA
KOMANDA GOWORIT WAM,DLQ KAKIH QZYKOW POLEZNA DANNAQ QZYKOWAQ SREDA,I PERE^ISLQET
NABORY ZNAKOW,SISTEMY KODIROWANIQ I METODY WWODA,KOTORYE [email protected] W\TOJ SREDE.
oNA TAKVE POKAZYWAET OBRAZEC TEKSTA DLQ DEMONSTRACII EGO WNE[NEGO WIDA.
kOMANDA C-h h (view-hello-file) OTOBRAVAET FAJL`etc/HELLO',KOTORYJ POKAZYWAET,
KAK SKAZATX\zDRAWSTWUJTE"NA RAZNYH QZYKAH.
kOMANDA C-h I (describe-input-method) OPISYWAET METOD WWODA,LIBO ZADANNYJ QWNO,
LIBO,PO UMOL^[email protected],ISPOLXZUEMYJ W DANNYJ MOMENT.sM.rAZDEL 18.4 [mETODY WWODA],
S.163.
kOMANDA C-h C (describe-coding-system) OPISYWAET SISTEMU KODIROWANIQ,LIBO ZADAN-
[email protected] QWNO,LIBO,PO UMOL^[email protected],ISPOLXZUEMYE W DANNYJ MOMENT.sM.rAZDEL 18.7 [sISTEMY
KODIROWANIQ],S.165.
7.6 kOMANDY REVIMA Help
sPRAWO^NYE BUFERY [email protected] KOMANDY REVIMA View (SM.rAZDEL 14.10 [fAJLY
rAZNOE],S.132 ) [email protected] NESKOLXKO SOBSTWENNYH OSOBYH KOMAND.
h SPCi pROKRU^IWAET WPERED.
h DELi pROKRU^IWAET NAZAD.
h RETi pEREHODIT PO PEREKRESTNOJ SSYLKE W TO^KE.
h TABi pEREME]AET WPERED K [email protected]]EJ PEREKRESTNOJ SSYLKE.
S-
h TABi pEREME]AET NAZAD K PREDYDU]EJ PEREKRESTNOJ SSYLKE.
Mouse-2 pEREHODIT PO PEREKRESTNOJ SSYLKE,NA KOTOROJ WY ]ELKNULI.
60 rUKOWODSTWO PO GNU EmacskOGDA W OPISANII POQWLQETSQ IMQ KOMANDY (SM.gLAWA 6 [zAPUSK KOMAND PO IMENI],
S.53 ) ILI IMQ PEREMENNOJ (SM.rAZDEL 31.2 [pEREMENNYE],S.343),ONO OBY^NO POKAZYWA-
ETSQ W PARNYH ODINO^NYH KAWY^KAH.wY MOVETE ]ELKNUTX NA IMENI S POMO][email protected] Mouse-2
ILI PEREDWINUTX K NEMU TO^KU I NAVATX h RETi,^TOBY PROSMOTRETX [email protected] NA\TU
KOMANDU ILI [email protected] C-c C-b DLQ WOZWRATA.
eSTX UDOBNYE KOMANDY DLQ PEREME]ENIQ TO^KI K PEREKRESTNYM SSYLKAM W TEKSTE SPRAW-
KI.
h TABi (help-next-ref) PEREDWIGAET TO^KU WPERED K [email protected]]EJ PEREKRESTNOJ SSYLKE.
~TOBY PEREMESTITX TO^KU K PREDYDU]EJ SSYLKE,ISPOLXZUJTE S-hTABi (help-previous-
ref).
7.7 dRUGIE KOMANDY DLQ POLU^ENIQ SPRAWKI
C-h i (info) ZAPUSKAET NA WYPOLNENIE PROGRAMMU Info,KOTORAQ ISPOLXZUETSQ DLQ PRO-
SMOTRA STRUKTURIROWANNYH FAJLOW DOKUMENTACII.wNUTRI Info IMEETSQ POLNOE RUKOWOD-
STWO PO Emacs.w KONCE KONCOW TAM BUDET DOSTUPNA WSQ DOKUMENTACIQ PO SISTEME GNU.
~TOBY ZAPUSTITX SAMOU^ITELX PO [email protected] Info,NABERITE h POSLE WHODA W Info.
eSLI WY ZADADITE ^ISLOWOJ ARGUMENT,C-h i ZAPROSIT IMQ FAJLA DOKUMENTACII.tAKIM
OBRAZOM WY SMOVETE PROSMOTRETX FAJL,DLQ KOTOROGO NET WHOVDENIQ W [email protected] Info WERHNEGO
UROWNQ.|TO TAKVE UDOBNO,KOGDA WAM NUVNO POLU^ITX [email protected] BYSTRO,I WY ZNAETE
TO^NOE IMQ\TOGO FAJLA.
sU][email protected] DWE SPECIALXNYE SPRAWO^NYE KOMANDY DLQ POLU^ENIQ DOKUMENTACII PO
Emacs ^EREZ Info.C-h C-f FUNKCIQ h RETi WHODIT W Info I PEREHODIT NEPOSREDSTWENNO K
[email protected] FUNKCII Emacs S IMENEM FUNKCIQ.C-h C-k [email protected]^ WHODIT W Info I PEREHODIT K
[email protected] [email protected]^A.|TI [email protected]^I [email protected] KOMANDY Info-goto-emacs-command-node I Info-
goto-emacs-key-command-node.
pRI REDAKTIROWANII PROGRAMMY,ESLI U WAS ESTX Info-WERSIQ RUKOWODSTWA DLQ\TOGO QZY-
KA PROGRAMMIROWANIQ,WY MOVETE ISPOLXZOWATX KOMANDU C-h C-i DLQ PROSMOTRA OPISANIQ
SIMWOLA ([email protected]^EWOGO SLOWA,FUNKCII ILI PEREMENNOJ).dETALI RABOTY\TOJ PROGRAMMY
ZAWISQT OT OSNOWNOGO REVIMA.
eSLI PROISHODIT ^TO-TO STRANNOE,I WY NE UWERENY,[email protected] KOMANDU WY NABRALI,ISPOLX-
ZUJTE C-h l (view-lossage).C-h l PE^ATAET POSLEDNIE 100 NABRANNYH WAMI KOMANDNYH
ZNAKOW.eSLI WY UWIDELI KOMANDY,KOTORYE WAM NE ZNAKOMY,WY MOVETE ISPOLXZOWATX C-h
c,^TOBY OTYSKATX [email protected] O TOM,^TO ONI [email protected]
Emacs IMEET MNOVESTWO OSNOWNYH REVIMOW,KAVDYJ IZ KOTORYH PEREOPREDELQET
NESKOLXKO [email protected]^EJ I DELAET NEKOTORYE DRUGIE IZMENENIQ W RABOTE REDAKTORA.C-h m
(describe-mode) PE^ATAET [email protected] O TEKU]EM OSNOWNOM REVIME,W KOTOROJ OBY^NO
OPISANY WSE KOMANDY,IZMENENNYE W\TOM REVIME.
C-h b (describe-bindings) I C-h s (describe-syntax) [email protected] [email protected] INFOR-
[email protected] O TEKU]EM REVIME Emacs.C-h b POKAZYWAET SPISOK WSEH PRIWQZANNYH [email protected]^EJ,DEJ-
[email protected]]IH W DANNYJ MOMENT;SNA^ALA IDUT LOKALXNYE PRIWQZKI TEKU]IH WTOROSTEPENNYH
REVIMOW,ZA NIMI LOKALXNYE PRIWQZKI TEKU]EGO OSNOWNOGO REVIMA I,NAKONEC,GLOBALX-
NYE PRIWQZKI (SM.rAZDEL 31.4 [pRIWQZKI [email protected]^EJ],S.356).C-h s POKAZYWAET SODERVIMOE
SINTAKSI^ESKOJ TABLICY S OB_QSNENIEM SINTAKSISA KAVDOGO ZNAKA (SM.rAZDEL 31.6 [sIN-
TAKSIS],S.366 ).
wY MOVETE POLU^ITX PODOBNYJ PERE^ENX DLQ KONKRETNOGO PREFIKSNOGO [email protected]^A,NABRAW
POSLE NEGO C-h.(eSTX NESKOLXKO PREFIKSNYH [email protected]^EJ,DLQ KOTORYH\TO NE RABOTAET | ONI
[email protected] SWOI PRIWQZKI DLQ C-h.oDIN IZ NIH |\TO hESCi,POTOMU ^TO hESCi C-h NA SAMOM
DELE\KWIWALENTEN C-M-h,KOTORYJ POME^AET OPREDELENIE FUNKCII.)
dRUGIE PARAMETRY C-h [email protected] RAZNOOBRAZNYE FAJLY S POLEZNOJ INFORMACIEJ.C-h
C-w POKAZYWAET PODROBNOSTI OB OTSUTSTWII GARANTIJ DLQ GNU Emacs.s-h n (view-emacs-
news) POKAZYWAET FAJL`emacs/etc/NEWS',KOTORYJ SODERVIT OPISANIE IZMENENIJ W Emacs,
gLAWA 7:sPRAWKA 61SORTIROWANNOE W HRONOLOGI^ESKOM PORQDKE.C-h F (view-emacs-FAQ) WYWODIT SPISOK ^ASTO
OTWE^AEMYH WOPROSOW O Emacs.C-h t (help-with-tutorial) POKAZYWAET OBU^[email protected]]EE RU-
KOWODSTWO PO Emacs.C-h C-c (describe-copying) POKAZYWAET FAJL`emacs/etc/COPYING',
KOTORYJ OB_QSNQET USLOWIQ,KOTORYE WY DOLVNY WYPOLNITX PRI RASPROSTRANENII KOPIJ
Emacs.C-h C-d (describe-distribution) POKAZYWAET FAJL`emacs/etc/DISTRIB',W KOTO-
ROM RASSKAZYWAETSQ,KAK WY MOVETE ZAKAZATX [email protected] POSLEDNEJ WERSII Emacs.C-h C-p
(describe-project) WYWODIT OB][email protected] [email protected] O pROEKTE GNU.
62 rUKOWODSTWO PO GNU Emacs
gLAWA 8:pOMETKA I OBLASTX 638 pOMETKA I OBLASTX
sU]ESTWUET MNOVESTWO KOMAND Emacs,KOTORYE [email protected] S PROIZWOLXNOJ NEPRERYWNOJ
^[email protected] TEKU]EGO BUFERA.~TOBY ZADATX TEKST,NAD KOTORYM [email protected] TAKIE KOMANDY,
WY USTANAWLIWAETE METKU W ODNOM KONCE\TOGO TEKSTA,I PEREDWIGAETE TO^KU W DRUGOJ EGO
KONEC.tEKST,RASPOLOVENNYJ MEVDU TO^KOJ I METKOJ,NAZYWAETSQ [email protected] WY
ZADEJSTWOWALI REVIM Transient Mark,Emacs WYDELQET OBLASTX CWETOM (SM.rAZDEL 8.2
[Transient Mark],S.64 ).
~TOBY REGULIROWATX GRANICY OBLASTI,WY MOVETE DWIGATX TO^KU ILI METKU.nE IMEET
ZNA^ENIQ,KOTORAQ IZ NIH USTANOWLENA PERWOJ W HRONOLOGI^ESKOM PORQDKE,ILI KAKAQ POQW-
LQETSQ PERWOJ W TEKSTE.kAK TOLXKO METKA USTANOWLENA,ONA OSTAETSQ DO TEH POR,POKA NE
BUDET USTANOWLENA SNOWA W DRUGOM MESTE.kAVDYJ BUFER IMEET [email protected] [email protected] METKU,
TAKIM OBRAZOM,KOGDA WY WOZWRA]AETESX W BUFER,KOTORYJ WYBIRALSQ PREVDE,ON SOHRANQET
TU VE [email protected] METKU,^TO I PREVDE.
mNOGIE KOMANDY,KOTORYE [email protected] TEKST,NAPRIMER C-y (yank) I M-x insert-buffer,
[email protected] METKU W ODNOM IZ KONCOW WSTAWLENNOGO TEKSTA,PROTIWOPOLOVNOM TOMU,GDE
POME]AETSQ TO^KA,TAKIM OBRAZOM,OBLASTX SODERVIT TOLXKO ^TO WSTAWLENNYJ TEKST.
pOMIMO OGRANI^ENIQ OBLASTI,POMETKA TAKVE POLEZNA DLQ ZAPOMINANIQ MESTA,K KOTO-
ROMU WY,WOZMOVNO,ZAHOTITE WERNUTXSQ.~TOBY SDELATX\TU WOZMOVNOSTX BOLEE POLEZNOJ,
Emacs ZAPOMINAET 16 PREDYDU]IH POZICIJ METKI W SPISKE POMETOK.
8.1 uSTANOWKA METKI
zDESX PRIWODQTSQ NEKOTORYE KOMANDY DLQ USTANOWKI METKI:
C-
h SPCi uSTANOWITX METKU W TO^KE (set-mark-command).
[email protected] tO VE SAMOE.
C-x C-x pOMENQTX MESTAMI METKU I TO^KU (exchange-point-and-mark).
Drag-Mouse-1
uSTANOWITX TO^KU I POMETITX TEKST,PO KOTOROMU WY PROWELI.
Mouse-3 uSTANOWITX METKU W TO^KE I PEREMESTITX TO^KU K POZICII,NA KOTOROJ WY ]ELK-
NULI.(mouse-save-then-kill).
nAPRIMER,ESLI WY HOTITE PREOBRAZOWATX ^ASTX BUFERA TAK,^TOBY ON WESX BYL NABRAN
PROPISNYMI BUKWAMI,WY MOVETE ISPOLXZOWATX KOMANDU C-x C-u (upcase-region),KOTORAQ
OPERIRUET S TEKSTOM W OBLASTI.wY MOVETE SNA^ALA OTPRAWITSQ W NA^ALO TEKSTA,KOTORYJ
DOLVEN BYTX NAPISAN PROPISNYMI BUKWAMI,NABRATX C-
hSPCi,^TOBY USTANOWITX TAM METKU,
PEREDWINUTXSQ W KONEC TEKSTA I ZATEM NABRATX C-x C-u.lIBO WY MOVETE USTANOWITX METKU
W KONCE TEKSTA,SDWINUTXSQ W NA^ALO I ZATEM NABRATX C-x C-u.
nAIBOLEE OB]IJ SPOSOB USTANOWKI METKI | DELATX\TO S POMO][email protected] KOMANDY C-hSPCi
(set-mark-command).tAK USTANAWLIWAETSQ POMETKA W POZICII TO^KI.zATEM WY MOVETE
OTODWINUTX TO^KU,OSTAWLQQ METKU NA MESTE.
eSTX DWA SPOSOBA USTANOWITX METKU S POMO][email protected] MY[I.wY MOVETE PROWESTI MY[[email protected]
S NAVATOJ PERWOJ KNOPKOJ PO OTREZKU TEKSTA;\TO POMESTIT TO^KU TAM,GDE WY OTPUSTILI
KNOPKU MY[I,I USTANOWIT METKU NA DRUGOM KONCE\TOGO OTREZKA.iLI WY MOVETE ]ELKNUTX
TRETXEJ KNOPKOJ MY[I,^TO USTANAWLIWAET METKU W TO^KE (KAK C-
h SPCi) I ZATEM PEREME]AET
TO^KU (KAK Mouse-1).oBA\TIH SPOSOBA POMIMO USTANOWKI METKI [email protected] OBLASTX W SPISOK
UNI^TOVENIJ;TAKOE POWEDENIE SOOTWETSTWUET [email protected] DRUGIH OKONNYH PRILOVENIJ,NO
ESLI WY NE HOTITE IZMENQTX SPISOK UNI^TOVENIJ,WY DOLVNY ISPOLXZOWATX DLQ USTANOWKI
METKI KOMANDY KLAWIATURY.sM.rAZDEL 17.1 [kOMANDY MY[I],S.147.
64 rUKOWODSTWO PO GNU EmacsnA OBY^NYH TERMINALAH ESTX TOLXKO ODIN KURSOR,TAK ^TO Emacs NE MOVET POKAZATX WAM
MESTONAHOVDENIE METKI.wY DOLVNY EGO POMNITX.oBY^NYJ WYHOD IZ SITUACII |USTANO-
WITX METKU,A ZATEM BYSTRO EE ISPOLXZOWATX DO TOGO,KAK WY ZABUDETE,GDE ONA RASPOLOVENA.
nO WY MOVETE UWIDETX [email protected] METKI S POMO][email protected] KOMANDY C-x C-x (exchange-point-and-
mark),KOTORAQ USTANAWLIWAET METKU TUDA,GDE BYLA TO^KA,A TO^KU TUDA,GDE BYLA METKA.
pOLOVENIE OBLASTI OSTAETSQ NEIZMENNYM,A KURSOR I TO^KA NAHODQTSQ TEPERX W PREDYDU-
]EJ POZICII METKI.w REVIME Transient Mark\TA KOMANDA AKTIWIZIRUET POMETKU.
C-x C-x TAKVE POLEZNA,KOGDA WY UDOWLETWORENY POLOVENIEM TO^KI,NO HOTITE PERE-
DWINUTX DRUGOJ KONEC OBLASTI (GDE NAHODITSQ METKA);SDELAJTE C-x C-x DLQ TOGO,^TOBY
USTANOWITX TO^KU NA MESTO METKI,I ZATEM WY MOVETE DWIGATX METKU.iSPOLXZUQ C-x C-x
WO WTOROJ RAZ,ESLI\TO NEOBHODIMO,WY USTANOWITE METKU W NOWOJ POZICII,A TO^KU WERNETE
W EE [email protected]@ [email protected]
w ASCII NE SU]ESTWUET ZNAKA C-
hSPCi;KOGDA WY NABIRAETE hSPCi,UDERVIWAQ hCTRLi W
NAVATOM POLOVENII,NA BOLX[INSTWE OBY^NYH TERMINALOW WY POLU^ITE ZNAK [email protected]|TO
I ESTX [email protected]^,FAKTI^ESKI PRIWQZANNYJ K set-mark-command.nO ESLI WY NE NASTOLXKO
NEUDA^LIWY,^TOBY POLU^ITX TERMINAL,GDE NABIRAQ C-h SPCi,WY NE POLU^AETE [email protected],WY MO-
VETE DUMATX OB\TOM ZNAKE KAK O C-h SPCi.pOD X,C-hSPCi NA SAMOM DELE QWLQETSQ OTDELXNYM
ZNAKOM,NO PRIWQZAN ON WSE RAWNO K set-mark-command.
8.2 rEVIM Transient Mark
Emacs MOVET PODSWE^IWATX TEKU][email protected] OBLASTX,ISPOLXZUQ X Windows.nO OBY^NO ON
\TOGO NE DELAET.pO^EMU?
pODSWETKA OBLASTI OBY^NO NE RABOTAET W Emacs HORO[O,POTOMU ^TO KAK TOLXKO WY
POSTAWILI METKU,WSEGDA ESTX OBLASTX (W\TOM BUFERE).a POSTOQNNAQ PODSWETKA OBLASTI
RAZDRAVALA BY.
wY MOVETE [email protected]^ITX PODSWETKU POME^ENNOJ OBLASTI,ZADEJSTWOWAW REVIM Transient
Mark.|TO BOLEE VESTKIJ REVIM DEJSTWIJ,W KOTOROM OBLASTX\SU]ESTWUET"TOLXKO WRE-
MENNO,TAK ^TO WY DOLVNY ZADAWATX OBLASTX DLQ KAVDOJ KOMANDY,KOTORAQ EE ISPOLXZUET.
w REVIME Transient Mark BOLX[[email protected] ^ASTX WREMENI OBLASTI NET;TAKIM OBRAZOM,PODSWETKA
OBLASTI,KOGDA ONA SU]ESTWUET,UDOBNA.
~TOBY [email protected]^ITX REVIM Transient Mark,WYPOLNITE KOMANDU M-x transient-mark-mode.
|TA KOMANDA [email protected]^AET DANNYJ REVIM,A ZNA^IT WY MOVETE POWTORITX EE DLQ [email protected]^E-
NIQ\TOGO REVIMA.
wOT PODROBNOSTI O REVIME Transient Mark:
пЂЏ ~TOBY USTANOWITX METKU,WWEDITE C-
h SPCi (set-mark-command).|TO SDELAET METKU
AKTIWNOJ;PRI PEREME]ENII TO^KI WY UWIDITE,^TO OBLASTX UWELI^IWAETSQ ILI UMENX-
[AETSQ.
пЂЏ kOMANDY MY[I DLQ ZADANIQ POMETKI TAKVE [email protected] EE AKTIWNOJ.tO VE [email protected] I
KOMANDY KLAWIATURY,^XQ CELX |USTANOWITX OBLASTX,[email protected]^AQ [email protected],[email protected],M-h,C-M-h,
C-x C-p I C-x h.
пЂЏ kOGDA METKA AKTIWNA,WY MOVETE WYPOLNQTX KOMANDY,[email protected]]IE NA OBLASTX,TAKIE
KAK UNI^TOVENIE,SOZDANIE OTSTUPA ILI ZAPISX W FAJL.
пЂЏ [email protected] IZMENENIE BUFERA,NAPRIMER WSTAWKA ILI UDALENIE ZNAKA,DEAKTIWIZIRUET PO-
METKU.|TO OZNA^AET,^TO [email protected]]IE KOMANDY,[email protected]]IE NA OBLASTX,POLU^AT
O[IBKU I NE SMOGUT RABOTATX.wY MOVETE SDELATX OBLASTX SNOWA AKTIWNOJ,WWEDQ C-x
C-x.
пЂЏ kOMANDY WRODE M-> I C-s,KOTORYE\[email protected] METKU"POMIMO KAKOJ-TO DRUGOJ OSNOW-
NOJ CELI,NE [email protected] [email protected] METKU.wY MOVETE AKTIWIZIROWATX [email protected] OBLASTX,
WYPOLNIW C-x C-x (exchange-point-and-mark).
пЂЏ C-s NE IZMENQET METKU,ESLI ONA AKTIWNA.
gLAWA 8:pOMETKA I OBLASTX 65пЂЏ wYHOD S POMO][email protected] C-g DEAKTIWIZIRUET METKU.
dLQ PODSWETKI OBLASTI ISPOLXZUETSQ NA^ERTANIE region;WY MOVETE NASTROITX SPOSOB
PODSWETKI OBLASTI,IZMENIW\TO NA^ERTANIE.sM.rAZDEL 31.2.2.3 [nASTROJKA NA^ERTANIJ],
S.347.
kOGDA NESKOLXKO OKON [email protected] ODIN I TOT VE BUFER,ONI [email protected] RAZNYE OBLASTI,
POTOMU ^TO U NIH MOGUT BYTX RAZNYE ZNA^ENIQ TO^KI (HOTQ WSE ONI [email protected] [email protected]
[email protected] METKI.) oBY^NO TOLXKO WYBRANNOE OKNO PODSWE^IWAET OBLASTX (SM.gLAWA 16
[oKNA],S.141 ).oDNAKO,ESLI PEREMENNAQ highlight-nonselected-windows NE RAWNA nil,
TO KAVDOE OKNO PODSWE^IWAET [email protected] OBLASTX (ESLI [email protected]^EN REVIM Transient Mark,I METKA
W BUFERE\TOGO OKNA AKTIWNA).
kOGDA REVIM Transient Mark NE [email protected]^EN,KAVDAQ KOMANDA,[email protected]]AQ METKU,
TAKVE I AKTIWIZIRUET EE,NO NI^TO NE DEAKTIWIZIRUET METKU.
eSLI W REVIME Transient Mark PEREMENNAQ mark-even-if-inactive NE RAWNA nil,TO
KOMANDY MOGUT ISPOLXZOWATX METKU I OBLASTX,DAVE ESLI ONI NE AKTIWNY.pODSWETKA
OBLASTI POQWLQETSQ I IS^EZAET TAK VE,KAK OBY^NO W REVIME Transient Mark,NO METKA NA
SAMOM DELE NE IS^EZAET,KOGDA IS^EZAET PODSWETKA.
rEVIM Transient Mark TAKVE IZWESTEN KAK\REVIM Zmacs",POTOMU ^TO REDAKTOR Zmacs
NA MIT Lisp Machine OBRA]ALSQ S POMETKOJ POHOVIM OBRAZOM.
8.3 rABOTA S [email protected]
kAK TOLXKO WY SOZDALI OBLASTX,I METKA AKTIWNA,WY MOVETE DELATX RAZLI^NYE WE]I S
TEKSTOM\TOJ OBLASTI:
пЂЏ uNI^TOVITX EGO S POMO][email protected] C-w (SM.rAZDEL 9.1 [uNI^TOVENIE],S.69).
пЂЏ zAPISATX EGO W REGISTR S POMO][email protected] C-x r s (SM.gLAWA 10 [rEGISTRY],S.77).
пЂЏ zAPISATX EGO W BUFER ILI FAJL (SM.rAZDEL 9.3 [nAKOPLENIE TEKSTA],S.73).
пЂЏ pREOBRAZOWATX REGISTR S POMO][email protected] C-x C-l ILI C-x C-u (SM.rAZDEL 21.6 [pREOBRAZO-
WANIE REGISTRA BUKW],S.189 ).
пЂЏ sDELATX OTSTUP S POMO][email protected] C-x hTABi ILI C-M-\(SM.gLAWA 20 [oTSTUPY],S.177).
пЂЏ zAPOLNITX EGO KAK TEKST S POMO][email protected] M-x fill-region (SM.rAZDEL 21.5 [zAPOLNENIE],
S.185 ).
пЂЏ rASPE^ATATX S POMO][email protected] M-x print-region (SM.rAZDEL 30.4 [rASPE^ATKA],S.331).
пЂЏ wY^ISLITX EGO KAK lISP-KOD S POMO][email protected] M-x eval-region (SM.rAZDEL 23.8 [wY^ISLE-
NIE lISPA],S.254 ).
bOLX[INSTWO KOMAND,KOTORYE [email protected] S TEKSTOM W OBLASTI,W SWOEM IMENI SODERVAT
SLOWO region.
8.4 kOMANDY DLQ POMETKI TEKSTUALXNYH OB_EKTOW
zDESX PREDSTAWLENY KOMANDY DLQ POME]ENIQ TO^KI I METKI WOKRUG TEKSTUALXNYH OB_-
EKTOW,TAKIH KAK SLOWO,SPISOK,ABZAC ILI STRANICA.
[email protected] uSTANOWITX METKU POSLE KONCA [email protected]]EGO SLOWA (mark-word).|TA I [email protected]
]AQ KOMANDY NE [email protected] TO^KU.
[email protected] uSTANOWITX METKU POSLE KONCA [email protected]]EGO lISP-WYRAVENIQ (mark-sexp).
M-h uSTANOWITX OBLASTX WOKRUG ABZACA (mark-paragraph).
C-M-h uSTANOWITX OBLASTX WOKRUG TEKU]EGO OPREDELENIQ FUNKCII lISPA (mark-
defun).
66 rUKOWODSTWO PO GNU EmacsC-x h uSTANOWITX OBLASTX WOKRUG WSEGO TEKU]EGO BUFERA (mark-whole-buffer).
C-x C-p uSTANOWITX OBLASTX WOKRUG TEKU]EJ STRANICY (mark-page).
[email protected] (mark-word) USTANAWLIWAET METKU W KONCE [email protected]]EGO SLOWA,A [email protected] (mark-sexp)
USTANAWLIWAET EE W KONEC [email protected]]EGO WYRAVENIQ lISPA.|TI KOMANDY [email protected] SWOI
ARGUMENTY TAK VE,KAK M-f I C-M-f.
dRUGIE KOMANDY [email protected] KAK METKU,TAK I TO^KU,^TOBY OGRANI^ITX OB_EKT W
BUFERE.nAPRIMER,M-h (mark-paragraph) PEREDWIGAET TO^KU W NA^ALO ABZACA,KOTORYJ
OKRUVAET TO^KU ILI SLEDUET ZA NEJ,I USTANAWLIWAET METKU W KONCE\TOGO ABZACA (SM.rAZDEL 21.3 [aBZACY],S.183).|TA KOMANDA PODGOTAWLIWAET OBLASTX,^TOBY WY MOGLI
SDELATX OTSTUPY,[email protected]^ITX REGISTR ILI UNI^TOVITX WESX ABZAC.
C-M-h (mark-defun) TAKVE USTANAWLIWAET TO^KU WPEREDI,A METKU POSLE TEKU]EGO ILI
[email protected]]EGO OPREDELENIQ FUNKCII (SM.rAZDEL 22.4 [oPREDELENIQ FUNKCIJ],S.208).C-x C-p
(mark-page) USTANAWLIWAET TO^KU PERED TEKU]EJ STRANICEJ,A METKU | W KONCE STRANICY
(SM.rAZDEL 21.4 [sTRANICY],S.184).pOMETKA IDET POSLE OGRANI^ITELQ STRANICY (^TOBY
[email protected]^ITX I EGO),TO^KA IDET POSLE OGRANI^ITELQ PREDYDU]EJ STRANICY (^TOBY [email protected]^ITX
EGO).~ISLOWOJ ARGUMENT ZADAET BOLEE [email protected]@ STRANICU (ESLI ARGUMENT POLOVITELEN) ILI
BOLEE [email protected]@ (ESLI ON OTRICATELEN) WMESTO TEKU]EJ STRANICY.
nAKONEC,C-x h (mark-whole-buffer) POME^AET WESX BUFER KAK OBLASTX,USTANAWLIWAQ
TO^KU W NA^ALO,A METKU W KONEC.
w REVIME Transient Mark WSE\TI KOMANDY [email protected] METKU.
8.5 sPISOK POMETOK
pOMIMO OGRANI^ENIQ OBLASTI,POMETKA SLUVIT TAKVE DLQ ZAPOMINANIQ MESTA,W KOTOROE
WY HOTELI BY WERNUTXSQ.~TOBY SDELATX\TU WOZMOVNOSTX BOLEE POLEZNOJ,Emacs ZAPOMI-
NAET 16 PREDYDU]IH POZICIJ METKI W SPISKE POMETOK.bOLX[INSTWO KOMAND,KOTORYE
[email protected] METKU,[email protected] [email protected] METKU W\TOT SPISOK.~TOBY WERNUTXSQ K OT-
ME^ENNOJ POZICII,[email protected] C-u C-hSPCi (ILI C-u [email protected]),\TO KOMANDA set-mark-command,
KOTOROJ DAN ^ISLOWOJ ARGUMENT.oNA PEREDWIGAET TO^KU TUDA,GDE BYLA POMETKA,I WOSSTA-
NAWLIWAET METKU IZ SPISKA PREVNIH POMETOK.tAK,POWTORNOE ISPOLXZOWANIE\TOJ KOMANDY
PEREDWIGAET TO^KU KO WSEM STARYM POMETKAM W SPISKE,K ODNOJ ZA DRUGOJ.mETKI,^E-
REZ KOTORYE WY PROHODITE,[email protected] W KONEC SPISKA,TAKIM OBRAZOM NI ODNA IZ NIH NE
PROPADAET.
kAVDYJ BUFER IMEET SWOJ SOBSTWENNYJ SPISOK POMETOK.wSE KOMANDY REDAKTIROWANIQ
[email protected] SPISOK POMETOK TEKU]EGO BUFERA.w ^ASTNOSTI,C-u C-
hSPCi WSEGDA OSTAETSQ W
TOM VE SAMOM BUFERE.
mNOGIE KOMANDY,[email protected]]IE NA BOLX[IE RASSTOQNIQ,TAKIE,NAPRIMER,KAK M-<
(beginning-of-buffer),NA^[email protected] S USTANOWKI METKI I ZAPISI STAROGO ZNA^ENIQ W SPISOK
POMETOK.|TO SDELANO DLQ TOGO,^TOBY WAM BYLO LEG^E WPOSLEDSTWII WERNUTXSQ NAZAD.
pOISKI [email protected]\TO ZA [email protected]^ENIEM TEH SLU^AEW,KOGDA ONI FAKTI^ESKI NE [email protected] TO^KU.
wY MOVETE WIDETX,KOGDA KAKAQ-LIBO KOMANDA USTANAWLIWAET METKU,PO TOMU,^TO ONA
PE^ATAET W\HO-OBLASTI SOOB]ENIE`Mark Set'.
eSLI WY HOTITE WOZWRA]ATXSQ K ODNOMU I TOMU VE MESTU SNOWA I SNOWA,SPISOK POMETOK
MOVET OKAZATXSQ NEDOSTATO^NO UDOBNYM.w TAKOM SLU^AE WY MOVETE ZAPISATX [email protected] W
REGISTR DLQ [email protected]]EGO POLU^ENIQ (SM.rAZDEL 10.1 [hRANENIE POZICIJ W REGISTRAH],
S.77 ).
pEREMENNAQ mark-ring-max ZADAET MAKSIMALXNOE ^ISLO\LEMENTOW W SPISKE POMETOK.
eSLI UVE IMEETSQ MAKSIMALXNOE KOLI^ESTWO\LEMENTOW,I ZATALKIWAETSQ E]E ODIN,TO PO-
SLEDNIJ IZ SU][email protected]]EGO SPISKA SBRASYWAETSQ.pOWTORENIE C-u C-hSPCi PROKRU^IWAET
SREDI POZICIJ,KOTORYE NAHODQTSQ W DANNYJ MOMENT W SPISKE.
gLAWA 8:pOMETKA I OBLASTX 67pEREMENNAQ mark-ring HRANIT SAM SPISOK POMETOK KAK SPISOK POME^ENNYH OB_EKTOW,
GDE PERWYM IDET ZAPISANNYJ SAMYM POSLEDNIM.dANNAQ PEREMENNAQ QWLQETSQ LOKALXNOJ W
KAVDOM BUFERE.
8.6 gLOBALXNYJ SPISOK POMETOK
kROME OBY^NOGO SPISKA POMETOK,KOTORYJ PRINADLEVIT KAVDOMU BUFERU,W Emacs ESTX
EDINYJ GLOBALXNYJ SPISOK POMETOK.w NEM ZAPISYWAETSQ POSLEDOWATELXNOSTX BUFEROW,W
KOTORYH WY NEDAWNO USTANAWLIWALI METKI,^TOBY WY MOGLI WERNUTXSQ K\TIM BUFERAM.
pRI USTANOWKE METKI WSEGDA SOZDAETSQ WHOVDENIE W SPISKE POMETOK TEKU]EGO BUFERA.
eSLI WY [email protected]^ALI BUFERY POSLE PREDYDU]EJ USTANOWKI METKI,POZICIQ NOWOJ METKI
WNOSITSQ TAKVE I W GLOBALXNYJ SPISOK POMETOK.w REZULXTATE GLOBALXNYJ SPISOK POMETOK
HRANIT POSLEDOWATELXNOSTX BUFEROW,W KOTORYH WY POBYWALI,I MESTO W KAVDOM IZ NIH,GDE
WY POSTAWILI METKU.
kOMANDA C-x C-hSPCi (pop-global-mark) PEREWODIT K BUFERU I POZICII POSLEDNEGO WHO-
VDENIQ W GLOBALXNOM SPISKE POMETOK.oNA TAKVE PROMATYWAET\TOT SPISOK,^TOBY POSLEDO-
WATELXNOE PRIMENENIE KOMANDY C-x C-hSPCi PEREME]ALO WAS KO WSE BOLEE RANNIM BUFERAM.
68 rUKOWODSTWO PO GNU Emacs
gLAWA 9:uNI^TOVENIE I PEREME]ENIE TEKSTA 699 uNI^TOVENIE I PEREME]ENIE TEKSTA
uNI^TOVENIE OZNA^AET STIRANIE TEKSTA I ZAPISX EGO W SPISOK UNI^TOVENIJ,IZ KOTOROGO
ON MOVET BYTX POLU^EN S POMO][email protected] WOSSTANOWLENIQ.nEKOTORYE SISTEMY,STAW[IE NEDAWNO
POPULQRNYMI,[email protected] DLQ OBOZNA^ENIQ\TIH OPERACIJ TERMINY\WYREZKA"I\WSTAWKA".
sAMYJ RASPROSTRANENNYJ SPOSOB PERENOSA ILI KOPIROWANIQ TEKSTA W Emacs |SNA^ALA
UNI^TOVITX EGO,A POTOM WOSSTANOWITX W ODNOM ILI NESKOLXKIH MESTAH.|TO O^ENX NADEVNO,
TAK KAK WSE UNI^TOVENNYE ZA POSLEDNEE WREMQ KUSKI TEKSTA [email protected]\TO UDOBNO,
TAK KAK MNOGO^ISLENNYE KOMANDY DLQ UNI^TOVENIQ SINTAKSI^ESKIH EDINIC MOGUT BYTX
TAKVE ISPOLXZOWANY I DLQ IH PEREME]ENIQ.nO ESTX I DRUGIE SPOSOBY KOPIROWANIQ TEKSTA
DLQ OSOBYH CELEJ.
Emacs HRANIT EDINYJ DLQ WSEH BUFEROW SPISOK UNI^TOVENIJ,TAK ^TO WY MOVETE UNI-
^TOVITX TEKST W ODNOM BUFERE I WOSSTANOWITX EGO W DRUGOM.
9.1 uDALENIE I UNI^TOVENIE
bOLX[INSTWO KOMAND,KOTORYE [email protected] TEKST IZ BUFERA,[email protected] EGO W SPISKE UNI-
^TOVENIJ,^TOBY WY MOGLI PERENESTI ILI SKOPIROWATX EGO W DRUGIE ^ASTI BUFERA.|TI
KOMANDY IZWESTNY KAK KOMANDY UNI^TOVENIQ.oSTALXNYE KOMANDY,[email protected]]IE TEKST,NE
[email protected] EGO W SPISOK UNI^TOVENIJ;ONI IZWESTNY KAK KOMANDY UDALENIQ.(tAKOE OT-
LI^IE DELAETSQ TOLXKO DLQ STIRANIQ TEKSTA W BUFERE).eSLI WY UNI^TOVILI ILI UDALILI
TEKST PO O[IBKE,WY MOVETE ISPOLXZOWATX KOMANDU C-x u (undo) DLQ OTMENY IZMENENIJ
(SM.rAZDEL 4.4 [oTMENA],S.37).
kOMANDY UDALENIQ [email protected]^[email protected] C-d (delete-char) I hDELi (delete-backward-char),KO-
TORYE [email protected] TOLXKO ODIN ZNAK ZA ODIN RAZ,I TE KOMANDY,KOTORYE [email protected] TOLXKO
PROBELY ILI OGRANI^ITELI NOWOJ STROKI.kOMANDY,KOTORYE MOGUT UNI^TOVITX SU]E-
STWENNOE KOLI^ESTWO NETRIWIALXNYH DANNYH,OBY^NO [email protected] KOMANDAMI UNI^TOVENIQ.
iMENA KOMAND I IH OPISANIQ [email protected] SLOWA`kill'I`delete',^TOBY POQSNQTX ^TO ONI
[email protected]
9.1.1 uDALENIE
C-d uDALITX [email protected]]IJ ZNAK (delete-char).
h DELi uDALITX PREDYDU]IJ ZNAK (delete-backward-char).
M-\uDALITX WSE PROBELY I [email protected] WOKRUG TO^KI (delete-horizontal-space).
M-h SPCi uDALITX PROBELY I [email protected] WOKRUG TO^KI,OSTAWLQQ ODIN PROBEL (just-one-
space).
C-x C-o uDALITX PUSTYE STROKI WOKRUG TEKU]EJ STROKI (delete-blank-lines).
M-^ oB_EDINITX DWE STROKI,UDALQQ NAHODQ]IJSQ MEVDU NIMI OGRANI^ITELX NOWOJ
STROKI I [email protected] OTSTUP,[email protected]]IJ ZA NIM (delete-indentation).
sAMYE OSNOWNYE KOMANDY UDALENIQ |\TO C-d (delete-char) I hDELi (delete-backward-
char).C-d UDALQET ZNAK POSLE TO^KI,NAD KOTORYM NAHODITSQ KURSOR.tO^KA NE PEREDWIGA-
ETSQ.h DELi UDALQET ZNAK PERED KURSOROM I PEREDWIGAET TO^KU NAZAD.oGRANI^ITELX NOWOJ
STROKI MOVET BYTX UDALEN TO^NO TAKVE,KAK I [email protected] DRUGOJ ZNAK W BUFERE.uDALENIE OGRA-
NI^ITELQ NOWOJ STROKI OB_EDINQET DWE STROKI.fAKTI^ESKI C-d I hDELi NE WSEGDA [email protected]
KOMANDAMI UDALENIQ;ESLI IM DATX ARGUMENT,ONI UNI^[email protected],TAK KAK\TIM SPOSOBOM ONI
MOGUT STERETX UVE BOLEE ODNOGO ZNAKA.
dRUGIE KOMANDY UDALENIQ |\TO TE,^TO [email protected] TOLXKO PROBELXNYE ZNAKI:PROBELY,
[email protected] I OGRANI^ITELI NOWYH STROK.M-\(delete-horizontal-space) UDALQET WSE
70 rUKOWODSTWO PO GNU EmacsPROBELY I SIMWOLY TABULQCII PERED I POSLE TO^KI.M-hSPCi (just-one-space) DELAET TO VE
SAMOE,NO OSTAWLQET ODINO^NYJ PROBEL POSLE TO^KI,NEZAWISIMO OT KOLI^ESTWA PROBELOW,
SU]ESTWOWAW[IH PREVDE (DAVE ESLI ONO BYLO RAWNO [email protected]).
C-x C-o (delete-blank-lines) UNI^TOVAET WSE PUSTYE STROKI POSLE TEKU]EJ STROKI.
eSLI TEKU]AQ STROKA PUSTAQ,TO TAKVE UNI^TOVAET WSE PUSTYE STROKI,PRED[[email protected]]IE
TEKU]EJ STROKE (OSTAWLQQ ODNU [email protected] STROKU,TEKU][email protected]).
M-^ (delete-indentation) OB_EDINQET TEKU][email protected] STROKU I PRED[[email protected]][email protected] EJ,UDALQQ
OGRANI^ITELX NOWOJ STROKI I WSE [email protected]]IE PROBELY,OBY^NO OSTAWLQQ ODINO^NYJ PRO-
BEL.sM.gLAWA 20 [oTSTUPY],S.177.
9.1.2 uNI^TOVENIE STROK
C-k uNI^TOVITX OSTATOK STROKI,LIBO ODNU ILI NESKOLXKO STROK (kill-line).
pROSTEJ[EJ KOMANDOJ UNI^TOVENIQ QWLQETSQ C-k.eSLI ONA DAETSQ W NA^ALE STROKI,TO
UNI^TOVAET WESX TEKST NA STROKE,OSTAWLQQ EE PUSTOJ.eSLI KOMANDA DANA NA PUSTOJ STROKE,
TO UNI^TOVAET [email protected] STROKU,[email protected]^AQ EE OGRANI^ITELX.~TOBY UNI^TOVITX [email protected] STROKU
CELIKOM,PEREJDITE W EE NA^ALO I NAVMITE C-k DWAVDY.
w BOLEE OB]EM WIDE,C-k UNI^TOVAET WSE OT TO^KI WPLOTX DO KONCA STROKI,ESLI\TO NE
PROISHODIT W KONCE STROKI.w\TOM SLU^AE ONA UNI^TOVAET OGRANI^ITELX NOWOJ STROKI,
[email protected]]IJ ZA STROKOJ,TAKIM OBRAZOM PROISHODIT SLIQNIE [email protected]]EJ STROKI S TEKU]EJ.
pRI RE[ENII WOPROSA O TOM,KAKOJ SLU^AJ PRIMENQTX,NEWIDIMYE PROBELY I TABULQCIQ W
KONCE STROKI [email protected],TAK,ESLI TO^KA WYGLQDIT STOQ]EJ W KONCE STROKI,WY MOVETE
BYTX UWERENY,^TO C-k UNI^TOVIT PEREWOD STROKI.
eSLI C-k BUDET PRISWOEN POLOVITELXNYJ ARGUMENT,ONA UNI^TOVIT ROWNO STOLXKO STROK
WMESTE SO [email protected]]IMI ZA NIMI OGRANI^ITELQMI (ODNAKO,TEKST NA TEKU]EJ STROKE PERED
TO^KOJ SOHRANQETSQ).s OTRICATELXNYM ARGUMENTOM пЂЂn ONA UNI^TOVAET n STROK,PRED[E-
[email protected]]IH TEKU]EJ (WMESTE S TEKSTOM NA TEKU]EJ STROKE PERED TO^KOJ).tAKIM OBRAZOM,
C-u - 2 C-k W NA^ALE STROKI UNI^TOVAET DWE PREDYDU]IE STROKI.
C-k S ARGUMENTOM,RAWNYM [email protected],UNI^TOVAET TEKST PERED TO^KOJ NA TEKU]EJ STROKE.
eSLI PEREMENNAQ kill-whole-line NE RAWNA nil,C-k W SAMOM NA^ALE STROKI UNI^TOVAET
[email protected]\TU STROKU,[email protected]^AQ [email protected]]IJ PEREWOD STROKI.|TA PEREMENNAQ OBY^NO RAWNA nil.
9.1.3 dRUGIE KOMANDY UNI^TOVENIQ
C-w uNI^TOVITX OBLASTX (OT TO^KI DO METKI) (kill-region).
M-d uNI^TOVITX SLOWO (kill-word).sM.rAZDEL 21.1 [sLOWA],S.181.
M-h DELi uNI^TOVITX PREDYDU]EE SLOWO (backward-kill-word).
C-x
h DELi uNI^TOVITX NAZAD DO NA^ALA PREDLOVENIQ (backward-kill-sentence).sM.rAZDEL 21.2 [pREDLOVENIQ],S.182.
M-k uNI^TOVITX DO KONCA PREDLOVENIQ (kill-sentence).
C-M-k uNI^TOVITX s-WYRAVENIE (kill-sexp).sM.rAZDEL 22.2 [sPISKI],S.206.
M-z ZNAK uNI^TOVITX WPLOTX DO [email protected]]EGO POQWLENIQ ZNAKA (zap-to-char).
C-w (kill-region) | O^ENX RASPROSTRANENNAQ KOMANDA UNI^TOVENIQ,KOTORAQ UNI^TO-
VAET WSE MEVDU TO^KOJ I METKOJ.s POMO][email protected]\TOJ KOMANDY WY MOVETE UNI^TOVITX [email protected]@
[email protected] POSLEDOWATELXNOSTX ZNAKOW,ESLI SNA^ALA USTANOWITE METKU W ODNOM EE KONCE
I OTPRAWITESX W DRUGOJ KONEC.
uDOBNYJ SPOSOB UNI^TOVENIQ |\TO UNI^TOVENIE SKOMBINIROWANNOE S POISKOM:M-z
(zap-to-char) S^ITYWAET ZNAK I UNI^TOVAET OT TO^KI WPLOTX DO [email protected]]EGO POQWLENIQ
gLAWA 9:uNI^TOVENIE I PEREME]ENIE TEKSTA 71\TOGO ZNAKA (I [email protected]^AQ EGO) W BUFERE.~ISLOWOJ ARGUMENT DEJSTWUET KAK S^ET^IK POWTOROW.
oTRICATELXNYJ ARGUMENT OZNA^AET POISK W [email protected] STORONU I UNI^TOVENIE TEKSTA PERED
TO^KOJ.
mOGUT UNI^TOVATXSQ DRUGIE SINTAKSI^ESKIE EDINICY:SLOWA,S POMO][email protected] M-hDELi I M-d
(SM.rAZDEL 21.1 [sLOWA],S.181);s-WYRAVENIQ,S POMO][email protected] C-M-k (SM.rAZDEL 22.2 [sPISKI],
S.206 );I PREDLOVENIQ,S POMO][email protected] C-x hDELi I M-k (SM.rAZDEL 21.2 [pREDLOVENIQ],S.182).
wY MOVETE ISPOLXZOWATX KOMANDY UNI^TOVENIQ W BUFERAH,DOSTUPNYH TOLXKO DLQ ^TE-
NIQ.nA SAMOM DELE ONI NE [email protected] BUFER I [email protected] ZWUKOWOJ SIGNAL,^TOBY PREDUPREDITX
WAS OB\TOM,NO ONI DEJSTWITELXNO [email protected] TEKST,KOTORYJ WY POPYTALISX UNI^TOVITX,
W SPISOK UNI^TOVENIJ,TAK ^TO WY MOVETE WOSSTANOWITX EGO W DRUGIH BUFERAH.bOLX[IN-
STWO KOMAND UNI^TOVENIQ [email protected] TO^KU PO TEKSTU,KOTORYJ ONI [email protected] TAKIM
SPOSOBOM,PO\TOMU POSLEDOWATELXNYE KOMANDY UNI^TOVENIQ,KAK OBY^NO,[email protected] EDINOE
WHOVDENIE W SPISKE UNI^TOVENIJ.
9.2 wOSSTANOWLENIE
wOSSTANOWLENIE WOZWRA]AET OBRATNO TEKST,KOTORYJ BYL RANEE UNI^TOVEN.|TO TO VE
SAMOE,^TO W DRUGIH SISTEMAH NAZYWAETSQ\WSTAWKOJ".oBY^NYJ SPOSOB KOPIROWANIQ ILI
PEREME]ENIQ TEKSTA |UNI^TOVITX EGO,A ZATEM WOSSTANOWITX ODIN ILI NESKOLXKO RAZ.
C-y wOSSTANOWITX POSLEDNIJ UNI^TOVENNYJ TEKST (yank).
M-y zAMENITX TOLXKO ^TO WOSSTANOWLENNYJ TEKST PRED[[email protected]]IM KUSKOM UNI^TO-
VENNOGO TEKSTA (yank-pop).
M-w sOHRANITX OBLASTX KAK POSLEDNIJ UNI^TOVENNYJ TEKST BEZ FAKTI^ESKOGO UNI-
^TOVENIQ (kill-ring-save).
C-M-w dOBAWITX [email protected]]EE UNI^TOVENIE K POSLEDNEMU KUSKU UNI^TOVENNOGO TEKSTA
(append-next-kill).
9.2.1 sPISOK UNI^TOVENIJ
wESX UNI^TOVENNYJ TEKST ZAPISYWAETSQ W KOLXCEWOJ SPISOK UNI^TOVENIJ,SPISOK BLOKOW
TEKSTA,KOTORYJ BYL UNI^TOVEN.sU]ESTWUET TOLXKO ODIN SPISOK UNI^TOVENIJ,ISPOLX-
ZUEMYJ WO WSEH BUFERAH,TAKIM OBRAZOM WY MOVETE UNI^TOVITX TEKST W ODNOM BUFERE I
WOSSTANOWITX EGO W DRUGOM.|TO OBY^NYJ SPOSOB PEREME]ENIQ TEKSTA IZ ODNOGO FAJLA W
DRUGOJ.(sM.rAZDEL 9.3 [nAKOPLENIE TEKSTA],S.73,DLQ POLU^ENIQ INFORMACII O DRUGIH
SPOSOBAH).
kOMANDA C-y (yank) WNOWX WSTAWLQET TEKST,UNI^TOVENNYJ SAMYM POSLEDNIM.oNA
OSTAWLQET KURSOR W KONCE TEKSTA,METKA USTANAWLIWAETSQ W EGO NA^ALE.sM.gLAWA 8
[pOMETKA],S.63.
C-u C-y OSTAWLQET KURSOR PERED TEKSTOM I USTANAWLIWAET METKU POSLE NEGO.|TO PROIS-
HODIT,TOLXKO ESLI ARGUMENT ZADAN S POMO][email protected] PROSTO [email protected] DRUGOJ WID ARGUMENTA,
[email protected]^AQ C-u I CIFRY,OBOZNA^[email protected] WOSSTANOWLENIE UNI^TOVENNOGO RANEE (SM.rAZDEL 9.2.3
[rANEE UNI^TOVENNOE],S.72 ).
eSLI WY HOTITE SKOPIROWATX BLOK TEKSTA,WY MOVETE ISPOLXZOWATX M-w (kill-ring-
save),KOTORAQ KOPIRUET OBLASTX W SPISOK UNI^TOVENIJ BEZ UDALENIQ EGO IZ BUFERA.|TO
PRIBLIZITELXNYJ\KWIWALENT C-w,ZA KOTOROJ SLEDUET C-x u,ZA [email protected]^ENIEM TOGO,^TO M-w
NE IZMENQET [email protected] WOSSTANOWLENIJ I NE IZMENQET NA WREMQ\KRAN.
72 rUKOWODSTWO PO GNU Emacs9.2.2 dOBAWLENIE UNI^TOVENIJ
oBY^NO KAVDAQ KOMANDA UNI^TOVENIQ DOBAWLQET NOWYJ BLOK W SPISOK UNI^TOVENIJ.
oDNAKO,DWE ILI BOLEE KOMANDY UNI^TOVENIQ PODRQD [email protected] TEKST W EDINYJ\LEMENT,
TAK ^TO ODINO^NAQ C-y WOZXMET WESX EGO OBRATNO TAKIM,KAKIM ON BYL PERED UNI^TOVENIEM.
tAKIM OBRAZOM,ESLI WY HOTITE WOSSTANOWITX TEKST KAK ODNO CELOE,WY NE DOLVNY
UNI^TOVATX WESX\TOT TEKST ODNOJ KOMANDOJ;WY MOVETE PRODOLVATX UNI^TOVENIE STROKI
ZA STROKOJ ILI SLOWA ZA SLOWOM DO TEH POR,POKA NE UNI^TOVITE WESX TEKST [email protected],I
WY MOVETE POLU^ITX EGO OBRATNO SRAZU CELIKOM.
kOMANDY,KOTORYE UNI^[email protected] TEKST WPERED OT TO^KI,[email protected] UNI^TOVENNOE W KO-
NEC PREDYDU]EGO UNI^TOVENNOGO TEKSTA.kOMANDY,KOTORYE UNI^[email protected] NAZAD OT TO^KI,
[email protected]\TO W NA^ALO.tAKIM OBRAZOM,[email protected] POSLEDOWATELXNOSTX SME[ANNYH KOMAND
UNI^TOVENIQ PERED TO^KOJ I POSLE NEE OB_EDINQET WESX UNI^TOVENNYJ TEKST W ODIN\LE-
MENT BEZ PEREUPORQDO^ENIQ.~ISLOWOJ ARGUMENT NE PRERYWAET POSLEDOWATELXNOSTX DOBAW-
LENIQ UNI^TOVENIJ.nAPRIMER,PREDPOLOVIM,^TO BUFER SODERVIT TAKOJ TEKST:
|TO PRIMER STROKI?S OBRAZCOM TEKSTA.
S TO^KOJ,POKAZANNOJ KAK?.eSLI WY NABERETE M-d M-hDELi M-d M-hDELi,UNI^TOVAQ PO O^E-
REDI WPERED I NAZAD,TO W KONCE POLU^ITE`PRIMER STROKI S OBRAZCOM'W KA^ESTWE ODNOGO
WHOVDENIQ W SPISKE UNI^TOVENIJ I`|TO TEKSTA.'W BUFERE.(oBRATITE WNIMANIE NA DWOJ-
NOJ PROBEL,KOTORYJ WY MOVETE O^ISTITX S POMO][email protected] M-h SPCi ILI M-q.)
dRUGOJ SPOSOB UNI^TOVITX TOT VE TEKST | PEREMESTITXSQ NAZAD NA DWA SLOWA S POMO-
][email protected] M-b M-b I UNI^TOVITX WSE ^ETYRE SLOWA WPERED KOMANDOJ C-u M-d.|TO DAET TAKOJ
VE REZULXTAT W BUFERE I W SPISKE UNI^TOVENIJ.M-f M-f C-u M-hDELi UNI^TOVAET TOT VE
TEKST,PROHODQ WSE WREMQ NAZAD;I OPQTX REZULXTAT BUDET TEM VE.tEKST W\LEMENTE SPIS-
KA UNI^TOVENIJ WSEGDA IMEET TOT VE PORQDOK,^TO ON IMEL W BUFERE DO TOGO,KAK WY EGO
UNI^TOVILI.
eSLI KOMANDA UNI^TOVENIQ OTDELENA OT PREDYDU]EJ DRUGIMI KOMANDAMI (NE PROSTO
^ISLOWYM ARGUMENTOM),TO ONA NA^INAET NOWYJ\LEMENT W SPISKE UNI^TOVENIJ.nO WY
MOVETE ZASTAWITX\TU KOMANDU UNI^TOVENIQ DOBAWLQTX TEKST K PREDYDU]EMU\LEMENTU,
NABRAW PERED NEJ KOMANDU C-M-w (append-next-kill).C-M-w PRIKAZYWAET [email protected]]EJ KO-
MANDE,ESLI\TO KOMANDA UNI^TOVENIQ,DOBAWITX UNI^TOVENNYJ [email protected] TEKST K POSLEDNEMU
UNI^TOVENNOMU TEKSTU WMESTO TOGO,^TOBY NA^INATX NOWYJ\LEMENT.s POMO][email protected] C-M-w WY
MOVETE UNI^TOVITX NESKOLXKO OTDELXNYH KUSKOW TEKSTA I NAKOPITX IH DLQ DALXNEJ[EGO
WOSSTANOWLENIQ W ODNOM MESTE.
kOMANDA UNI^TOVENIQ,[email protected]]AQ POSLE M-w,NE DOBAWLQET K TEKSTU,KOTORYJ M-w SKO-
PIROWALA W SPISOK UNI^TOVENIJ.
9.2.3 wOSSTANOWLENIE RANEE UNI^TOVENNOGO
dLQ TOGO ^TOBY WERNUTX UNI^TOVENNYJ TEKST,KOTORYJ UVE NE QWLQETSQ POSLEDNIM
UNI^TOVENNYM,ISPOLXZUJTE KOMANDU M-y (yank-pop).oNA BERET PREVDE WOSSTANOWLENNYJ
TEKST,I ZAMENQET EGO TEKSTOM BOLEE RANNEGO UNI^TOVENIQ.tAK,^TOBY WERNUTX TEKST,
PRED[[email protected]]IJ POSLEDNEMU UNI^TOVENNOMU,SNA^ALA ISPOLXZUJTE C-y,^TOBY WOSSTANO-
WITX POSLEDNEE UNI^TOVENIE,A ZATEM M-y,^TOBY ZAMENITX EGO PREDYDU]IM.M-y MOVET
ISPOLXZOWATXSQ TOLXKO POSLE C-y ILI DRUGOJ M-y.
M-y MOVNO PONIMATX W TERMINAH UKAZATELQ NA\POSLEDNEE WOSSTANOWLENIE",KOTORYJ
UKAZYWAET NA\LEMENT W SPISKE UNI^TOVENIQ.kAVDYJ RAZ,KOGDA WY UNI^TOVAETE,UKAZA-
TELX NA\POSLEDNEE WOSSTANOWLENIE"PEREDWIGAETSQ W POSLEDNIJ SOZDANNYJ\LEMENT W NA^ALE
SPISKA.C-y WOSSTANAWLIWAET\LEMENT,NA KOTORYJ SSYLAETSQ UKAZATELX\POSLEDNEGO WOS-
STANOWLENIQ".M-y DWIGAET UKAZATELX NA\POSLEDNEE WOSSTANOWLENIE"K DRUGOMU\LEMENTU,
I TEKST W BUFERE SOOTWETSTWENNO IZMENQETSQ.dOSTATO^NOE KOLI^ESTWO KOMAND M-y MOVET
PEREMESTITX UKAZATELX K [email protected]\LEMENTU W SPISKE,TAKIM OBRAZOM,WY MOVETE POLU^ITX
gLAWA 9:uNI^TOVENIE I PEREME]ENIE TEKSTA [email protected]\LEMENT W BUFERE.kOGDA NAKONEC UKAZATELX DOSTIGAET POSLEDNEGO\LEMENTA SPISKA,
[email protected]]AQ KOMANDA M-y SNOWA POME]AET EGO NA PERWYJ\LEMENT.
M-y DWIGAET UKAZATELX NA\POSLEDNEE WOSSTANOWLENIE"PO SPISKU,NO\TO NE MENQET PORQ-
DOK\LEMENTOW,KOTORYE WSEGDA IDUT OT SAMOGO POSLEDNEGO UNI^TOVENIQ DO SAMOGO STAROGO,
KOTOROE E]E HRANITSQ.
M-y MOVET POLU^ITX ^ISLOWOJ ARGUMENT,KOTORYJ GOWORIT,NA SKOLXKO\LEMENTOW WPERED
PRODWINUTX UKAZATELX NA\POSLEDNEE WOSSTANOWLENIE".oTRICATELXNYJ ARGUMENT DWIGAET
\TOT UKAZATELX PO [email protected] K NA^ALU SPISKA;OT NA^ALA SPISKA ON DWIGAET K POSLEDNEMU
\LEMENTU I PRODOLVAET DWIVENIE WPERED OTTUDA.
kAK TOLXKO ISKOMYJ TEKST POME]EN W BUFER,WY MOVETE PREKRATITX ZAPUSKATX KOMANDY
M-y,I TEKST OSTANETSQ TAM.|TO PROSTO KOPIQ\LEMENTA SPISKA UNI^TOVENIQ,PO\TOMU
REDAKTIROWANIE EGO W BUFERE NE IZMENQET SODERVIMOE\TOGO SPISKA.dO TEH POR,POKA NE
DELAETSQ NOWOE UNI^TOVENIE,UKAZATELX NA\POSLEDNEE WOSSTANOWLENIE"OSTAETSQ W TOM VE
SAMOM MESTE W SPISKE UNI^TOVENIJ,TAKIM OBRAZOM,POWTORENIE C-y WOSSTANOWIT E]E ODNU
[email protected] TOGO VE SAMOGO STAROGO UNI^TOVENIQ.
eSLI WY ZNAETE,SKOLXKO KOMAND M-y NEOBHODIMO NABRATX,^TOBY NAJTI [email protected]]IJ
WAS TEKST,WY MOVETE WOSSTANOWITX\TOT TEKST ZA ODIN [AG,ISPOLXZUQ C-y S ^ISLOWYM
ARGUMENTOM.C-y S ARGUMENTOM WOSSTANAWLIWAET TEKST,ZAPISANNYJ W SPISKE UNI^TOVE-
NIQ NA ZADANNOE ^ISLO\LEMENTOW NAZAD.tAKIM OBRAZOM,C-u 2 C-y DOSTAET [email protected]]IJ ZA
POSLEDNIM BLOK UNI^TOVENNOGO TEKSTA.|TO\KWIWALENTNO C-y M-y.C-y c ^ISLOWYM AR-
GUMENTOM NA^INAET PODS^ET OT UKAZATELQ NA\POSLEDNEE WOSSTANOWLENIE"I USTANAWLIWAET
\TOT UKAZATELX NA\LEMENT,KOTORYJ\TA KOMANDA WOSSTANAWLIWAET.
dLINA SPISKA UNI^TOVENIJ UPRAWLQETSQ PEREMENNOJ kill-ring-max;NE MOVET BYTX
ZAPISANO BOLX[E BLOKOW TEKSTA,^EM OPREDELENO\TOJ WELI^INOJ.
dEJSTWITELXNOE SODERVIMOE SPISKA UNI^TOVENIJ HRANITSQ W PEREMENNOJ kill-ring;
WY MOVETE PROSMOTRETX WSE SODERVIMOE SPISKA UNI^TOVENIJ S POMO][email protected] KOMANDY C-h v
kill-ring.
9.3 nAKOPLENIE TEKSTA
oBY^NO MY KOPIRUEM ILI PERENOSIM TEKST PUTEM EGO UNI^TOVENIQ I WOSSTANOWLENIQ,
NO SU][email protected] I DRUGIE SPOSOBY,UDOBNYE DLQ KOPIROWANIQ ODNOGO BLOKA TEKSTA WO MNOGIE
MESTA ILI DLQ KOPIROWANIQ MNOGIH RASSEQNNYH BLOKOW TEKSTA W ODNO MESTO.~TOBY SKOPI-
ROWATX ODIN BLOK WO MNOGO MEST,ZAPI[ITE EGO W REGISTR (SM.gLAWA 10 [rEGISTRY],S.77).
zDESX MY OPISYWAEM KOMANDY DLQ NAKOPLENIQ RAZBROSANNYH KUSKOW TEKSTA W BUFER ILI W
FAJL.
M-x append-to-buffer
dOBAWITX OBLASTX W ZADANNYJ BUFER POSLE TO^KI.
M-x prepend-to-buffer
dOBAWITX OBLASTX W ZADANNYJ BUFER PERED TO^KOJ.
M-x copy-to-buffer
kOPIROWATX OBLASTX W ZADANNYJ BUFER,UDALQQ STAROE SODERVIMOE BUFERA.
M-x insert-buffer
wSTAWITX SODERVIMOE ZADANNOGO BUFERA W TEKU]IJ BUFER W TO^KE.
M-x append-to-file
dOBAWITX OBLASTX W KONEC ZADANNOGO FAJLA.
dLQ NAKOPLENIQ TEKSTA W BUFERE ISPOLXZUETSQ M-x append-to-buffer.oNA S^ITYWAET
IMQ BUFERA,A ZATEM WSTAWLQET W\TOT BUFER [email protected] OBLASTI.eSLI BUFER S TAKIM IMENEM
NE SU]ESTWUET,TO append-to-buffer SOZDAST EGO.tEKST WSTAWLQETSQ W TO MESTO W\TOM
74 rUKOWODSTWO PO GNU EmacsBUFERE,GDE NAHODITSQ TO^KA.eSLI WY ISPOLXZOWALI\TOT BUFER DLQ REDAKTIROWANIQ,
SKOPIROWANNYJ TEKST WSTAWLQETSQ W SEREDINU TEKSTA,GDE OKAZALASX TO^KA.
tO^KA W\TOM BUFERE OSTAETSQ W KONCE KOPIRUEMOGO TEKSTA,TAKIM OBRAZOM,POSLEDO-
WATELXNOE ISPOLXZOWANIE append-to-buffer NAKAPLIWAET TEKST W ZADANNOM BUFERE W TOM
VE SAMOM PORQDKE,W KOTOROM ^ASTI BYLI SKOPIROWANY.sTROGO GOWORQ,append-to-buffer
NE WSEGDA DOBAWLQET K TEKSTU,UVE NAHODQ]EMUSQ W BUFERE | ONA DOBAWLQET,ESLI TO^KA
NAHODITSQ W KONCE\TOGO BUFERA.oDNAKO,ESLI append-to-buffer QWLQETSQ EDINSTWENNOJ
KOMANDOJ,[email protected] WY ISPOLXZUETE DLQ IZMENENIQ BUFERA,TO^KA WSEGDA RASPOLOVENA W
KONCE.
M-x prepend-to-buffer PODOBNA append-to-buffer ZA [email protected]^ENIEM TOGO,^TO TO^KA W
DRUGOM BUFERE OSTAETSQ PERED SKOPIROWANNYM TEKSTOM,TAKIM OBRAZOM,POSLEDOWATELXNOE
PRIMENENIE\TOJ KOMANDY DOBAWLQET TEKST W OBRATNOM PORQDKE.M-x copy-to-buffer DEJ-
STWUET TAK VE,ZA [email protected]^ENIEM TOGO,^TO [email protected] SU][email protected]]IJ TEKST W DRUGOM BUFERE
UDALQETSQ,TAK ^TO W BUFERE OSTAETSQ LI[X WNOWX SKOPIROWANNYJ TEKST.
~TOBY WERNUTX NAKOPLENNYJ TEKST IZ DRUGOGO BUFERA,ISPOLXZUJTE KOMANDU M-x
insert-buffer;ONA TAKVE PRINIMAET IMQ BUFERA KAK ARGUMENT.|TA KOMANDA WSTAWLQET
[email protected] TEKSTA IZ BUFERA S ZADANNYM IMENEM W WYBRANNYJ BUFER.iLI WY MOVETE WYBRATX
DRUGOJ BUFER DLQ REDAKTIROWANIQ,WOZMOVNO,PEREME]AQ WPOSLEDSTWII TEKST IZ NEGO PU-
TEM UNI^TOVENIQ.sM.gLAWA 15 [bUFERY],S.135,DLQ POLU^ENIQ BAZOWOJ INFORMACII O
BUFERAH.
wMESTO NAKOPLENIQ TEKSTA WNUTRI BUFERA Emacs WY MOVETE DOBAWITX TEKST NEPOSRED-
STWENNO W FAJL S POMO][email protected] KOMANDY M-x append-to-file,KOTORAQ ISPOLXZUET IMQ FAJLA
W KA^ESTWE ARGUMENTA.oNA DOBAWLQET TEKST OBLASTI W KONEC ZADANNOGO FAJLA.fAJL NA
DISKE IZMENQETSQ SRAZU.
wY DOLVNY ISPOLXZOWATX append-to-file TOLXKO S FAJLAMI,K KOTORYM WY NE OBRA-
]AETESX IZ Emacs.iSPOLXZOWANIE\TOJ KOMANDY DLQ FAJLA,K KOTOROMU OBRATILISX IZ
Emacs,MOVET IZMENITX FAJL BEZ WEDOMA Emacs,^TO MOVET PRIWESTI K POTERE NEKOTORYH
REZULXTATOW WA[EGO REDAKTIROWANIQ.
9.4 pRQMOUGOLXNIKI
kOMANDY DLQ PRQMOUGOLXNIKOW [email protected] S PRQMOUGOLXNYMI OBLASTQMI TEKSTA:WSEMI
ZNAKAMI MEVDU OPREDELENNOJ PAROJ STOLBCOW W OPREDELENNOM DIAPAZONE STROK.|TI KO-
MANDY PREDNAZNA^ENY DLQ UNI^TOVENIQ PRQMOUGOLXNIKOW,WOSSTANOWLENIQ UNI^TOVENNYH
PRQMOUGOLXNIKOW,IH O^ISTKI,ZAPOLNENIQ PROBELAMI ILI TEKSTOM,ILI UDALENIQ.kOMAN-
DY DLQ PRQMOUGOLXNIKOW POLEZNY DLQ RABOTY S TEKSTOM W MNOGOKOLONO^NYH FORMATAH I
DLQ PRIWEDENIQ TEKSTA K TAKOMU FORMATU ILI IZWLE^ENIQ IZ NEGO.
kOGDA WAM NUVNO ZADATX PRQMOUGOLXNIK DLQ KOMANDY,KOTORAQ BUDET S NIM RABOTATX,
WY DELAETE\TO,USTANAWLIWAQ METKU W ODNOM UGLU I TO^KU W PROTIWOPOLOVNOM.pRQMO-
UGOLXNIK,OPISANNYJ TAKIM OBRAZOM,NAZYWAETSQ [email protected],TAK KAK WY
UPRAWLQETE IM PO^TI TAK VE,KAK I [email protected] POMNITE,^TO DANNAQ KOMBINACIQ ZNA^E-
NIJ TO^KI I METKI MOVET BYTX INTERPRETIROWANA I KAK OBLASTX,I KAK PRQMOUGOLXNIK W
ZAWISIMOSTI OT KOMANDY,KOTORAQ IH ISPOLXZUET.
eSLI TO^KA I METKA NAHODQTSQ NA ODNOM STOLBCE,TO PRQMOUGOLXNIK,KOTORYJ ONI OGRA-
NI^[email protected],PUST.eSLI ONI NAHODQTSQ NA ODNOJ STROKE,TO PRQMOUGOLXNIK IMEET WYSOTU W
ODNU STROKU.|TA NESIMMETRI^NOSTX MEVDU STROKAMI I STOLBCAMI PROISHODIT IZ TOGO,^TO
TO^KA (I METKA) RASPOLAGAETSQ MEVDU DWUH STOLBCOW,NO WNUTRI STROKI.
C-x r k uNI^TOVITX TEKST OBLASTI-PRQMOUGOLXNIKA,SOHRANQQ EGO SODERVIMOE W KA^E-
STWE\POSLEDNEGO UNI^TOVENNOGO PRQMOUGOLXNIKA"(kill-rectangle).
C-x r d uDALITX TEKST OBLASTI-PRQMOUGOLXNIKA (delete-rectangle).
gLAWA 9:uNI^TOVENIE I PEREME]ENIE TEKSTA 75C-x r y wOSSTANOWITX POSLEDNIJ UNI^TOVENNYJ PRQMOUGOLXNIK,POME]AQ EGO WERHNIJ
LEWYJ UGOL W TO^KE (yank-rectangle).
C-x r o wSTAWITX PUSTOE MESTO,ZAPOLNQQ PROSTRANSTWO OBLASTI-PRQMOUGOLXNIKA
(open-rectangle).pREDYDU]EE SODERVIMOE OBLASTI-PRQMOUGOLXNIKA
WYTALKIWAETSQ WPRAWO.
M-x clear-rectangle
o^ISTITX OBLASTX-PRQMOUGOLXNIK,ZAMENQQ EE SODERVIMOE PROBELAMI.
M-x delete-whitespace-rectangle
uDALITX PROBELXNYE ZNAKI W KAVDOJ STROKE ZADANNOGO PRQMOUGOLXNIKA,NA^I-
NAQ S EGO SAMOGO LEWOGO STOLBCA.
C-x r t STROKA
hRETi
wSTAWITX STROKU W [email protected] STROKU OBLASTI-PRQMOUGOLXNIKA (string-
rectangle).
oPERACII,[email protected]]IE S PRQMOUGOLXNIKAMI,DELQTSQ NA DWA KLASSA:KOMANDY UDALENIQ
I WSTAWKI PRQMOUGOLXNIKOW I KOMANDY DLQ PUSTYH PRQMOUGOLXNIKOW.
sU]ESTWUET DWA SPOSOBA IZBAWITXSQ OT TEKSTA W PRQMOUGOLXNIKE:WY MOVETE SBROSITX
(UDALITX) EGO ILI ZAPISATX EGO KAK\POSLEDNIJ UNI^TOVENNYJ"PRQMOUGOLXNIK.dLQ\TO-
GO [email protected] DWE KOMANDY C-x r d (delete-rectangle) I C-x r k (kill-rectangle).w
OBOIH SLU^AQH ^ASTX KAVDOJ STROKI,KOTORAQ POPALA WNUTRX GRANIC PRQMOUGOLXNIKA,UDA-
LQETSQ,ZASTAWLQQ [email protected]]IJ TEKST W STROKE (ESLI ON SU]ESTWUET) SDWIGATXSQ WLEWO.
zAMETXTE,^TO\UNI^TOVENIE"PRQMOUGOLXNIKA NE ESTX UNI^TOVENIE W OBY^NOM PONI-
MANII;\TOT PRQMOUGOLXNIK HRANITSQ NE W SPISKE UNI^TOVENIJ,A W SPECIALXNOM MESTE,
KOTOROE W SOSTOQNII ZAPISATX TOLXKO SAMOE POSLEDNEE UNI^TOVENIE PRQMOUGOLXNIKA.|TO
PROISHODIT IZ-ZA TOGO,^TO WOSSTANOWLENIE PRQMOUGOLXNIKA NASTOLXKO OTLI^AETSQ OT WOS-
STANOWLENIQ LINEJNOGO TEKSTA,^TO DLQ\TOGO DOLVNY ISPOLXZOWATXSQ DRUGIE KOMANDY WOS-
STANOWLENIQ,I W\TOM SLU^AE TRUDNO PRIPISATX SMYSL KOMANDE,[email protected]]EJ BOLEE RANNIE
UNI^TOVENIQ.
~TOBY WSTAWITX POSLEDNIJ UNI^TOVENNYJ PRQMOUGOLXNIK,NABERITE C-x r y (yank-
rectangle).wOSSTANOWLENIE PRQMOUGOLXNIKA |\TO PROTIWOPOLOVNOSTX UNI^TOVENIQ.
lEWYJ WERHNIJ UGOL ZADAETSQ POLOVENIEM TO^KI.tUDA POME]AETSQ PERWAQ STROKA PRQMO-
UGOLXNIKA,WTORAQ STROKA PRQMOUGOLXNIKA POME]AETSQ W POZICII TO^KI,NO STROKOJ NIVE,
I TAK DALEE.~ISLO ZATRONUTYH STROK OPREDELQETSQ WYSOTOJ ZAPISANNOGO PRQMOUGOLXNIKA.
wY MOVETE PREWRATITX SPISKI IZ ODNOJ KOLONKI W SPISKI IZ DWUH KOLONOK,ISPOLXZUQ
UNI^TOVENIE I WOSSTANOWLENIE PRQMOUGOLXNIKOW;UNI^TOVXTE [email protected] POLOWINU SPISKA KAK
PRQMOUGOLXNIK I ZATEM WOSSTANOWITE EGO RQDOM S PERWOJ STRO^KOJ SPISKA.sM.rAZDEL 30.9
[Two-Column],S.336,DRUGOJ SPOSOB REDAKTIROWATX DWUHKOLONO^NYJ TEKST.
pRQMOUGOLXNIKI TAKVE MOGUT BYTX SKOPIROWANY W REGISTRY I IZ REGISTROW S POMO][email protected]
C-x r r r I C-x r i r.sM.rAZDEL 10.3 [rEGISTRY DLQ PRQMOUGOLXNIKOW],S.78.
eSTX DWE KOMANDY DLQ RABOTY S PUSTYMI PRQMOUGOLXNIKAMI:M-x clear-rectangle,
^TOBY RASPISATX PROBELAMI SU][email protected]]IJ TEKST,I C-x r o (open-rectangle),^TOBY
WSTAWITX PUSTOJ PRQMOUGOLXNIK.o^ISTKA PRQMOUGOLXNIKA\KWIWALENTNA EGO [email protected]
S [email protected]]EJ WSTAWKOJ NA EGO MESTO PUSTOGO PRQMOUGOLXNIKA TAKOGO VE RAZMERA.
kOMANDA M-x delete-whitespace-rectangle UDALQET GORIZONTALXNOE PUSTOE PROSTRAN-
STWO,NA^INAQ S OPREDELENNOGO STOLBCA.|TO OTNOSITSQ K KAVDOJ STROKE W PRQMOUGOLXNIKE,
A STOLBEC ZADAETSQ LEWYM KRAEM PRQMOUGOLXNIKA.pRAWYJ KRAJ PRQMOUGOLXNIKA NE IMEET
ZNA^ENIQ DLQ\TOJ KOMANDY.
kOMANDA C-x r t (M-x string-rectangle) ZAME]AET PRQMOUGOLXNIK ZADANNOJ STROKOJ
(WSTAWLQQ EE ODIN RAZ W [email protected] STROKU).{IRINA STROKI NE OBQZANA SOWPADATX S [IRINOJ
PRQMOUGOLXNIKA.eSLI [IRINA STROKI MENX[E,TEKST POSLE PRQMOUGOLXNIKA SME]AETSQ
WLEWO;ESLI STROKA [IRE PRQMOUGOLXNIKA,TEKST POSLE NEGO SME]AETSQ WPRAWO.
76 rUKOWODSTWO PO GNU Emacs
gLAWA 10:rEGISTRY 7710 rEGISTRY
rEGISTRY Emacs |\TO MESTA,KUDA WY MOVETE ZAPISATX TEKST ILI POZICII DLQ DALX-
NEJ[EGO ISPOLXZOWANIQ.tEKST ILI PRQMOUGOLXNIK,ODNAVDY ZAPISANNYJ W REGISTR,MOVET
BYTX SKOPIROWAN W BUFER ODIN ILI NESKOLXKO RAZ;[email protected],[email protected] W REGISTR,MOVNO
ODIN ILI NESKOLXKO RAZ ISPOLXZOWATX DLQ PEREDWIVENIQ K NEJ TO^KI.
kAVDYJ REGISTR IMEET IMQ,SOSTOQ]EE IZ ODINO^NOGO ZNAKA.rEGISTR MOVET HRANITX
KUSOK TEKSTA,[email protected],PRQMOUGOLXNIK,[email protected] OKNA ILI IMQ FAJLA,NO TOLXKO ^TO-
TO ODNO IZ PERE^ISLENNOGO W KAVDYJ KONKRETNYJ MOMENT.wSQKIJ RAZ,KOGDA WY SOHRANQETE
^TO-TO W REGISTRE,ONO OSTAETSQ TAM DO TEH POR,POKA WY NE POMESTITE W\TOT REGISTR ^TO-TO
E]E.~TOBY UZNATX,^TO SODERVIT REGISTR r,ISPOLXZUJTE M-x view-register.
M-x view-register hRETi r
wYDATX OPISANIE TOGO,^TO SODERVIT REGISTR r.
10.1 zAPISX POZICIJ W REGISTRY
sOHRANENIE POZICII ZAPISYWAET MESTOPOLOVENIE W BUFERE,TAK ^TO WY MOVETE WERNUTX-
SQ TUDA POZVE.pERENOS W [email protected] [email protected] ZANOWO WYBIRAET BUFER I PEREDWIGAET TO^KU
W\TO MESTO.
C-x r h SPCi r
zAPISATX POLOVENIE TO^KI W REGISTR r (point-to-register).
C-x r j r pEREJTI W [email protected],[email protected] W REGISTRE r (jump-to-register).
~TOBY ZAPISATX TEKU]EE POLOVENIE TO^KI W REGISTR,WYBERITE IMQ r I NABERITE C-x r
h SPCi r.rEGISTR r SOHRANQET ZAPISANNOE TAKIM OBRAZOM POLOVENIE DO TEH POR,POKA WY NE
ZAPI[ETE W\TOT REGISTR ^TO-TO DRUGOE.
kOMANDA C-x j r PEREDWIGAET TO^KU W [email protected],[email protected] W REGISTRE r.rEGISTR NE
ZATRAGIWAETSQ,ON PRODOLVAET HRANITX TU VE [email protected] [email protected] MOVETE PEREJTI W ODNU
I TU VE [email protected],ISPOLXZUQ ODIN I TOT VE REGISTR,[email protected] ^ISLO RAZ.
eSLI WY ISPOLXZUETE C-x r j DLQ PEREHODA K ZAPISANNOJ POZICII,NO BUFER,W KOTOROM
ONA BYLA ZAPISANA,UVE UNI^TOVEN,C-x r j PYTAETSQ SNOWA SOZDATX BUFER,OBRA]AQSX K
TOMU VE FAJLU.kONE^NO,\TO RABOTAET TOLXKO DLQ BUFEROW,KOTORYE OBRA]ALISX K FAJLAM.
10.2 zAPISX TEKSTA W REGISTRY
eSLI WY ZAHOTITE WSTAWITX [email protected] ODNOGO I TOGO VE KUSKA TEKSTA NESKOLXKO RAZ,ISPOLX-
ZOWANIE SPISKA UNI^TOVENIJ MOVET OKAZATXSQ NEUDOBNYM,TAK KAK KAVDOE [email protected]]EE
UNI^TOVENIE SDWIGAET KUSOK TEKSTA WSE DALX[E WGLUBX SPISKA.aLXTERNATIWOJ\TOMU ME-
TODU QWLQETSQ SOHRANENIE TEKSTA W REGISTRE S [email protected]]IM EGO WOSSTANOWLENIEM.
C-x r s r kOPIROWATX OBLASTX W REGISTR r (copy-to-register).
C-x r i r wSTAWITX TEKST IZ REGISTRA r (insert-register).
C-x r s r ZAPISYWAET [email protected] TEKSTA OBLASTI W REGISTR S IMENEM r.zAPU]ENNAQ S ^ISLO-
WYM ARGUMENTOM,C-x r s r KROME TOGO UDALQET TEKST IZ BUFERA.
C-x r i r WSTAWLQET W BUFER TEKST IZ REGISTRA r.oBY^NO\TA KOMANDA OSTAWLQET TO^KU
PERED TEKSTOM,A METKU RASPOLAGAET POSLE NEGO,NO S ^ISLOWYM ARGUMENTOM (C-u),NAOBOROT,
TO^KU STAWIT POSLE TEKSTA,A METKU PERED NIM.
78 rUKOWODSTWO PO GNU Emacs10.3 zAPISX PRQMOUGOLXNIKOW W REGISTRY
rEGISTR MOVET SODERVATX WMESTO LINEJNOGO TEKSTA PRQMOUGOLXNIK.pRQMOUGOLXNIKI
[email protected] W WIDE SPISKA STROK.sM.rAZDEL 9.4 [pRQMOUGOLXNIKI],S.74,DLQ POLU^E-
NIQ OSNOWNOJ INFORMACII PO PRQMOUGOLXNIKAM I O TOM,KAK ONI [email protected] W BUFERE.
C-x r r r kOPIRUET OBLASTX-PRQMOUGOLXNIK W REGISTR r (copy-region-to-rectangle).s
^ISLOWYM ARGUMENTOM E]E I UDALQET EGO.
C-x r i r wSTAWLQET PRQMOUGOLXNIK,KOTORYJ ZAPISAN W REGISTRE r (ESLI TOT SODERVIT
PRQMOUGOLXNIK) (insert-register).
kOMANDA C-x r i r WSTAWLQET STROKU TEKSTA,ESLI REGISTR SODERVIT STROKU,I WSTAWLQET
PRQMOUGOLXNIK,ESLI REGISTR SODERVIT PRQMOUGOLXNIK.
sMOTRITE TAKVE KOMANDU sort-columns,[email protected] MOVNO RASSMATRIWATX KAK KOMANDU
SORTIROWKI PRQMOUGOLXNIKA.sM.rAZDEL 30.7 [sORTIROWKA],S.333.
10.4 zAPISX KONFIGURACII OKON W REGISTRY
wY MOVETE ZAPISATX W REGISTR [email protected] OKON W WYBRANNOM FREJME ILI DAVE KON-
[email protected] WSEH OKON WO WSEH FREJMAH I POZDNEE WOSSTANOWITX\TU [email protected]
C-x r w r zAPISATX SOSTOQNIE OKON WYBRANNOGO FREJMA W REGISTR r (window-
configuration-to-register).
C-x r f r zAPISATX SOSTOQNIE WSEH FREJMOW,[email protected]^AQ WSE IH OKNA,W REGISTR r (frame-
configuration-to-register).
iSPOLXZUJTE C-x r j r DLQ WOSSTANOWLENIQ KONFIGURACII OKON ILI FREJMOW.|TO TA VE
KOMANDA,^TO ISPOLXZUETSQ DLQ WOSSTANOWLENIQ POZICII KURSORA.kOGDA WY WOSSTANAWLIWA-
ETE [email protected] FREJMOW,WSE SU][email protected]]IE FREJMY,NE WHODQ]IE W\TU [email protected],
STANOWQTSQ NEWIDIMYMI.eSLI WY WMESTO\TOGO HOTITE UDALITX\TI FREJMY,ISPOLXZUJTE
C-u C-x r j r.
10.5 hRANENIE ^ISEL W REGISTRAH
sU][email protected] KOMANDY DLQ ZAPISI ^ISLA W REGISTR,WSTAWKI EGO W BUFER W DESQTI^NOM
WIDE I DLQ UWELI^ENIQ\TOGO ^ISLA.|TI KOMANDY MOGUT BYTX POLEZNY W MAKROSAH KLAWIA-
TURY (SM.rAZDEL 31.3 [mAKROSY KLAWIATURY],S.353).
C-u ^ISLO C-x r n REG
zAPISATX ^ISLO W REGISTR REG (number-to-register).
C-u ^ISLO C-x r + REG
uWELI^ITX ^ISLO W REGISTRE REG NA ZADANNOE ^ISLO (increment-register).
C-x r g REG
wSTAWITX ^ISLO IZ REGISTRA REG W BUFER.
C-x r g |\TO TA VE KOMANDA,^TO ISPOLXZUETSQ DLQ WSTAWKI W BUFER SODERVIMOGO
REGISTROW DRUGOGO TIPA.
gLAWA 10:rEGISTRY 7910.6 zAPISX IMEN FAJLOW W REGISTRY
eSLI WY ^ASTO OBRA]AETESX K OPREDELENNYM IMENAM FAJLOW,WAM BUDET UDOBNO POME-
STITX\TI IMENA W REGISTRY.wOT KOD NA lISPE,ISPOLXZUEMYJ DLQ ZAPISI IMENI FAJLA W
REGISTR:
(set-register?r'(file.IMQ))
nAPRIMER,
(set-register?z'(file."/gd/gnu/emacs/19.0/src/ChangeLog"))
POME]AET POKAZANNOE IMQ FAJLA W REGISTR`z'.
~TOBY OBRATITXSQ K FAJLU,^XE IMQ NAHODITSQ W REGISTRE r,NABERITE C-x r j r.(|TO
TA VE KOMANDA,^TO ISPOLXZUETSQ DLQ PEREHODA K ZAPISANNOJ POZICII ILI WOSSTANOWLENIQ
KONFIGURACII FREJMOW.)
10.7 zAKLADKI
zAKLADKI OT^ASTI POHOVI NA REGISTRY TEM,^TO ONI [email protected] POZICII,K KOTORYM
WY MOVETE PEREJTI.w OTLI^IE OT REGISTROW,ONI [email protected] DLINNYE IMENA I [email protected]
AWTOMATI^ESKI OT ODNOGO SEANSA Emacs DO DRUGOGO.{ABLONNOE PRIMENENIE ZAKLADOK |
ZAPISX MESTA\GDE WY ^ITALI"W RAZLI^NYH FAJLAH.
C-x r m
hRETi
zALOVITX ZAKLADKU W TEKU]EM FAJLE W POZICII TO^KI.
C-x r m ZAKLADKA
hRETi
zALOVITX W TO^KE ZAKLADKU S IMENEM ZAKLADKA (bookmark-set).
C-x r b ZAKLADKA
h RETi
pEREJTI K ZAKLADKE S IMENEM ZAKLADKA (bookmark-jump).
C-x r l pERE^ISLITX WSE ZAKLADKI (list-bookmarks).
M-x bookmark-save
sOHRANITX WSE TEKU]IE ZNA^ENIQ ZAKLADOK W FAJLE ZAKLADOK,ISPOLXZUEMOM PO
UMOL^[email protected]
kAK PRAWILO ZAKLADKI [email protected] DLQ ZAPISI ODNOJ TEKU]EJ POZICII W KAVDOM IZ
NESKOLXKIH FAJLOW.tAKIM OBRAZOM,KOMANDA C-x r m,[email protected]]AQ ZAKLADKU,PO UMOL-
^[email protected] ISPOLXZUET W KA^ESTWE IMENI ZAKLADKI IMQ FAJLA,K KOTOROMU WY OBRA]AETESX W
DANNYJ MOMENT.eSLI WY NAZYWAETE [email protected] ZAKLADKU PO IMENI FAJLA,NA KOTORYJ ONA
UKAZYWAET,TO SMOVETE UDOBNO POWTORNO OBRATITXSQ K [email protected] IZ\TIH FAJLOW S POMO][email protected]
C-x r b I W TO VE WREMQ PEREMESTITXSQ K POZICII ZAKLADKI.
~TOBY OTOBRAZITX SPISOK WSEH WA[IH ZAKLADOK W OTDELXNOM BUFERE,NABERITE C-x r l
(list-bookmarks).eSLI WY [email protected]^ITESX W\TOT BUFER,WY SMOVETE OTREDAKTIROWATX
OPREDELENIQ ZAKLADOK ILI DATX IM OPISANIQ.nABERITE W\TOM BUFERE C-h m DLQ POLU^ENIQ
BOLEE PODROBNYH SWEDENIJ O SPECIALXNYH KOMANDAH REDAKTIROWANIQ W NEM.
kOGDA WY UNI^TOVAETE Emacs,ON PREDLOVIT WAM SOHRANITX ZNA^ENIQ ZAKLADOK W WA-
[EM FAJLE ZAKLADOK PO UMOL^[email protected],`~/.emacs.bmk',ESLI WY IZMENQLI KAKIE-LIBO IZ\TIH
ZNA^ENIJ.wY TAKVE MOVETE SOHRANITX ZAKLADKI W [email protected] WREMQ S POMO][email protected] KOMANDY M-x
bookmark-save.kOMANDY,[email protected]]IE S ZAKLADKAMI,AWTOMATI^ESKI [email protected] WA[FAJL
ZAKLADOK PO UMOL^[email protected]\TIM SOHRANENIQM I ZAGRUZKAM ZAKLADKI PEREHODQT OT
ODNOGO SEANSA Emacs K DRUGOMU.
eSLI WY USTANOWITE [email protected] bookmark-save-flag W ZNA^ENIE 1,TO KAVDAQ KOMANDA,
[email protected]]AQ ZAKLADKU,TAKVE BUDET ZAPISYWATX WA[I ZAKLADKI;PRI\TOM WY NE POTE-
RQETE ZNA^ENIQ ZAKLADOK,DAVE ESLI Emacs OSTANAWLIWAETSQ AWARIJNO.(|TO ZNA^ENIE,ESLI
ONO QWLQETSQ ^ISLOM,GOWORIT,SKOLXKO IZMENENIJ ZAKLADOK PROHODIT MEVDU SOHRANENIQMI.)
80 rUKOWODSTWO PO GNU EmacszNA^ENIQ POZICIJ W ZAKLADKAH [email protected] WMESTE S [email protected]]IM KONTEKSTOM,TAK ^TO
bookmark-jump MOVET NAJTI [email protected] [email protected],DAVE ESLI FAJL BYL SLEGKA IZMENEN.
pEREMENNAQ bookmark-search-size GOWORIT,SKOLXKO ZNAKOW KONTEKSTA PO OBE STORONY OT
POZICII ZAKLADKI NUVNO ZAPISYWATX.
wOT NESKOLXKO DOPOLNITELXNYH KOMAND DLQ RABOTY S ZAKLADKAMI:
M-x bookmark-load
hRETi IMQ-FAJLA hRETi
zAGRUZITX FAJL S IMENEM IMQ-FAJLA,SODERVA]IJ SPISOK ZNA^ENIJ ZAKLADOK.
wY MOVETE ISPOLXZOWATX\TU KOMANDU,KAK I KOMANDU bookmark-write,DLQ
RABOTY S DRUGIMI FAJLAMI ZAKLADOK POMIMO WA[EGO FAJLA ZAKLADOK PO UMOL-
^[email protected]
M-x bookmark-write h RETi IMQ-FAJLA hRETi
sOHRANITX WSE TEKU]IE ZNA^ENIQ ZAKLADOK W FAJLE IMQ-FAJLA.
M-x bookmark-delete h RETi ZAKLADKA hRETi
uDALITX ZAKLADKU S IMENEM ZAKLADKA.
M-x bookmark-insert-location h RETi ZAKLADKA hRETi
wSTAWITX W BUFER IMQ FAJLA,NA KOTORYJ UKAZYWAET ZAKLADKA ZAKLADKA.
M-x bookmark-insert h RETi ZAKLADKA hRETi
wSTAWITX W BUFER SODERVIMOE FAJLA,NA KOTORYJ UKAZYWAET ZAKLADKA ZAKLAD-
KA.
gLAWA 11:uPRAWLENIE IZOBRAVENIEM 8111 uPRAWLENIE IZOBRAVENIEM
tAK KAK W OKNE POME]AETSQ TOLXKO ^ASTX BOLX[OGO BUFERA,Emacs STARAETSQ POKAZYWATX
TU ^ASTX,KOTORAQ MOVET BYTX INTERESNA.kOMANDY UPRAWLENIQ IZOBRAVENIEM [email protected]
WAM UKAZATX,KAKOJ IMENNO FRAGMENT TEKSTA WY HOTITE WIDETX,I KAK EGO OTOBRAVATX.
11.1 pROKRUTKA
eSLI BUFER SODERVIT TEKST,KOTORYJ NE UME]AETSQ W PREDELAH OKNA,[email protected]]EGO
\TOT BUFER,TO Emacs POKAZYWAET [email protected] [email protected] ^ASTX\TOGO TEKSTA.pOKAZANNYJ
RAZDEL WSEGDA SODERVIT TO^KU.
pROKRUTKA OZNA^AET PEREDWIVENIE TEKSTA WWERH ILI WNIZ W OKNE TAK,^TO STANOWQTSQ
WIDIMYMI RAZLI^NYE EGO ^ASTI.pROKRUTKA WPERED OZNA^AET,^TO TEKST DWIGAETSQ WWERH,
A NOWYJ TEKST POQWLQETSQ SNIZU.pROKRUTKA NAZAD DWIGAET TEKST WNIZ,A NOWYJ TEKST
POQWLQETSQ SWERHU.
pROKRUTKA PROISHODIT AWTOMATI^ESKI,ESLI WY SDWIGAETE TO^KU ZA [email protected]@ ILI NIV-
[email protected]@ GRANICU OKNA.wY MOVETE TAKVE QWNO ZATREBOWATX PROKRUTKU PRI POMO]I KOMAND IZ
\TOGO RAZDELA.
C-l o^ISTITX\KRAN I WOSSTANOWITX IZOBRAVENIE,SDWIGAQ PO WERTIKALI WYBRANNOE
OKNO K CENTRALXNOJ TO^KE W PREDELAH OKNA (recenter).
C-v
hNEXTi pROKRUTITX WPERED (NA ODNO OKNO ILI NA OPREDELENNOE ^ISLO STROK) (scroll-
up).
M-v
h PRIORi pROKRUTITX NAZAD (scroll-down).
ARG C-l pROKRUTITX TAKIM OBRAZOM,^TO TO^KA OKAZYWAETSQ NA STROKE ARG (recenter).
C-M-l pROKRUTITX\WRISTI^ESKI,^TOBY WYWESTI NA\KRAN [email protected] [email protected]
(reposition-window).
oSNOWNOJ KOMANDOJ PROKRUTKI QWLQETSQ C-l (recenter) BEZ ARGUMENTA.oNA [email protected]
O^I]AET\KRAN I WOSSTANAWLIWAET IZOBRAVENIE WO WSEH OKNAH.kROME TOGO,ONA PROKRU^I-
WAET WYBRANNOE OKNO TAKIM OBRAZOM,^TO TO^KA RASPOLAGAETSQ POSEREDINE OT NA^ALA OKNA.
kOMANDY PROKRUTKI C-v I M-v [email protected] WAM DWIGATX WESX TEKST W OKNE WWERH ILI WNIZ
NA NESKOLXKO STROK.C-v (scroll-up) S ARGUMENTOM POKAZYWAET WAM ZADANNOE KOLI^ESTWO
STROK,NAHODQ]IHSQ ZA NIVNEJ GRANICEJ OKNA,SDWIGAQ TEKST I TO^KU WWERH WMESTE,KAK C-l.
C-v S OTRICATELXNYM ARGUMENTOM POKAZYWAET WAM BOLX[E STROK,NAHODQ]IHSQ ZA WERHNEJ
GRANICEJ OKNA.M-v (scroll-down) PODOBNA C-v,NO DWIGAET W OBRATNOM NAPRAWLENII.fUNK-
CIONALXNYE KLAWI[I hNEXTi I hPRIORi\KWIWALENTNY C-v I M-v.
iMENA KOMAND PROKRUTKI OSNOWANY NA NAPRAWLENII,W KOTOROM DWIVETSQ TEKST W OKNE.
tAKIM OBRAZOM,KOMANDA PROKRUTKI WPERED NAZYWAETSQ scroll-up,POTOMU ^TO ONA PEREME-
]AET TEKST WWERH PO\KRANU.
~TOBY PRO^ITATX BUFER PO CELOMU OKNU,ISPOLXZUJTE C-v BEZ ARGUMENTA.|TA KOMANDA
BERET POSLEDNIE DWE STROKI,NAHODQ]IESQ WNIZU OKNA,I STAWIT IH W NA^ALO,I ZA NIMI DALEE
SLEDUET PO^TI WSE OKNO STROK,NEWIDIMYH RANEE.eSLI TO^KA NAHODILASX W TEKSTE,U[ED-
[EM ZA WERHNIJ KRAJ OKNA,TO ONA PEREDWIGAETSQ W [email protected] WER[INU OKNA.M-v BEZ ARGUMENTA
DWIGAET TEKST W OBRATNOM NAPRAWLENII S ANALOGI^NYM PEREKRYWANIEM.kOLI^ESTWO PERE-
[email protected]]IHSQ STROK PRI C-v ILI M-v UPRAWLQETSQ PEREMENNOJ next-screen-context-line,
PO UMOL^[email protected] ONO RAWNO DWUM.
nEKOTORYM POLXZOWATELQM NRAWITSQ,KOGDA KOMANDY PROKRUTKI WSEGO OKNA [email protected]
TO^KU NA ODNOJ STROKE\KRANA.~TOBY [email protected]^ITX TAKOE POWEDENIE,USTANOWITE [email protected]
82 rUKOWODSTWO PO GNU Emacsscroll-preserve-screen-position NE RAWNOJ nil.tAKOJ REVIM UDOBEN DLQ PROSMOTRA
FAJLOW PUTEM PROKRUTKI PO CELOMU\KRANU;ESLI WY WERNETESX NA\KRAN,S KOTOROGO NA^ALI,
TO^KA WERNETSQ NA NA^[email protected] STROKU.oDNAKO,\TOT REVIM NEUDOBEN,KOGDA WY PEREME]AE-
TESX NA [email protected]]IJ\KRAN,^TOBY PEREDWINUTX TUDA TO^KU.
dRUGOJ SPOSOB WYPOLNITX PROKRUTKU |ISPOLXZOWATX KOMANDU C-l S ^ISLOWYM ARGUMEN-
TOM.C-l S ZADANNYM ARGUMENTOM NE O^I]AET\KRAN,ONA TOLXKO PROKRU^IWAET WYBRANNOE
OKNO.s POLOVITELXNYM ARGUMENTOM n ONA PEREME]AET TEKST TAK,^TOBY USTANOWITX TO^KU
NA n STROK WNIZ OT WER[INY.aRGUMENT,RAWNYJ [email protected],USTANAWLIWAET TO^KU NA [email protected]
[email protected]@ STROKU.tO^KA NE DWIGAETSQ PO OTNO[[email protected] K TEKSTU;SKOREE,TEKST I TO^KA DWIGA-
@TSQ NA\KRANE VESTKO SWQZANNYE WMESTE.C-l S OTRICATELXNYM ARGUMENTOM USTANAWLIWAET
TO^KU NA ZADANNOE ^ISLO STROK WY[E OT KONCA OKNA.nAPRIMER,C-u - 1 C-l USTANAWLIWAET
TO^KU NA NIVNEJ STROKE,A C-u - 5 C-l USTANAWLIWAET EE NA PQTX STROK WY[E KONCA OKNA.
pROSTO C-u W KA^ESTWE ARGUMENTA W C-u C-l PROKRU^IWAET TO^KU K CENTRU\KRANA.
kOMANDA C-M-l (reposition-window) PROKRU^IWAET TEKU]EE OKNO\WRISTI^ESKI,TAK,
^TOBY WYWESTI NA\KRAN [email protected] [email protected],W FAJLE S PROGRAMMOJ NA
lISPE\TA KOMANDA PYTAETSQ RAZMESTITX NA\KRANE WSE TEKU]EE OPREDELENIE FUNKCII,ESLI
\TO WOZMOVNO.
pROKRUTKA PROISHODIT AWTOMATI^ESKI,ESLI WO WREMQ PROSMOTRA TEKSTA TO^KA U[LA
IZ WIDIMOJ EGO ^ASTI.oBY^NO AWTOMATI^ESKAQ PROKRUTKA CENTRIRUET TO^KU W OKNE PO
WERTIKALI.oDNAKO,ESLI WY USTANOWITE [email protected] scroll-conservatively RAWNOJ MA-
LENXKOMU ^ISLU n,TOGDA ESLI WY SDWINETE TO^KU ZA\KRAN LI[X NEMNOGO | MENX[E,^EM
NA n STROK,| Emacs PROKRUTIT TEKST ROWNO NA STOLXKO,^TOBY WERNUTX TO^KU NA\KRAN.
pO UMOL^[email protected] ZNA^ENIE scroll-conservatively RAWNO [email protected]
pEREMENNAQ scroll-margin OPREDELQET,NASKOLXKO BLIZKO MOVET PODOJTI TO^KA K WER-
[INE ILI K NIZU OKNA.eE ZNA^ENIE |\TO ^ISLO\KRANNYH STROK;ESLI TO^KA PODHODIT NA
ZADANNOE ^ISLO STROK K WER[INE ILI K NIZU OKNA,Emacs ZANOWO CENTRIRUET\TO OKNO.pO
UMOL^[email protected] scroll-margin RAWNA 0.
11.2 gORIZONTALXNAQ PROKRUTKA
gORIZONTALXNAQ PROKRUTKA |\TO SDWIG WSEH STROK W OKNE W STORONU,TAK ^TO NEKOTORYJ
TEKST OKOLO LEWOGO KRAQ STANOWITSQ NE WIDEN SOWSEM.
C-x < pROKRU^IWAET TEKST TEKU]EGO OKNA WLEWO (scroll-left).
C-x > pROKRU^IWAET WPRAWO (scroll-right).
kOGDA OKNO PROKRU^IWAETSQ PO GORIZONTALI,STROKI TEKSTA STANOWQTSQ USE^ENNYMI,A
NE PRODOLVENNYMI.(SM.rAZDEL 4.8 [sTROKI PRODOLVENIQ],S.40);ZNAK`$'POQWLQETSQ W
PERWOM STOLBCE,ESLI ESTX TEKST,USE^ENNYJ SLEWA,I W POSLEDNEM STOLBCE,ESLI SU]ESTWUET
TEKST,USE^ENNYJ SPRAWA.
kOMANDA C-x < (scroll-left) S ARGUMENTOM n PROKRU^IWAET WYBRANNOE OKNO WLEWO NA
n STOLBCOW.oNA PEREME]AET ^ASTX NA^ALA KAVDOJ STROKI ZA LEWYJ KRAJ OKNA.bEZ AR-
GUMENTA,ONA PROKRU^IWAET PO^TI NA [email protected] [IRINU OKNA (BEZ DWUH STOLBCOW,ESLI BYTX
TO^NYM).
C-x > (scroll-right) PROKRU^IWAET ANALOGI^NO,NO TOLXKO WPRAWO.oKNO NE MOVET BYTX
PROKRU^ENO DALX[E WPRAWO,ESLI ONO OTOBRAVENO NORMALXNO (KAVDAQ STROKA NA^INAETSQ S
LEWOGO KRAQ OKNA).pOPYTKA SDELATX\TO NE BUDET IMETX REZULXTATA.|TO ZNA^IT,^TO
WY NE OBQZANY TO^NO WY^ISLQTX ARGUMENT DLQ C-x >;[email protected] DOSTATO^NOE BOLX[OE ^ISLO
WOSSTANOWIT NORMALXNOE IZOBRAVENIE.
wY MOVETE POTREBOWATX AWTOMATI^ESKOJ GORIZONTALXNOJ PROKRUTKI,[email protected]^IW REVIM
Hscroll.kOGDA\TOT REVIM ZADEJSTWOWAN,Emacs GORIZONTALXNO PROKRU^IWAET OKNO WSQKIJ
RAZ,KOGDA\TO NEOBHODIMO DLQ SOHRANENIQ TO^KI WIDIMOJ I RASPOLOVENNOJ NE SLI[KOM
gLAWA 11:uPRAWLENIE IZOBRAVENIEM 83DALEKO OT LEWOGO ILI PRAWOGO KRAQ.kOMANDA DLQ [email protected]^ENIQ I [email protected]^ENIQ\TOGO REVIMA
|M-x hscroll-mode.
11.3 rEVIM Follow
rEVIM Follow |\TO WTOROSTEPENNYJ REVIM,KOTORYJ DELAET TAK,^TO DWA OKNA,POKA-
[email protected]]IE ODIN I TOT VE BUFER,PROKRU^[email protected] KAK ODNO BOLX[OE\WIRTUALXNOE OKNO".
~TOBY ISPOLXZOWATX REVIM Follow,PEREJDITE WO FREJM S ODNIM OKNOM,RAZBEJTE EGO NA
DWA [email protected]]IH OKNA S POMO][email protected] C-x 3 I ZATEM NAPE^ATAJTE M-x follow-mode.tEPERX
WY MOVETE REDAKTIROWATX BUFER W [email protected] IZ DWUH OKON ILI PROKRU^IWATX [email protected] IZ NIH;
WTOROE OKNO BUDET SLEDOWATX IZMENENIQM.
~TOBY [email protected]^ITX REVIM Follow,NAPE^ATAJTE M-x follow-mode WTOROJ RAZ.
11.4 wYBORO^NYJ POKAZ
Emacs OBLADAET [email protected] PRQTATX STROKI,SME]ENNYE WPRAWO BOLX[E ^EM NA OPRE-
DELENNOE KOLI^ESTWO STOLBCOW (WY SAMI ZADAETE IH ^ISLO).wY MOVETE ISPOLXZOWATX\TO
DLQ POLU^ENIQ OBZORA ^ASTI PROGRAMMY.
~TOBY SPRQTATX STROKI,NABERITE C-x $ (set-selective-display) S ^ISLOWYM ARGUMEN-
TOM n.pOSLE\TOGO STROKI,[email protected]]IE PO KRAJNEJ MERE n STOLBCOW OTSTUPA,PROPADUT S
\KRANA.pOKAZATELEM IH SU]ESTWOWANIQ [email protected] TOLXKO TRI TO^KI (`...'),[email protected]]IESQ
W KONCE KAVDOJ WIDIMOJ STROKI,ZA KOTOROJ SLEDUET ODNA ILI BOLEE NEWIDIMYH.
kOMANDY C-n I C-p PEREME][email protected] SKWOZX SPRQTANNYE STROKI,KAK ESLI BY IH NE BYLO.
sPRQTANNYE STROKI PO-PREVNEMU [email protected] W BUFERE,I BOLX[INSTWO KOMAND REDAK-
TIROWANIQ WIDQT IH KAK OBY^NYE,TAK ^TO MOVNO USTANOWITX TO^KU POSEREDINE SPRQTAN-
NOGO TEKSTA.kOGDA\TO PROISHODIT,KURSOR POQWLQETSQ W KONCE PREDYDU]EJ STROKI POSLE
TREH TO^EK.eSLI TO^KA NAHODITSQ W KONCE WIDIMOJ STROKI PERED ZAWER[A]IM EE ZNAKOM
PEREWODA STROKI,KURSOR POQWLQETSQ PERED TREMQ TO^KAMI.
~TOBY SDELATX WS< WIDIMYM SNOWA,NABERITE C-x $ BEZ ARGUMENTA.
eSLI WY USTANOWITE [email protected] selective-display-ellipses RAWNOJ nil,TO TRI TO^-
KI NE BUDUT POQWLQTXSQ W KONCE STROKI,KOTORAQ PRED[ESTWUET SPRQTANNYM STROKAM.tO-
GDA NE BUDET NIKAKOGO WIDIMOGO UKAZANIQ NA NALI^IE SKRYTYH STROK.|TA PEREMENNAQ PRI
USTANOWKE AWTOMATI^ESKI STANOWITSQ LOKALXNOJ.
11.5 dOPOLNITELXNYE WOZMOVNOSTI STROKI REVIMA
kOGDA [email protected]^EN REVIM Line Number,W STROKE REVIMA POQWLQETSQ NOMER TEKU]EJ STRO-
KI,GDE NAHODITSQ TO^KA.iSPOLXZUJTE DLQ [email protected]^ENIQ\TOGO REVIMA KOMANDU M-x
line-number-mode;OBY^NO ON [email protected]^EN.nOMER STROKI POQWLQETSQ PERED POZ,POZICIEJ
W PROCENTAH OT OB_EMA BUFERA,S BUKWOJ`L'DLQ UKAZANIQ NA TO,^TO\TO TAKOE.sM.rAZ-
DEL 31.1 [wTOROSTEPENNYE REVIMY],S.341,DLQ DALXNEJ[EJ INFORMACII O WTOROSTEPENNYH
REVIMAH I O TOM,KAK PRIMENQTX\TU KOMANDU.
eSLI BUFER O^ENX BOLX[OJ (BOLX[E,^EM ZNA^ENIE PEREMENNOJ line-number-display-
limit),TO NOMER STROKI NE WYWODITSQ.Emacs NE PODS^ITYWAET NOMERA STROK,ESLI BUFER
WELIK,POTOMU ^TO\TO BYLO BY SLI[KOM MEDLENNO.eSLI WY SUZILI BUFER (SM.rAZDEL 30.8
[sUVENIE],S.335 ),OTOBRAVAEMYJ NOMER STROKI OT^ITYWAETSQ OTNOSITELXNO DOSTUPNOJ
^ASTI BUFERA.
wY TAKVE MOVETE POKAZATX NOMER TEKU]EGO STOLBCA,[email protected]^IW REVIM Column Number.
oN OTOBRAVAET NOMER TEKU]EGO STOLBCA POSLE BUKWY`C'.dLQ [email protected]^ENIQ\TOGO REVIMA
NAPE^ATAJTE M-x column-number-mode.
84 rUKOWODSTWO PO GNU EmacsEmacs MOVET POKAZYWATX WREMQ I ZAGRUZKU SISTEMY WO WSEH STROKAH REVIMA.~TOBY ZA-
DEJSTWOWATX\TU WOZMOVNOSTX,NAPE^ATAJTE M-x display-time.|TI SWEDENIQ,DOBAWLQEMYE
K STROKE REVIMA,OBY^NO [email protected] POSLE IMENI BUFERA PERED IMENAMI REVIMOW.|TO
WYGLQDIT TAK:
^^:MMpm Z.ZZ
zDESX ^^ I MM OBOZNA^[email protected] ^ASY I MINUTY,ZA KOTORYMI WSEGDA [email protected]`am'ILI`pm'.Z.ZZ
|\TO SREDNEE ^ISLO PROCESSOW,ZAPU]ENNYH WO WSEJ SISTEME.(nEKOTORYE POLQ MOGUT BYTX
PROPU]ENY,ESLI WA[A OPERACIONNAQ SISTEMA NE PODDERVIWAET IH.) eSLI WY PREDPO^ITAETE
WIDETX WREMQ W DWADCATI^ETYREH^ASOWOM FORMATE,USTANOWITE [email protected] display-time-
24hr-format W ZNA^ENIE t.
eSLI DLQ WAS ESTX PO^TA,[email protected] WY E]E NE ^ITALI,POSLE UROWNQ ZAGRUZKI POQWLQETSQ
SLOWO`Mail'.
11.6 kAK OTOBRAVAETSQ TEKST
pE^ATNYE ZNAKI ASCII (S WOSXMIRI^NYMI KODAMI OT 040 DO 0176) [email protected] W BU-
FERAH Emacs KAK IH SOBSTWENNYE GRAFI^ESKIE PREDSTAWLENIQ.tO VE I DLQ MNOGOBAJTNYH
PE^ATNYH ZNAKOW,NE WHODQ]IH W ASCII (S WOSXMIRI^NYMI KODAMI WY[E 0400).
nEKOTORYE [email protected]]IE ZNAKI ASCII [email protected] OSOBYM OBRAZOM.zNAK NOWOJ STRO-
KI (WOSXMIRI^NYJ KOD 012) OTOBRAVAETSQ KAK NA^ALO NOWOJ STROKI.zNAK TABULQCII (WOSX-
MIRI^NYJ KOD 011) POKAZYWAETSQ PRODWIVENIEM DO [email protected]]EJ POZICII TABULQCII (OBY^NO
^EREZ KAVDYE 8 STOLBCOW).
dRUGIE [email protected]]IE ZNAKI ASCII OBY^NO OTOBRAVAETSQ KAK [APO^KA (`^'),ZA KOTOROJ
SLEDUET [email protected]]AQ WERSIQ ZNAKA;TAKIM OBRAZOM,control-A POKAZYWAETSQ KAK`^A'.
nE-ASCII-ZNAKI OT 0200 DO 0377 [email protected] S POMO][email protected] WOSXMIRI^NYH [email protected]]IH
POSLEDOWATELXNOSTEJ;NAPRIMER,ZNAK S KODOM 0243 (WOSXMIRI^NYM) WYWODITSQ KAK`\243'.
oDNAKO,ESLI WY [email protected]^ITE OTOBRAVENIE EWROPEJSKIH ALFAWITOW,TO BOLX[INSTWO\TIH
ZNAKOW STANUT PE^ATNYMI NE-ASCII-ZNAKAMI I BUDUT OTOBRAVATXSQ S ISPOLXZOWANIEM IH
GRAFI^ESKIH PREDSTAWLENIJ (W PREDPOLOVENII,^TO WA[ TERMINAL PODDERVIWAET\TO).sM.rAZDEL 18.12 [oDNOBAJTNYE EWROPEJSKIE ZNAKI],S.172.
11.7 pEREMENNYE UPRAWLENIQ IZOBRAVENIEM
|TOT RAZDEL SODERVIT [email protected] TOLXKO DLQ NASTROJKI.nA^[email protected]]IM POLXZOWATELQM
STOIT EGO PROPUSTITX.
pEREMENNAQ mode-line-inverse-video UPRAWLQET TEM,OTRAVAETSQ LI STROKA REVIMA W
INWERSNOM WIDE (W PREDPOLOVENII,^TO TERMINAL PODDERVIWAET\TO);nil ZNA^IT,^TO\TO
NE DELAETSQ.sM.rAZDEL 1.3 [sTROKA REVIMA],S.25.eSLI WY ZADADITE CWET [RIFTA DLQ
NA^ERTANIQ modeline,I mode-line-inverse-video NE RAWNA nil,TO PO UMOL^[email protected] CWETOM
FONA DLQ\TOGO NA^ERTANIQ BUDET CWET PROSTOGO TEKSTA.sM.rAZDEL 17.13 [nA^ERTANIQ],
S.155.
eSLI PEREMENNAQ inverse-video NE RAWNA nil,Emacs PYTAETSQ INWERTIROWATX WSE STRO-
KI DISPLEQ IZ IH OBY^NOGO SOSTOQNIQ.
eSLI PEREMENNAQ visible-bell NE nil,Emacs PYTAETSQ MERCATX\KRANOM,KOGDA OBY^NO
ON PODAET ZWUKOWOJ SIGNAL.|TA PEREMENNAQ NE DEJSTWUET,ESLI WA[ TERMINAL NE UMEET
MERCATX\KRANOM.
kOGDA WY SNOWA WHODITE W Emacs POSLE PRERYWANIQ,Emacs OBY^NO O^I]AET\KRAN I
PERERISOWYWAET WSE IZOBRAVENIE.nA NEKOTORYH TERMINALAH,[email protected]]IH BOLEE ODNOJ STRA-
NICY PAMQTI,MOVNO SDELATX [email protected] ZAPISX termcap,^TOBY STROKI`ti'I`te'(WYWODIMYE
TERMINALU,KOGDA W Emacs WHODQT I WYHODQT,SOOTWETSTWENNO) [email protected]^ALI STRANICY PA-
MQTI TAK,^TOBY ISPOLXZOWATX ODNU DLQ Emacs,A [email protected] DLQ DRUGOGO WYWODA.zATEM,WY
gLAWA 11:uPRAWLENIE IZOBRAVENIEM 85MOVETE PO [email protected] USTANOWITX [email protected] no-redraw-on-reenter NE RAWNOJ nil;\TO WE-
LIT Emacs PREDPOLAGATX,^TO STRANICA\KRANA POSLE POWTORNOGO WHODA WSE E]E SODERVIT
TO,^TO Emacs TUDA ZAPISAL W POSLEDNIJ RAZ.
pEREMENNAQ echo-keystrokes UPRAWLQET OTRAVENIEM MNOGOZNAKOWYH [email protected]^EJ.zNA^ENIE
\TOJ PEREMENNOJ |\TO WYRAVENNAQ W SEKUNDAH DLINA PAUZY,TREBUEMOJ DLQ WYZOWA\HO;
ESLI ONO RAWNO [email protected],\TO ZNA^IT,^TO\HO NE BUDET.sM.rAZDEL 1.2 [|HO-OBLASTX],S.24.
eSLI PEREMENNAQ ctl-arrow RAWNA nil,TO [email protected]]IE ZNAK BUDUT POKAZANY W BUFERE
S POMO][email protected] WOSXMIRI^NYH [email protected]]IH POSLEDOWATELXNOSTEJ,WSE,KROME OGRANI^ITELQ
NOWOJ STROKI I TABULQCII.iZMENENIE ZNA^ENIQ PEREMENNOJ ctl-arrow DELAET EE LOKALXNOJ
DLQ TEKU]EGO BUFERA,DO\TOGO VE MOMENTA DEJSTWUET ZNA^ENIE PO UMOL^[email protected]^ENIE
PO UMOL^[email protected] RAWNO t.sM.RAZDEL\Display Tables"W The Emacs Lisp Reference Manual.
oBY^NO ZNAK TABULQCII POKAZYWAETSQ W BUFERE KAK PROBEL,KOTORYJ PROSTIRAETSQ DO
[email protected]]EJ POZICII TABULQCII DISPLEQ;OSTANOWKI PO TABULQCII PROISHODQT ^EREZ IN-
TERWAL,RAWNYJ WOSXMI PROBELAM.~ISLO PROBELOW W TABULQCII UPRAWLQETSQ PEREMENNOJ
tab-width,KOTORAQ STANOWITSQ LOKALXNOJ PRI EE IZMENENII,TAK VE,KAK I ctl-arrow.
oTMETIM,^TO SPOSOB OTOBRAVENIQ SIMWOLA TABULQCII W BUFERE NIKAK NE WLIQET NA OPRE-
DELENIE
h TABi,KAK KOMANDY.pEREMENNAQ tab-width DOLVNA IMETX ZNA^ENIE MEVDU 1 I
1000,[email protected]^ITELXNO.
eSLI PEREMENNAQ truncate-lines NE RAWNA nil,TO KAVDAQ STROKA TEKSTA ZANIMAET ROWNO
ODNU STROKU NA\KRANE;ESLI STROKA TEKSTA SLI[KOM DLINNA,POKAZYWAETSQ TOLXKO UME]A-
@]AQSQ ^ASTX.eSLI truncate-lines RAWNA nil,TO DLINNYE STROKI TEKSTA OTOBRAVA[email protected]
KAK NESKOLXKO STROK NA\KRANE,STOLXKO,SKOLXKO NUVNO,^TOBY POKAZATX WESX TEKST STROKI.
sM.rAZDEL 4.8 [sTROKI PRODOLVENIQ],S.40.iZMENENIE ZNA^ENIQ truncate-lines DELAET
EE LOKALXNOJ DLQ TEKU]EGO BUFERA;DO\TOGO MOMENTA DEJSTWUET ZNA^ENIE PO UMOL^[email protected]
|TO ZNA^ENIE PO UMOL^[email protected] IZNA^ALXNO RAWNO nil.
eSLI PEREMENNAQ truncate-partial-width-windows NE RAWNA nil,ONA PRINUVDAET USE-
^ENIE DLINNYH STROK WMESTO IH PRODOLVENIQ W [email protected] OKNE UVE POLNOJ [IRINY FREJMA,
NESMOTRQ NA ZNA^ENIE PEREMENNOJ truncate-lines.dLQ POLU^ENIQ INFORMACII O PRIMY-
[email protected]]IH OKNAH,SMOTRITE rAZDEL 16.2 [rAZDELENIE OKON],S.142.sMOTRITE TAKVERAZDEL
\Display"W The Emacs Lisp Reference Manual.
pEREMENNAQ baud-rate SODERVIT SKOROSTX WYWODA TERMINALA,NASKOLXKO EE ZNAET Emacs.
uSTANOWKA\TOJ PEREMENNOJ NE MENQET [email protected] SKOROSTX PEREDA^I DANNYH,NO EE
ZNA^ENIE ISPOLXZUETSQ DLQ WY^ISLENIJ,NAPRIMER,NAPOLNENIQ.oNA TAKVE WLIQET NA PRI-
NQTIE RE[ENIQ O TOM,NUVNO LI PROKRU^IWATX ^ASTX\KRANA ILI PERERISOWYWATX EE |DAVE
PRI ISPOLXZOWANII OKONNOJ SISTEMY.(mY SDELALI TAK,NESMOTRQ NA TO,^TO OKONNAQ SISTE-
MA NE IMEET DEJSTWITELXNOJ\SKOROSTI WYWODA",^TOBY DATX WAM WOZMOVNOSTX NASTROITX
\TI PARAMETRY.)
wY MOVETE NASTROITX SPOSOB WYWODA KAVDOGO KONKRETNOGO ZNAKA S POMO][email protected] TABLICY
OTOBRAVENIQ.sM.RAZDEL\Display Tables"W The Emacs Lisp Reference Manual.
86 rUKOWODSTWO PO GNU Emacs
gLAWA 12:pOISK I ZAMENA 8712 pOISK I ZAMENA
kAK I W DRUGIH REDAKTORAH,W Emacs ESTX KOMANDY DLQ POISKA SLU^AEW POQWLENIQ KAKOJ-
NIBUDX STROKI.oSNOWNAQ KOMANDA POISKA NEOBY^NA TEM,^TO ONA QWLQETSQ NARA]IWAEMOJ;
ONA NA^INAET POISK DO TOGO,KAK WY ZAKON^ILI NABOR STROKI POISKA.sU][email protected] TAKVE
KOMANDY I DLQ NENARA]IWAEMOGO POISKA,BOLEE POHOVIE NA ANALOGI^NYE KOMANDY W DRUGIH
REDAKTORAH.
kROME OBY^NOJ KOMANDY replace-string,KOTORAQ NAHODIT WSE SLU^AI POQWLENIQ ODNOJ
STROKI I ZAMENQET IH DRUGOJ,Emacs IMEET BOLEE [email protected] KOMANDU ZAMENY,[email protected]
query-replace,KOTORAQ ZAPRA[IWAET W INTERAKTIWNOM REVIME,W KAKIH SLU^AQH NADO PRO-
IZWESTI ZAMENU.
12.1 nARA]IWAEMYJ POISK
nARA]IWAEMYJ POISK NA^INAETSQ,KAK TOLXKO WY NABRALI PERWYJ ZNAK STROKI POISKA.
pO MERE TOGO,KAK WY NABIRAETE STROKU POISKA,Emacs POKAZYWAET WAM,GDE\TA STROKA (W
TOM WIDE,W KAKOM WY EE UVE NABRALI) MOVET BYTX NAJDENA.kOGDA WY NABRALI DOSTATO^NO
ZNAKOW,^TOBY OPREDELITX VELAEMOE MESTO,WY MOVETE OSTANOWITXSQ.w ZAWISIMOSTI OT TO-
GO,^TO WY SOBIRAETESX DELATX POTOM,WAM MOVET PONADOBITXSQ,A MOVET I NE PONADOBITXSQ
PREKRATITX POISK QWNO S POMO][email protected] hRETi.
C-s nARA]IWAEMYJ POISK WPERED (isearch-forward).
C-r nARA]IWAEMYJ POISK W OBRATNOM NAPRAWLENII (isearch-backward).
C-s NA^INAET NARA]IWAEMYJ POISK.C-s S^ITYWAET ZNAKI S KLAWIATURY I RASPOLAGAET
KURSOR W PERWOM MESTE POQWLENIQ ZNAKOW,KOTORYE WY NABRALI.eSLI WY NABERETE C-s I
ZATEM F,TO KURSOR WSTANET SPRAWA POSLE PERWOJ NAJDENNOJ`F'.nABERITE o,I UWIDITE,^TO
KURSOR WSTAL ZA PERWOJ NAJDENNOJ`FO'.pOSLE E]E ODNOJ o KURSOR WSTANET ZA PERWOJ`FOO',
NAHODQ]EJSQ ZA MESTOM,S KOTOROGO WY NA^ALI POISK.nA KAVDOM [AGE TEKST BUFERA,SOW-
[email protected]]IJ SO STROKOJ POISKA,PODSWE^IWAETSQ,ESLI TERMINAL MOVET\TO SDELATX;TEKU]AQ
STROKA POISKA OBNOWLQETSQ NA KAVDOM [AGE W\HO-OBLASTI.
eSLI WY SDELALI O[IBKU W NABORE STROKI POISKA,TO WY MOVETE SBROSITX ZNAKI S POMO-
][email protected] h DELi.kAVDYJ hDELi OTMENQET POSLEDNIJ ZNAK STROKI POISKA.|TOGO NE PROISHODIT
DO TEH POR,POKA Emacs NE BUDET GOTOW S^ITATX [email protected]]IJ WWODIMYJ ZNAK;SNA^ALA ZNAK,
KOTORYJ WY HOTITE SBROSITX,DOLVEN BYTX LIBO NAJDEN,LIBO NET.eSLI VE WY NE HOTITE
VDATX,POKA\TO PROIZOJDET,ISPOLXZUJTE C-g TAK,KAK OPISANO NIVE.
kOGDA WY BUDETE UDOWLETWORENY DOSTIGNUTYM MESTOM,WY MOVETE NABRATX hRETi,^TO
OSTANOWIT POISK,OSTAWLQQ KURSOR TAM,KUDA EGO POMESTILA KOMANDA [email protected] KOMAN-
DA,NE [email protected]]AQ SPECIALXNOGO ZNA^ENIQ PRI POISKE,TAKVE OSTANAWLIWAET POISK I ZATEM
WYPOLNQETSQ SAMA.tAKIM OBRAZOM,NABOR C-a PRIWEL BY K WYHODU IZ POISKA I ZATEM PERE-
DWINUL BY KURSOR W NA^ALO STROKI.h RETi NEOBHODIM TOLXKO W TOM SLU^AE,ESLI [email protected]]AQ
KOMANDA,[email protected] WY HOTITE NABRATX,QWLQETSQ PE^ATNYM ZNAKOM,hDELi,hRETi ILI DRUGIM
[email protected]]IM ZNAKOM,[email protected]]IM OSOBOE ZNA^ENIE WO WREMQ RABOTY POISKA (C-q,C-w,C-r,
C-s,C-y,M-y,M-r ILI M-s).
iNOGDA WY I]ETE SLOWO`FOO'I NAHODITE EGO,NO\TO NE TO,^TO WAM NUVNO.bYLO WTOROE
`FOO',O KOTOROM WY ZABYLI,NAHODQ]EESQ PERED TEM,KOTOROE WY I]ETE.w\TOM SLU^AE
NABERITE C-s E]E RAZ,^TOBY PRODWINUTXSQ K [email protected]]EMU [email protected] STROKI POISKA.|TO
MOVNO PRODELYWATX NEOGRANI^ENNOE ^ISLO RAZ.eSLI WY PROSKO^ILI,TO MOVETE OTMENITX
NEKOTORYE ^ISLO ZNAKOW C-s S POMO][email protected] h DELi.
pOSLE WYHODA IZ POISKA WY MOVETE SNOWA ISKATX TU VE [email protected] STROKU,PROSTO NABRAW
C-s C-s:PERWYJ C-s |\TO [email protected]^,KOTORYJ ZAPUSKAET NARA]IWAEMYJ POISK,A WTOROJ C-s
OZNA^AET\POWTOR POISKA".
88 rUKOWODSTWO PO GNU Emacs~TOBY WY MOGLI SNOWA ISPOLXZOWATX BOLEE RANNIE STROKI POISKA,SU]ESTWUET SPISOK
POISKA.kOMANDY M-p I M-n [email protected] PO SPISKU,^TOBY WY MOGLI PODOBRATX [email protected]
STROKU DLQ POWTORNOGO POISKA.|TI KOMANDY [email protected] [email protected] STROKU POISKA W MI-
NIBUFERE,GDE WY MOVETE EE OTREDAKTIROWATX.dLQ ZAWER[ENIQ REDAKTIROWANIQ I NA^ALA
POISKA NABERITE C-s ILI C-r.
eSLI WA[A STROKA WOOB]E NE NAJDENA,TO\HO-OBLASTX GOWORIT`Failing I-Search'.kUR-
SOR RASPOLAGAETSQ POSLE TOGO MESTA,GDE Emacs NA[EL IZ WA[EJ STROKI WS<,^TO SMOG.
tAKIM OBRAZOM,ESLI WY I]ETE`FOOT',A TAKOJ STROKI NET,WY MOVETE UWIDETX KURSOR POSLE
`FOO'W SLOWE`FOOL'.s\TOGO MESTA WY MOVETE SDELATX NESKOLXKO WE]EJ.eSLI WA[A STROKA
NEPRAWILXNO NABRANA,WY MOVETE ^TO-TO STERETX IZ NEE I ISPRAWITX.eSLI WY DOWOLXNY
NAJDENNYM MESTOM,WY MOVETE NABRATX
hRETi ILI [email protected]@ [email protected] KOMANDU Emacs,^TOBY
\PRINQTX TO,^TO PREDLOVIL\TOT POISK",ILI WY MOVETE NABRATX C-g,^TO UNI^TOVIT IZ
STROKI POISKA ZNAKI,KOTORYE NE BYLI NAJDENY (`t'W`FOOT'),OSTAWLQQ TE,^TO NA[LISX
(`FOO'W`FOOT').wTOROJ C-g W\TOM MESTE OTMENQET POISK [email protected],WOZWRA]AQ TO^KU
TUDA,GDE ONA BYLA,KOGDA POISK NA^ALSQ.
eSLI STROKA POISKA SODERVIT [email protected] BUKWU,TO POISK PROIZWODITSQ S U^ETOM REGI-
STRA.eSLI WY UDALITE ZAGLAWNYE BUKWY IZ STROKI POISKA,\TA OSOBENNOSTX IS^EZAET.sM.rAZDEL 12.6 [pOISK I REGISTR],S.95.
eSLI POISK BYL NEUDA^NYM I WY PROSITE POWTORITX EGO,NABIRAQ C-s E]E RAZ,TO ON
NA^INAETSQ SNOWA S NA^ALA BUFERA.pOWTORENIE NEUDA^NOGO POISKA W OBRATNOM NAPRAWLENII
PRI POMO]I KOMANDY C-r NA^INAET NOWYJ POISK S KONCA.tAKOJ POISK NAZYWAETSQ KRU-
GOWYM.kAK TOLXKO\TO PROIZO[LO,W PODSKAZKE POISKA POQWLQETSQ SLOWO`Wrapped'.eSLI
WY PROJDETE ^EREZ TO^KU,GDE NA^ALSQ POISK,\TO SLOWO ZAMENQETSQ NA`Overwrapped',^TO
OZNA^AET,^TO WY SNOWA PROHODITE ^EREZ UVE WIDENNYE WAMI SOWPADENIQ.
zNAK\WYHODA"C-g POSTUPAET WO WREMQ POISKA OSOBYM OBRAZOM.~TO IMENNO ON DELAET,
ZAWISIT OT STATUSA POISKA.eSLI POISK NA[EL TO,^TO WY HOTELI,I OVIDAET WWODA,TO C-g
[email protected] OTMENQET POISK.kURSOR WOZWRA]AETSQ TUDA,OTKUDA WY NA^ALI POISK.eSLI
C-g NABIRAETSQ,KOGDA W STROKE POISKA ESTX NENAJDENNYE ZNAKI | Emacs WSE E]E I]ET IH,
ILI ON NE SMOG IH NAJTI | TOGDA\TI NENAJDENNYE ZNAKI [email protected] IZ STROKI POISKA.
sBROS\TIH ZNAKOW DELAET POISK USPE[NYM,I ON VDET DALXNEJ[EGO WWODA,TAKIM OBRAZOM,
WTOROJ C-g OTMENIT POISK [email protected]
~TOBY NAJTI SIMWOL PEREWODA STROKI,WWEDITE C-j.dLQ POISKA DRUGOGO [email protected]]EGO
ZNAKA,TAKOGO KAK control-S ILI WOZWRAT KARETKI,WY DOLVNY OTMENITX IH SPECIALXNOE ZNA-
^ENIE,NABIRAQ PERED NIMI C-q.|TA FUNKCIQ C-q ANALOGI^NA EE NAZNA^[email protected] KAK KOMANDY
DLQ WSTAWKI (SM.rAZDEL 4.1 [wSTAWKA TEKSTA],S.35):ONA ZASTAWLQET TRAKTOWATX SLEDU-
@]IJ ZNAK TAK,KAK W\TOM KONTEKSTE TRAKTOWALSQ BY [email protected]\OBY^NYJ"ZNAK.wY TAKVE
MOVETE ZADATX ZNAK PO EGO WOSXMIRI^NOMU KODU:WWEDITE C-q I ZATEM POSLEDOWATELXNOSTX
WOSXMIRI^NYH CIFR.
wY MOVETE IZMENITX NAPRAWLENIE POISKA NA OBRATNOE PRI POMO]I C-r.wAM SLEDUET PO-
STUPITX TAK,ESLI POISK OKAZALSQ NEUDA^NYM,POTOMU ^TO MESTO,S KOTOROGO WY EGO NA^ALI,
NAHODILOSX SLI[KOM BLIZKO K KONCU FAJLA.pOWTORENIE C-r PRODOLVAET POISK [email protected]]IH
SLU^AEW POQWLENIQ W OBRATNOM PORQDKE,A C-s NA^INAET POISK OPQTX WPERED.C-r W POISKE
MOVET BYTX OTMENENA PRI POMO]I
h DELi.
eSLI WY ZARANEE ZNAETE,^TO WAM NUVNO WESTI POISK W OBRATNOM PORQDKE,TO ^TOBY NA-
^ATX POISK,WY MOVETE ISPOLXZOWATX C-r WMESTO C-s,TAK KAK C-r TAKVE QWLQETSQ [email protected]^OM,
[email protected]]IM KOMANDU (isearch-backward) DLQ POISKA W OBRATNOM PORQDKE.oBRATNYJ PO-
ISK NAHODIT SOWPADENIQ,KOTORYE RASPOLOVENY PERED NA^ALXNOJ TO^KOJ,TAK VE KAK POISK
WPERED NAHODIT SOWPADENIQ,NA^[email protected]]IESQ POSLE TO^KI,GDE POISK NA^ALSQ.
zNAKI C-y I C-w MOGUT ISPOLXZOWATXSQ W NARA]IWAEMOM POISKE DLQ ZAHWATA TEKSTA IZ
BUFERA W STROKU POISKA.|TO DELAET UDOBNYM POISK DRUGOGO SLU^AQ POQWLENIQ TOGO TEKSTA,
KOTORYJ NAHODITSQ W TO^KE.C-w KOPIRUET SLOWO POSLE TO^KI W STROKU POISKA,PRODWIGAQ
TO^KU WPERED ^EREZ\TO [email protected]]AQ KOMANDA C-s DLQ POWTORENIQ POISKA BUDET ZATEM
gLAWA 12:pOISK I ZAMENA 89ISKATX STROKU,[email protected]^[email protected]][email protected]\TO SLOWO.C-y PODOBNA C-w,TOLXKO KOPIRUET W STROKU POISKA
WESX OSTATOK TEKU]EJ STROKI.i C-y,I C-w [email protected] KOPIRUEMYJ TEKST K NIVNEMU
REGISTRU,ESLI POISK SEJ^AS WEDETSQ BEZ U^ETA REGISTRA;TAKIM OBRAZOM POISK OSTAETSQ
REGISTRONEZAWISIMYM.
kOMANDA M-y KOPIRUET W STROKU POISKA TEKST IZ SPISKA UNI^TOVENIJ.oNA ISPOLXZUET
TOT VE TEKST,KOTORYJ BYL BY WOSSTANOWLEN KOMANDOJ C-y.sM.rAZDEL 9.2 [wOSSTANOWLE-
NIE],S.71.
kOGDA WY WYHODITE IZ NARA]IWAEMOGO POISKA,METKA USTANAWLIWAETSQ W TO MESTO,GDE
TO^KA BYLA DO NA^ALA POISKA.|TO UDOBNO DLQ WOZWRATA K\TOMU MESTU.w REVIME Transient
Mark NARA]IWAEMYJ POISK USTANAWLIWAET METKU,NE AKTIWIZIRUQ EE,ESLI TOLXKO METKA
UVE NE AKTIWNA.
~TOBY NASTROITX SPECIALXNYE ZNAKI,KOTORYE PONIMAET NARA]IWAEMYJ POISK,IZMENI-
TE IH PRIWQZKI W TABLICE [email protected]^EJ isearch-mode-map.dLQ POLU^ENIQ PERE^NQ PRIWQZOK
POSMOTRITE [email protected] NA isearch-mode S POMO][email protected] C-h f isearch-mode hRETi.
12.1.1 nARA]IWAEMYJ POISK NA MEDLENNOM TERMINALE
nARA]IWAEMYJ POISK NA MEDLENNYH TERMINALAH ISPOLXZUET MODIFICIROWANNYJ SPOSOB
OTOBRAVENIQ,KOTORYJ RAZRABOTAN TAK,^TOBY ZANIMATX KAK MOVNO MENX[E WREMENI.wME-
STO POKAZA BUFERA W KAVDOM MESTE,DO KOTOROGO DOBRALSQ POISK,ON SOZDAET NOWOE OKNO,
SOSTOQ]EE IZ ODINO^NOJ STROKI,I ISPOLXZUET EGO DLQ POKAZA NAJDENNOJ STROKI.|TO OKNO
IZ ODNOJ STROKI WSTUPAET W IGRU,KAK TOLXKO TO^KA WYHODIT ZA PREDELY TEKSTA,KOTORYJ
UVE NAHODITSQ NA\KRANE.
kOGDA WY PRERYWAETE POISK,ODNOSTRO^NOE OKNO UBIRAETSQ.tOLXKO W\TOT MOMENT Emacs
PERERISOWYWAET OKNO,W KOTOROM PROIZWODILSQ POISK,^TOBY OTOBRAZITX NOWOE POLOVENIE
TO^KI.
tAKOJ STILX OTOBRAVENIQ ISPOLXZUETSQ,KOGDA SKOROSTX TERMINALA W BODAH MENX[E ILI
RAWNA ZNA^[email protected] PEREMENNOJ search-slow-speed,^XE NA^ALXNOE ZNA^ENIE RAWNO 1200.
kOLI^ESTWO STROK,POKAZYWAEMYH PRI POISKE NA MEDLENNOM TERMINALE,UPRAWLQETSQ
PEREMENNOJ search-slow-window-lines.eE OBY^NOE ZNA^ENIE RAWNO EDINICE.
12.2 nENARA]IWAEMYJ POISK
w Emacs TAKVE ESTX UDOBNYE KOMANDY NENARA]IWAEMOGO POISKA,KOTORYE [email protected] OT
WAS [email protected] NABRATX STROKU POISKA DO NA^ALA RABOTY.
C-s h RETi STROKA hRETi
pOISK ZADANNOJ STROKI.
C-r h RETi STROKA hRETi
pOISK STROKI W OBRATNOM NAPRAWLENII.
~TOBY NA^ATX NENARA]IWAEMYJ POISK,NABERITE SNA^ALA C-s hRETi.|TA KOMANDA WHODIT
W MINIBUFER DLQ S^ITYWANIQ STROKI POISKA;OGRANI^XTE\TU STROKU S POMO][email protected] hRETi,I
POISK NA^NETSQ.eSLI STROKA NE BUDET NAJDENA,KOMANDA POISKA WYDAET O[IBKU.
sPOSOB RABOTY C-s h RETi [email protected]^AETSQ W [email protected]]EM:C-s ZAPUSKAET NARA]IWAEMYJ PO-
ISK,KOTORYJ SPECIALXNO ZAPROGRAMMIROWAN TAK,^TO ZAPUSKAET NENARA]IWAEMYJ POISK,
ESLI ZADANNYJ WAMI ARGUMENT QWLQETSQ PUSTYM.(tAKOJ PUSTOJ ARGUMENT W DRUGIH SLU^A-
QH BYL BY BESPOLEZEN).C-r hRETi RABOTAET ANALOGI^NO.
oDNAKO,ZAPRO[ENNYJ S POMO][email protected] C-s hRETi NENARA]IWAEMYJ POISK NE ZAPUSKAET NEPO-
SREDSTWENNO search-forward.pERWYM DELOM PROWERQETSQ,NE BUDET LI [email protected]]IM ZNAKOM
C-w,^TO ZAPUSTIT POISK SLOW.
90 rUKOWODSTWO PO GNU EmacspRQMOJ I OBRATNYJ NENARA]IWAEMYJ POISK OSU][email protected] KOMANDAMI search-
forward I search-backward.|TI KOMANDY MOGUT BYTX PRIWQZANY K [email protected]^AM OBY^NYM
SPOSOBOM.wOZMOVNOSTX IH ZAPUSKA ^EREZ NARA]IWAEMYJ POISK IMEET ISTORI^ESKIE
PRI^INY I,POMIMO\TOGO,SU]ESTWUET DLQ TOGO,^TOBY WAM NE NUVNO BYLO NAHODITX DLQ
NIH PODHODQ]IE POSLEDOWATELXNOSTI [email protected]^EJ.
12.3 pOISK SLOW
pOISK PO SLOWAM PRIMENQETSQ DLQ OTYSKANIQ POSLEDOWATELXNOSTI SLOW NEZAWISIMO OT
TOGO,KAK\TI SLOWA RAZDELENY.bOLEE PODROBNO,WY NABIRAETE STROKU IZ NESKOLXKIH SLOW,
ISPOLXZUQ DLQ IH RAZDELENIQ ODINO^NYE PROBELY,I\TA STROKA MOVET BYTX NAJDENA,DA-
VE ESLI W ORIGINALE SLOWA RAZDELENY NESKOLXKIMI PROBELAMI,PEREWODAMI STROKI,LIBO
[email protected] ZNAKAMI PREPINANIQ.
pOISK SLOW POLEZEN PRI REDAKTIROWANII PE^ATNYH DOKUMENTOW,PODGOTOWLENNYH W PRO-
GRAMMAH DLQ FORMATIROWANIQ TEKSTA.eSLI WY REDAKTIRUETE,PROSMATRIWAQ UVE NAPE^A-
[email protected],[email protected] [email protected],TO WY NE MOVETE SKAZATX,GDE PRERYWAETSQ STROKA W
ISHODOM FAJLE.pRI POMO]I VE POISKA SLOWA WY MOVETE ISKATX,NE IMEQ\TOJ INFORMACII.
C-s hRETi C-w SLOWA hRETi
i]ET SLOWA,IGNORIRUQ [email protected] MEVDU NIMI.
C-r
h RETi C-w SLOWA hRETi
i]ET SLOWA W OBRATNOM NAPRAWLENII,IGNORIRUQ [email protected] MEVDU NIMI.
pOISK SLOW |\TO SPECIALXNYJ SLU^AJ NENARA]IWAEMOGO POISKA,I ON WYZYWAETSQ S
POMO][email protected] C-s
h RETi C-w.zA\TIM SLEDUET STROKA POISKA,KOTORAQ WSEGDA DOLVNA BYTX OGRA-
NI^ENA h RETi.bUDU^I NENARA]IWAEMYM,POISK NE NA^INAETSQ DO TEH POR,POKA ARGUMENT
NE ZAWER[EN.|TOT POISK RABOTAET PUTEM SOZDANIQ REGULQRNOGO WYRAVENIQ I EGO POISKA;
SMOTRITE rAZDEL 12.4 [pOISK REGULQRNOGO WYRAVENIQ],S.90.
dLQ OBRATNOGO POISKA SLOW ISPOLXZUJTE C-r h RETi C-w.
pRQMOJ I OBRATNYJ POISK SLOW REALIZOWAN W KOMANDAH word-search-forward I word-
search-backward.|TI KOMANDY MOGUT BYTX PRIWQZANY K [email protected]^AM OBY^NYM SPOSOBOM.wOZ-
MOVNOSTX IH ZAPUSKA ^EREZ NARA]IWAEMYJ POISK SU]ESTWUET PO ISTORI^ESKIM PRI^INAM
I DLQ TOGO,^TOBY WAM NE NUVNO BYLO NAHODITX DLQ NIH PODHODQ]IE POSLEDOWATELXNOSTI
[email protected]^EJ.
12.4 pOISK REGULQRNOGO WYRAVENIQ
rEGULQRNOE WYRAVENIE (regexp,ESLI KRATKO) |\TO OBRAZEC,KOTORYJ OBOZNA^AET NABOR
STROK,WOZMOVNO,I NEOGRANI^ENNYJ NABOR.w GNU Emacs WY MOVETE ISKATX [email protected]]EE
SOWPADENIE S REGULQRNYM WYRAVENIEM KAK NARA]IWAEMYM SPOSOBOM,TAK I PROSTYM.
nARA]IWAEMYJ POISK REGULQRNOGO WYRAVENIQ PROIZWODITSQ NABOROM C-M-s (isearch-
forward-regexp).|TA KOMANDA S^ITYWAET NARA][email protected] STROKU POISKA,TAK VE,KAK C-s,
NO TRAKTUET EE KAK REGULQRNOE WYRAVENIE,A NE I]ET W TEKSTE BUFERA TO^NOE SOWPADENIE.
kAVDYJ RAZ,KOGDA WY DOBAWLQETE TEKST W STROKU POISKA,WY DELAETE REGULQRNOE WYRAVENIE
DLINNEE,I I]ETSQ UVE NOWOE REGULQRNOE WYRAVENIE.wYZOW C-s S PREFIKSNYM ARGUMENTOM
(ZNA^ENIE NE IGRAET ROLI) |\TO DRUGOJ SPOSOB PROIZWESTI PRQMOJ POISK REGULQRNOGO
WYRAVENIQ.~TOBY ZAPUSTITX POISK REGULQRNOGO WYRAVENIQ W OBRATNOM NAPRAWLENII,
ISPOLXZUJTE C-M-r (isearch-backward-regexp) ILI C-r S PREFIKSNYM ARGUMENTOM.
wSE [email protected]]IE ZNAKI,KOTORYE [email protected] SPECIALXNYE WE]I W RAMKAH OBYKNOWENNOGO
NARA]IWAEMOGO POISKA,[email protected] TE VE SAMYE FUNKCII I W NARA]IWAEMOM POISKE REGULQR-
NOGO WYRAVENIQ.nABOR C-s ILI C-r NEMEDLENNO POSLE NA^ALA POISKA WOSSTANAWLIWAET
POSLEDNEE REGULQRNOE WYRAVENIE,ISPOLXZOWANNOE DLQ NARA]IWAEMOGO POISKA REGULQRNOGO
gLAWA 12:pOISK I ZAMENA 91WYRAVENIQ;\TO GOWORIT O TOM,^TO NARA]IWAEMYJ POISK REGULQRNOGO WYRAVENIQ I STROKI
[email protected] NEZAWISIMYE ZNA^ENIQ PO UMOL^[email protected] TAKVE [email protected] RAZDELXNYE SPISKI POISKA,
DOSTUP K KOTORYM WY MOVETE POLU^ITX S POMO][email protected] M-p I M-n.
eSLI PRI NARA]IWAEMOM POISKE REGULQRNOGO WYRAVENIQ WY NABERETE hSPCi,ON BUDET SOW-
PADATX S PROIZWOLXNOJ [email protected] PROBELXNYH ZNAKOW,[email protected]^AQ PEREWODY STROK.
eSLI WAM NUVEN TOLXKO ODIN PROBEL,WWEDITE C-q h SPCi.
oBRATITE WNIMANIE,DOBAWLENIE ZNAKOW K REGULQRNOMU [email protected] PRI NARA]IWAEMOM
POISKE MOVET WERNUTX KURSOR NAZAD I NA^ATX POISK SNOWA.nAPRIMER,ESLI WY ISKALI`foo'
I DOBAWLQETE`\|bar',KURSOR WERNETSQ NAZAD,ESLI PERWYJ`bar'PRED[ESTWOWAL PERWOMU
`foo'.
nENARA]IWAEMYJ POISK REGULQRNOGO WYRAVENIQ OSU]ESTWLQETSQ FUNKCIQMI
re-search-forward I re-search-backward.wY MOVETE ZAPUSTITX IH S POMO][email protected] M-x,ILI
PRIWQZATX IH K [email protected]^AM ILI WYZYWATX ^EREZ NARA]IWAEMYJ POISK REGULQRNOGO WYRAVENIQ
S POMO][email protected] C-M-s h RETi I C-M-r hRETi.
eSLI WY ISPOLXZUETE KOMANDY NARA]IWAEMOGO POISKA REGULQRNOGO WYRAVENIQ S PRE-
FIKSNYM ARGUMENTOM,ONI PROIZWODQT OBY^NYJ POISK STROKI,KAK isearch-forward I
isearch-backward.sM.rAZDEL 12.1 [nARA]IWAEMYJ POISK],S.87.
12.5 sINTAKSIS REGULQRNYH WYRAVENIJ
rEGULQRNYE WYRAVENIQ [email protected] SINTAKSIS,W KOTOROM NESKOLXKO ZNAKOW SLUVAT SPECI-
ALXNYMI KONSTRUKCIQMI,A OSTALXNYE |\TO OBYKNOWENNYE ZNAKI.oBYKNOWENNYJ ZNAK |
\TO PROSTOE REGULQRNOE WYRAVENIE,KOTOROE SOOTWETSTWUET\TOMU ZNAKU I NIKAKOMU BOLX-
[E.sPECIALXNYMI ZNAKAMI [email protected]`$',`^',`.',`*',`+',`?',`[',`]'I`\'[email protected] DRUGIE
ZNAKI,[email protected]]IESQ W REGULQRNOM WYRAVENII,Q[email protected] OBYKNOWENNYMI,ESLI TOLXKO IM
NE PRED[ESTWUET`\'.
nAPRIMER,`f'|\TO NESPECIALXNYJ ZNAK,ZNA^IT ON OBYKNOWENNYJ,PO\TOMU`f'|
\TO REGULQRNOE WYRAVENIE,KOTOROE SOOTWETSTWUET STROKE`f'I NIKAKOJ DRUGOJ.(oNO NE
SOOTWETSTWUET STROKE`ff').aNALOGI^NO,`O'|\TO REGULQRNOE WYRAVENIE,KOTOROE SOOTWET-
STWUET TOLXKO`O'.(kOGDA RAZLI^IQ W REGISTRE [email protected],\TI REGULQRNYE WYRAVENIQ
TAKVE [email protected] S`F'I`O',NO MY RASSMATRIWAEM\TO KAK OBOB]ENIE PONQTIQ\TA VE
STROKA",A NE KAK [email protected]^ENIE.)
[email protected] DWA REGULQRNYH WYRAVENIQ a I b MOGUT BYTX SCEPLENY.rEZULXTATOM QWLQETSQ
REGULQRNOE WYRAVENIE,[email protected]]EE SO STROKOJ,W KOTOROJ a SOOTWETSTWUET NEKOTOROMU
NA^ALU\TOJ STROKI,A b SOOTWETSTWUET OSTATKU STROKI.
w KA^ESTWE PROSTOGO PRIMERA MY MOVEM SCEPITX REGULQRNYE WYRAVENIQ`f'I`o',^TOBY
POLU^ITX REGULQRNOE WYRAVENIE`fo',KOTOROE SOOTWETSTWUET TOLXKO STROKE`fo'.pOKA
WSE PROSTO.~TOBY SDELATX ^TO-TO NETRIWIALXNOE,WAM NEOBHODIMO ISPOLXZOWATX ODIN IZ
SPECIALXNYH ZNAKOW.zDESX PREDSTAWLEN IH PERE^ENX.
.(tO^KA) QWLQETSQ SPECIALXNYM ZNAKOM,KOTORYJ SOOTWETSTWUET [email protected] ODINO^NOMU ZNA-
KU,ZA [email protected]^ENIEM PEREWODA STROKI.iSPOLXZUQ [email protected] (SCEPLENIE),WY
MOVETE SOSTAWITX REGULQRNOE WYRAVENIE,PODOBNOE`a.b',KOTOROE SOOTWETSTWU-
ET [email protected] TREHZNAKOWOJ STROKE,NA^[email protected]]EJSQ S`a'I KON^[email protected]]EJSQ NA`b'.
* SAMA PO SEBE NE QWLQETSQ KONSTRUKCIEJ;\TO POSTFIKSNYJ OPERATOR,KOTO-
RYJ OZNA^AET,^TO PREDYDU]EE REGULQRNOE WYRAVENIE DOLVNO BYTX POWTORENO
STOLXKO RAZ,SKOLXKO\TO WOZMOVNO.tAKIM OBRAZOM,`o*'SOOTWETSTWUET [email protected]
^ISLU BUKW`o'([email protected]^AQ NULX).
`*'WSEGDA OTNOSITSQ K NAIMENX[EMU WOZMOVNOMU PREDYDU]EMU [email protected]
tAKIM OBRAZOM,`fo*'SODERVIT [email protected]][email protected]`O',A NE`fo'.oNO SOWPADAET S
`f',`fo',`foo'I TAK DALEE.
92 rUKOWODSTWO PO GNU EmacskONSTRUKCIQ`*'OBRABATYWAETSQ PUTEM SOPOSTAWLENIQ S NAIBOLX[IM KOLI^E-
STWOM POWTORENIJ,KOTOROE SRAZU MOVET BYTX NAJDENO.zATEM PRODOLVAETSQ
SRAWNENIE S OSTATKOM [ABLONA.eSLI ONO PRO[LO NEUDA^NO,TO PROISHODIT PE-
REBOR S WOZWRATOM.nEKOTORYE IZ SOWPADENIJ S KONSTRUKCIEJ S MODIFIKATOROM
`*'[email protected],^TOBY DATX WOZMOVNOSTX POISKA SOOTWETSTWIQ DLQ OSTATKA
STRUKTURY.nAPRIMER,SRAWNIWAQ`ca*ar'SO STROKOJ`caaar',`a*'SNA^ALA STA-
WITSQ W SOOTWETSTWIE SO WSEMI TREMQ`A',NO OSTATOK [ABLONA |\TO`ar',A W
\TOM SLU^AE DLQ PODBORA OSTAETSQ TOLXKO`r',PO\TOMU\TA POPYTKA NEUDA^NA.
[email protected]]IJ WARIANT |\TO POSTAWITX W SOOTWETSTWIE S`A*'TOLXKO DWE BUKWY
`A'.pRI TAKOM WYBORE OSTATOK REGULQRNOGO WYRAVENIQ USPE[NO SOOTWETSTWUET
STROKE.
+\TO TAKOJ VE POSTFIKSNYJ OPERATOR,KAK I`*',ZA [email protected]^ENIEM TOGO,^TO ON
TREBUET,^TOBY PRED[[email protected]]EE EMU WYRAVENIE SOPOSTAWLQLOSX PO KRAJNEJ
MERE ODIN RAZ.tAK NAPRIMER,`ca+r'BUDET SOOTWETSTWOWATX STROKAM`car'I
`caaar',NO NE STROKE`cr',TOGDA KAK`ca*r'SOOTWETSTWUET WSEM TREM STROKAM.
?POSTFIKSNYJ OPERATOR,KAK I`*',NO ON MOVET SOOTWETSTWOWATX PRED[ESTWU-
@]EMU [email protected] LIBO ODIN RAZ,LIBO NI ODNOGO.nAPRIMER,`ca?r'BUDET
SOOTWETSTWOWATX`car'ILI`cr'I NI^EMU BOLX[E.
[...]\TO NABOR ZNAKOW,KOTORYJ NA^INAETSQ`['I ZAWER[AETSQ`]'.w PROSTEJ[EM
SLU^AE [email protected]]IJ NABOR [email protected] ZNAKI MEVDU\TIMI SKOBKAMI.
tAKIM OBRAZOM,`[ad]'SOOTWETSTWUET LIBO ODNOJ`a',LIBO ODNOMU`d',A`[ad]*'
SOOTWETSTWUET [email protected] STROKE,SOSTAWLENNOJ PROSTO IZ`A'I`d'([email protected]^AQ [email protected]
STROKU),IZ WSEGO\TOGO SLEDUET,^TO`c[ad]*r'SOOTWETSTWUET`cr',`car',`cdr',
`caddaar'I TAK DALEE.
wY TAKVE MOVETE [email protected]^ITX W MNOVESTWO ZNAKOW INTERWALY,NAPISAW DWA ZNAKA,
RAZDELENNYE`-';TAKIM OBRAZOM,`[a-z]'SOOTWETSTWUET [email protected] STRO^NOJ BUKWE
ASCII.iNTERWALY MOGUT BYTX SWOBODNO PEREME[ANY S OTDELXNYMI ZNAKAMI,
KAK W`[a-z$%.]',^TO SOOTWETSTWUET [email protected] STRO^NOJ BUKWE ASCII,ILI`$',ILI
`%'ILI TO^KE.
zAMETIM,^TO SPECIALXNYE ZNAKI REGULQRNYH WYRAVENIJ WNUTRI TAKOGO MNO-
VESTWA BOLX[E NE [email protected] SPECIALXNYMI.wNUTRI ZNAKOWOGO MNOVESTWA SU-
][email protected] SOWER[ENNO DRUGOJ NABOR SPECIALXNYH ZNAKOW:`]',`-'I`^'.
~TOBY [email protected]^ITX W ZNAKOWYJ NABOR`]',WY DOLVNY POSTAWITX EGO PERWYM.nA-
PRIMER,`[]A]'SOOTWETSTWUET`]'ILI`A'.~TOBY [email protected]^ITX`-',NAPI[ITE`-'
PERWYM ILI POSLEDNIM ZNAKOM W NABORE ILI POMESTITE EGO POSLE UKAZANIQ IN-
TERWALA.tAKIM OBRAZOM,`[]-]'SOOTWETSTWUET`]'I`-'.
~TOBY [email protected]^ITX W NABOR ZNAK`^',PI[ITE EGO GDE UGODNO,NO NE PERWYM.
eSLI WY ZADAETE INTERWAL PRI POISKE BEZ U^ETA REGISTRA,WY DOLVNY LIBO
NAPISATX OBA KONCA INTERWALA ZAGLAWNYMI BUKWAMI,LIBO OBA STRO^NYMI,LIBO
OBA ONI NE DOLVNY BYTX BUKWAMI.pOWEDENIE INTERWALA S KONCAMI,ZADANNY-
MI W RAZNYH REGISTRAH,OPREDELENO PLOHO I MOVET BYTX IZMENENO W BUDU]IH
WERSIQH Emacs.
[^...]`[^'NA^INAET DOPOLNITELXNYJ NABOR ZNAKOW,KOTORYJ SOOTWETSTWUET [email protected]
ZNAKU,[email protected]^AQ OPISANNYE W NEM.tAKIM OBRAZOM,`[^a-z0-9A-Z]'SOOTWET-
STWUET WSEM ZNAKAM,[email protected]^AQ BUKWY I CIFRY.
`^'NE QWLQETSQ SPECIALXNYM W NABORE ZNAKOW,ESLI ON NE STOIT PERWYM.zNAK,
[email protected]]IJ ZA`^',TRAKTUETSQ TAK,KAK ESLI BY ON BYL PERWYM (INYMI SLOWAMI,
`-'I`]'ZDESX NE [email protected] SPECIALXNYMI).
dOPOLNITELXNYJ NABOR ZNAKOW MOVET SOOTWETSTWOWATX ZNAKU NOWOJ STROKI,ES-
LI ON NE UPOMINAETSQ KAK ODIN IZ [email protected]]IH ZNAKOW.|TO PROTIWORE^IT
SPOSOBU OBRABOTKI REGULQRNYH WYRAVENIJ W TAKIH PROGRAMMAH,KAK grep.
gLAWA 12:pOISK I ZAMENA 93^\TO SPECIALXNYJ ZNAK,KOTORYJ SOOTWETSTWUET PUSTOJ STROKE,NO TOLXKO W NA^A-
LE STROKI SOPOSTAWLQEMOGO TEKSTA.w PROTIWNOM SLU^AE,SRAWNENIE NE UDASTSQ.
tAKIM OBRAZOM,`^foo'SOOTWETSTWUET`foo',KOTORAQ WSTRE^ENA W NA^ALE STROKI.
$ PODOBEN`^',NO SRAWNENIE PROISHODIT TOLXKO W KONCE STROKI.tAKIM OBRAZOM,
`xx*$'SOOTWETSTWUET STROKE IZ ODNOGO ILI BOLEE`x'W KONCE STROKI.
\IMEET DWE FUNKCII:OTMENQET OSOBYJ SMYSL SPECIALXNYH ZNAKOW ([email protected]^AQ`\')
I WWODIT DOPOLNITELXNYE SPECIALXNYE KONSTRUKCII.
tAK KAK`\'OTMENQET OSOBYJ SMYSL SPECIALXNYH ZNAKOW,TO`\$'|\TO RE-
GULQRNOE WYRAVENIE,KOTOROE SOOTWETSTWUET TOLXKO`$',A`\['| REGULQRNOE
WYRAVENIE,KOTOROE SOOTWETSTWUET TOLXKO`[',I TAK DALEE.
zAME^ANIE:DLQ ISTORI^ESKOJ SOWMESTIMOSTI SPECIALXNYE ZNAKI [email protected] KAK OBY^-
NYE ZNAKI,ESLI ONI NAHODQTSQ W KONTEKSTE,W KOTOROM IH SPECIALXNYJ SMYSL NE IMEET
ZNA^ENIQ.nAPRIMER,`*foo'TRAKTUET`*'KAK OBYKNOWENNYJ,TAK KAK NE SU]ESTWUET PREDY-
DU]EGO WYRAVENIQ,NA KOTOROE MOVET PODEJSTWOWATX`*'.pLOHO BYTX ZAWISIMYM OT\TOGO
PRAWILA;LU^[E WSEGDA QWNO OTMENQTX OSOBYJ SMYSL SPECIALXNYH ZNAKOW NEZAWISIMO TOGO,
GDE ONI NAHODQTSQ.
w BOLX[INSTWE SLU^AEW`\',ZA KOTORYM SLEDUET [email protected] ZNAK,SOOTWETSTWUET TOLXKO\TO-
MU ZNAKU.oDNAKO,SU]ESTWUET NESKOLXKO [email protected]^ENIJ:DWUHZNAKOWYE POSLEDOWATELXNOSTI,
NA^[email protected]]IESQ S`\',[email protected]]IE OSOBYJ SMYSL.wTOROJ ZNAK W TAKOJ POSLEDOWATELXNOSTI
WSEGDA OBY^NYJ,KOGDA WSTRE^AETSQ SAM PO SEBE.zDESX PREDSTAWLENA TABLICA KONSTRUKCIJ
S`\'.
\| OPISYWAET ALXTERNATIWU.dWA REGULQRNYH WYRAVENIQ a I b S`\|'MEVDU NIMI
[email protected] WYRAVENIE,KOTOROE SOOTWETSTWUET [email protected] IZ NIH W OTDELXNOSTI:
LIBO a,LIBO b.|TO RABOTAET TAK:SNA^ALA PROBUETSQ a,I ESLI SOOTWETSTWIE NE
NAJDENO,PROBUETSQ b.
tAKIM OBRAZOM,`foo\|bar'SOOTWETSTWUET LIBO`foo',LIBO`bar',NO NE DRUGOJ
STROKE.
`\|'PRIMENQETSQ K SAMYM BOLX[IM [email protected]]IM WYRAVENIQM.tOLXKO OHWA-
[email protected]]IE SKOBKI`\(...\)'MOGUT OGRANI^ITX [email protected]][email protected] SILU`\|'.
sU]ESTWUET WOZMOVNOSTX POLNOGO OBRATNOGO WOSSTANOWLENIQ DLQ OBRABOTKI
MNOGOKRATNYH ISPOLXZOWANIJ`\|'.
\(...\) [email protected]]AQ KONSTRUKCIQ,KOTORAQ SLUVIT DLQ TREH CELEJ:
1.~TOBY OTDELITX NABOR ALXTERNATIW`\|'OT DRUGIH OPERACIJ.tAKIM OBRA-
ZOM,`\(foo\|mar\)x'SOOTWETSTWUET LIBO`foox',LIBO`marx'.
2.~TOBY OGRANI^ITX SLOVNOE WYRAVENIE DLQ DEJSTWIQ POSTFIKSNYH OPERA-
TOROW`*',`+'I`?'.tAKIM OBRAZOM,`ba\(na\)*'SOOTWETSTWUET`bananana'I
TAK DALEE S [email protected] (NULEWYM ILI BOLX[IM) ^ISLOM STROK`na'.
3.~TOBY OTMETITX [email protected]][email protected] PODSTROKU DLQ BUDU]EJ SSYLKI.
|TO POSLEDNEE PRIMENENIE NE QWLQETSQ SLEDSTWIEM IDEI OGRANI^ENIQ GRUPPY;
\TO OTDELXNOE SWOJSTWO,KOTOROE OPREDELENO KAK WTOROE ZNA^ENIE TOJ VE SA-
MOJ KONSTRUKCII`\(...\)'.nA PRAKTIKE MEVDU\TIMI DWUMQ ZNA^ENIQMI NE
OKAZYWAETSQ PROTIWORE^IJ.
\n SOOTWETSTWUET TEKSTU,SOWPAW[EMU S n-NYM POQWLENIEM KONSTRUKCII`\(...
\)'.
pOSLE KONCA KONSTRUKCII`\(...\)'SOPOSTAWLENIE ZAPOMINAET NA^ALO I KONEC
TEKSTA,SOWPAW[EGO S\TOJ KONSTRUKCIEJ.zATEM,POZDNEE W REGULQRNOM WYRAVE-
NII,WY MOVETE ISPOLXZOWATX`\',ZA KOTORYM SLEDUET CIFRA n,^TOBY SKAZATX:
\SOPOSTAWITX S TOM VE TEKSTOM,KOTORYJ SOWPAL S n-NYM POQWLENIEM KONSTRUK-
CII`\(...\)'".
94 rUKOWODSTWO PO GNU EmacssTROKAM,[email protected]]IM PERWYM DEWQTI KONSTRUKCIQMI`\(...\)',POQW-
[email protected]]IMSQ W REGULQRNOM WYRAVENII,P[email protected] NOMERA OT 1 DO 9 W TOM
PORQDKE,W KAKOM W REGULQRNOM WYRAVENII POQWILISX [email protected]]IE SKOBKI.
kONSTRUKCII OT`\1'DO`\9'MOGUT ISPOLXZOWATXSQ DLQ SSYLKI NA TEKST KON-
STRUKCII`\(...\)'S\TIM NOMEROM.
nAPRIMER,`\(.*\)\1'SOOTWETSTWUET [email protected] STROKE,NE SODERVA]EJ ZNAKOW PE-
REWODA STROKI,KOTORAQ SOSTOIT IZ DWUH ODINAKOWYH POLOWIN.`\(.*\)'SOOTWET-
STWUET PERWOJ POLOWINE,KOTORAQ MOVET BYTX [email protected],NO`\1',^TO IDET SLEDOM,
DOLVNA SOOTWETSTWOWATX TO^NO TAKOMU VE TEKSTU.
eSLI DLQ KAKOJ-NIBUDX KONSTRUKCII`\(...\)'NAJDENO BOLEE ODNOGO SOOTWET-
STWIQ (^TO MOVET LEGKO PROIZOJTI,ESLI ZA NEJ SLEDUET`*'),TO ZAPOMINAETSQ
TOLXKO POSLEDNEE SOWPADENIE.
\`SOOTWETSTWUET PUSTOJ STROKE,NO TOLXKO W NA^ALE BUFERA ILI STROKI,GDE PRO-
ISHODIT POISK.
\'SOOTWETSTWUET PUSTOJ STROKE,NO TOLXKO W KONCE BUFERA ILI STROKI,GDE PROIS-
HODIT POISK.
\= SOOTWETSTWUET PUSTOJ STROKE,NO TOLXKO W TO^KE.
\b SOOTWETSTWUET PUSTOJ STROKE,ESLI\TA KONSTRUKCIQ NAHODITSQ W NA^ALE ILI
KONCE SLOWA.tAKIM OBRAZOM,`\bfoo\b'SOOTWETSTWUET [email protected] [email protected]`foo'
KAK OTDELXNOGO SLOWA.`bballs?\b'SOOTWETSTWUET`ball'ILI`balls'KAK OTDELX-
NYM SLOWAM.
`\b'NAHODIT SOOTWETSTWIE W NA^ALE ILI KONCE BUFERA,NEZAWISIMO OT TOGO,KAKOJ
TEKST IDET DALEE.
\B SOOTWETSTWUET PUSTOJ STROKE,ESLI TOLXKO ONA NAHODITSQ NE W NA^ALE ILI KONCE
SLOWA.
\< SOOTWETSTWUET PUSTOJ STROKE,ESLI ONA NAHODITSQ W NA^ALE SLOWA.`\<'NAHODIT
SOOTWETSTWIE W NA^ALE BUFERA,NO TOLXKO ESLI ZATEM IDET ZNAK,[email protected]]IJSQ
^[email protected] SLOWA.
\> SOOTWETSTWUET PUSTOJ STROKE,ESLI ONA NAHODITSQ W KONCE SLOWA.`\>'NAHODIT
SOOTWETSTWIE W KONCE BUFERA,NO TOLXKO ESLI BUFER ZAWER[AETSQ ZNAKOM,QWLQ-
@]IMSQ ^[email protected] SLOWA.
\w SOOTWETSTWUET [email protected] ZNAKU,[email protected]]EMUSQ ^[email protected] SLOWA.kAKIE IMENNO\TO
ZNAKI,OPREDELQET SINTAKSI^ESKAQ TABLICA.sM.rAZDEL 31.6 [sINTAKSIS],S.366.
\W SOOTWETSTWUET [email protected] ZNAKU,NE [email protected]]EMUSQ ^[email protected] SLOWA.
\sc SOOTWETSTWUET [email protected] ZNAKU,^EJ SINTAKSIS OPREDELQETSQ KODOM c.zDESX c
|\TO ZNAK,KOTORYJ PREDSTAWLQET SOBOJ SINTAKSI^ESKIJ KOD,NAPRIMER,\TO
`w'DLQ ^ASTI SLOWA,`-'DLQ PROBELXNYH ZNAKOW,`('DLQ [email protected]]EJ SKOBKI,
I TAK DALEE.wY MOVETE OBOZNA^ITX PROBELXNYJ ZNAK (KOTORYJ MOVET BYTX
PEREWODOM STROKI) LIBO KAK`-',LIBO ODNIM PROBELOM.
\Sc SOOTWETSTWUET [email protected] ZNAKU,^EJ SINTAKSIS NE OPREDELQETSQ KODOM c.
kONSTRUKCII,[email protected]]IE OTNO[ENIE K SLOWAM I SINTAKSISU,[email protected] USTANOWKAMI W
SINTAKSI^ESKOJ TABLICE (SM.rAZDEL 31.6 [sINTAKSIS],S.366).
dALEE PREDSTAWLENO SLOVNOE REGULQRNOE WYRAVENIE,ISPOLXZUEMOE Emacs DLQ RASPOZNA-
WANIQ KONCA PREDLOVENIQ WMESTE S [email protected] PROBELXNYMI ZNAKAMI,KOTORYE IDUT SLEDOM.
oNO DANO W SINTAKSISE lISPA,^TOBY DATX WAM WOZMOVNOSTX OTLI^ITX PROBELY OT ZNAKOW
TABULQCII.w SINTAKSISE lISPA,KONSTANTNAQ STROKA NA^INAETSQ I ZAKAN^IWAETSQ DWOJNY-
MI KAWY^KAMI.`\"'OBOZNA^AET DWOJNYE KAWY^KI KAK ^ASTX REGULQRNOGO WYRAVENIQ,`\\'
gLAWA 12:pOISK I ZAMENA 95OBOZNA^AET [email protected] [email protected] ^ERTU,`\t'OBOZNA^AET ZNAK TABULQCII,A`\n'| ZNAK NOWOJ
STROKI.
"[.?!][]\"')]*\\($\\|\t\\|\\)[\t\n]*"
zDESX POSLEDOWATELXNO SODERVATSQ ^ETYRE ^ASTI:NABOR ZNAKOW,[email protected]]IJ TO^KE,
`?'ILI`!';NABOR ZNAKOW,[email protected]]IJ PARNYM KWADRATNYM SKOBKAM,KAWY^KAM ILI
KRUGLYM SKOBKAM,POWTORQEMYM [email protected] ^ISLO RAZ;ALXTERNATIWA,[email protected]^ENNAQ W SKOBKI S
OBRATNYMI KOSYMI ^ERTAMI,KOTORAQ SOOTWETSTWUET KONCU STROKI,TABULQCII ILI DWUM
PROBELAM;I NABOR ZNAKOW,[email protected]]IJ [email protected] PROBELXNYM ZNAKAM,POWTORQ@]IMSQ
[email protected] ^ISLO RAZ.
~TOBY WWESTI\TO REGULQRNOE WYRAVENIE INTERAKTIWNO,WY NAPE^ATALI BY hTABi,^TOBY
POLU^ITX ZNAK TABULQCII,I C-j,^TOBY POLU^ITX ZNAK PEREWODA STROKI.wY TAKVE PE^ATA-
LI BY ODINO^NYE OBRATNYE KOSYE ^ERTY KAK ESTX,A NE DUBLIROWALI BY IH W SOOTWETSTWII
S SINTAKSISOM lISPA.
12.6 pOISK I REGISTR BUKW
wSE WIDY NARA]IWAEMOGO POISKA W Emacs OBY^NO [email protected] REGISTR TEKSTA,W KOTOROM
PROISHODIT POISK,ESLI WY ZADALI TEKST W NIVNEM REGISTRE.tAKIM OBRAZOM,ESLI WY ZA-
PROSILI POISK`foo',TO SOWPADENIQMI S^[email protected] I`Foo',I`foo'.rEGULQRNYE WYRAVENIQ,
I W ^ASTNOSTI NABORY ZNAKOW,TAKVE [email protected]^[email protected] W\TO PRAWILO:`[aB]'SOOTWETSTWOWALO BY
`a',ILI`A',ILI`b'ILI`B'.
zAGLAWNAQ BUKWA W [email protected] MESTE STROKI NARA]IWAEMOGO POISKA DELAET\TOT POISK REGI-
STROZAWISIMYM.tAKIM OBRAZOM,POISK`Foo'NE NAJDET`foo'ILI`FOO'.|TO PRIMENQETSQ
TAKVE I K POISKU REGULQRNOGO WYRAVENIQ.|TOT\FFEKT IS^EZAET,ESLI WY UDALILI ZAGLAW-
NYE BUKWY IZ STROKI POISKA.
eSLI WY USTANOWITE [email protected] case-fold-search RAWNOJ nil,WSE BUKWY DOLVNY BU-
DUT SOWPADATX TO^NO,[email protected]^AQ REGISTR.|TA PEREMENNAQ SWOQ DLQ KAVDOGO BUFERA;EE IZME-
NENIE ZATRAGIWAET TOLXKO TEKU]IJ BUFER,NO SU]ESTWUET ZNA^ENIE PO UMOL^[email protected],KOTOROE
WY TOVE MOVETE IZMENITX.sM.rAZDEL 31.2.4 [lOKALXNYE PEREMENNYE],S.350.|TA PERE-
MENNAQ PRIMENQETSQ TAKVE I K NENARA]IWAEMOMU POISKU,[email protected]^AQ TE EGO RAZNOWIDNOSTI,
KOTORYE OSU][email protected] KOMANDAMI ZAMENY (SM.rAZDEL 12.7 [zAMENA],S.95) I KOMANDAMI
POISKA W ISTORII MINIBUFERA (SM.rAZDEL 5.4 [iSTORIQ MINIBUFERA],S.49).
12.7 kOMANDY ZAMENY
gLOBALXNYE KOMANDY POISKA I ZAMENY NE NUVNY W Emacs TAK ^ASTO,KAK W DRUGIH REDAK-
TORAH
1
,NO ONI DOSTUPNY.kROME PROSTOJ KOMANDY M-x replace-string,KOTORAQ ANALOGI^-
NA TAKOJ VE KOMANDE W BOLX[INSTWE REDAKTOROW,SU]ESTWUET KOMANDA M-x query-replace,
KOTORAQ DLQ KAVDOGO POQWLENIQ OBRAZCA SPRA[IWAET WAS,NADO LI EGO ZAMENQTX.
kOMANDY ZAMENY OBY^NO [email protected] S TEKSTOM OT TO^KI DO KONCA BUFERA;ODNAKO,W
REVIME Transient Mark ONI [email protected] NA OBLASTX,KOGDA METKA AKTIWNA.wSE KOMANDY
ZAMENY [email protected] ODNU STROKU (ILI REGULQRNOE WYRAVENIE) ODNOJ STROKOJ ZAMENY.mOVNO
WYPOLNITX PARALLELXNO NESKOLXKO ZAMEN,ISPOLXZUQ KOMANDU expand-region-abbrevs (SM.rAZDEL 24.3 [rAS[IFROWKA SOKRA]ENIJ],S.258).
12.7.1 bEZUSLOWNAQ ZAMENA
M-x replace-string h RETi STROKA hRETi NOWAQ-STROKA hRETi
zAMENQET KAVDOE WHOVDENIE STROKI NA [email protected]
w NEKOTORYH REDAKTORAH OPERACII POISKA I ZAMENY |\TO EDINSTWENNYJ UDOBNYJ SPOSOB SDELATX ODNO
IZMENENIE W TEKSTE.
96 rUKOWODSTWO PO GNU EmacsM-x replace-regexp hRETi regexp hRETi NOWAQ-STROKA hRETi
zAMENQET KAVDOE SOWPADENIE S regexp NA [email protected]
~TOBY ZAMENITX KAVDYJ SLU^AJ WHOVDENIQ`foo'POSLE TO^KI NA`bar',ISPOLXZUETSQ
KOMANDA M-x replace-string S DWUMQ ARGUMENTAMI`foo'I`bar'.zAME]ENIE PROISHODIT
TOLXKO W TEKSTE POSLE TO^KI,TAK,ESLI WY HOTITE OHWATITX WESX BUFER,WY DOLVNY SNA^ALA
OTPRAWITXSQ W EGO NA^ALO.wSE\KZEMPLQRY WPLOTX DO KONCA BUFERA BUDUT ZAMENENY;^TOBY
OGRANI^ITXSQ ZAMENOJ W ^ASTI BUFERA,SUZXTE EGO DO\TOJ ^ASTI PERED WYPOLNENIEM ZAMENY
(SM.rAZDEL 30.8 [sUVENIE],S.335).w REVIME Transient Mark,ESLI OBLASTX AKTIWNA,ZAMENA
OGRANI^ENA\TOJ [email protected] (SM.rAZDEL 8.2 [Transient Mark],S.64).
kOGDA WY WYHODITE IZ replace-string,TO^KA OSTAETSQ NA MESTE POSLEDNEJ ZAMENY.
zNA^ENIE TO^KI W MOMENT,KOGDA BYLA ZAPU]ENA KOMANDA replace-string,ZAPOMINAETSQ W
SPISKE POMETOK.C-u C-
h SPCi PEREME]AET WAS OBRATNO.
~ISLOWOJ ARGUMENT OGRANI^IWAET ZAMENU SOWPADENIQMI,KOTORYE OKRUVENY OGRANI^I-
TELQMI SLOW.zNA^ENIE ARGUMENTA ROLI NE IGRAET.
12.7.2 zAMENA REGULQRNYH WYRAVENIJ
kOMANDA M-x replace-string ZAMENQET TO^NYE SOWPADENIQ S ODINO^NOJ STROKOJ.aNA-
LOGI^NAQ KOMANDA replace-regexp ZAME]AET [email protected] SOWPADENIE S ZADANNYM OBRAZCOM.
w replace-regexp,NOWAQ-STROKA NE OBQZATELXNO DOLVNA BYTX KONSTANTOJ:ONA MOVET
SSYLATXSQ NA WSE ILI ^ASTX TOGO,^TO SOOTWETSTWUET REGULQRNOMU [email protected] regexp.`\&'
W NOWOJ-STROKE OZNA^AET POLNYJ ZAME]AEMYJ TEKST.`\n',GDE n |\TO CIFRA,OZNA^AET
TO,^TO BYLO POSTAWLENO W SOOTWETSTWIE n-NOJ [email protected]^ENNOJ W SKOBKI GRUPPE W REGULQR-
NOM WYRAVENII regexp.~TOBY [email protected]^ITX W NOWYJ TEKST ZNAK`\',WY DOLVNY WWESTI`\\'.
nAPRIMER,
M-x replace-regexp
hRETi c[ad]+r hRETi\&-safe hRETi
ZAMENIT (NAPRIMER)`cadr'NA`cadr-safe'I`cddr'NA`cddr-safe'.
M-x replace-regexp
h RETi\(c[ad]+r\)-safe hRETi\1 hRETi
DELAET OBRATNOE PREOBRAZOWANIE.
12.7.3 kOMANDY ZAMENY I REGISTR BUKW
eSLI PERWYJ ARGUMENT W KOMANDE ZAMENY NABRAN W NIVNEM REGISTRE,WO WREMQ POISKA
WHOVDENIJ DLQ ZAMENY REGISTR IGNORIRUETSQ | PRI USLOWII,^TO case-fold-search NE
RAWNA nil.eSLI case-fold-search USTANOWLENA W ZNA^ENIE nil,REGISTR U^ITYWAETSQ WO
WSEH TIPAH POISKA.
kROME TOGO,KOGDA ARGUMENT NOWAQ-STROKA WESX ILI ^ASTI^NO NAPISAN STRO^NYMI BUK-
WAMI,KOMANDY ZAMENY [email protected] SOHRANITX OBRAZEC ISPOLXZOWANIQ REGISTRA W KAVDOM
WHOVDENII.tAKIM OBRAZOM,KOMANDA
M-x replace-string h RETi foo hRETi bar hRETi
ZAMENQET`foo'W NIVNEM REGISTRE NA`bar'W NIVNEM REGISTRE,`FOO'W WERHNEM REGISTRE
NA`BAR',A`Foo'S PERWOJ ZAGLAWNOJ BUKWOJ NA`Bar'.(tRI\TI ALXTERNATIWY:WSE STRO^-
NYE BUKWY,WSE ZAGLAWNYE I PERWAQ ZAGLAWNAQ | EDINSTWENNYE WARIANTY,KOTORYE MOVET
RASPOZNATX replace-string.)
eSLI W STROKE PODSTANOWKI ISPOLXZOWANY BUKWY WERHNEGO REGISTRA,TO ONI [email protected]
TAKIMI PRI KAVDOJ WSTAWKE\TOGO TEKSTA.eSLI BUKWY WERHNEGO REGISTRA [email protected]
W PERWOM ARGUMENTE,TO WTOROJ ARGUMENT WSEGDA WSTAWLQETSQ W TOM WIDE,W KOTOROM ON
DAN,BEZ IZMENENIQ REGISTRA.aNALOGI^NO,ESLI PEREMENNAQ case-replace ILI case-fold-
search USTANOWLENA RAWNOJ nil,ZAME]ENIE PROISHODIT BEZ IZMENENIQ REGISTRA.
gLAWA 12:pOISK I ZAMENA 9712.7.4 zAMENA S PODTWERVDENIEM
M-% STROKA hRETi NOWAQ-STROKA hRETi
M-x query-replace h RETi STROKA hRETi NOWAQ-STROKA hRETi
zAMENQET NEKOTORYE WHOVDENIQ STROKI NA [email protected]
C-M-% regexp
h RETi NOWAQ-STROKA hRETi
M-x query-replace-regexp h RETi regexp hRETi NOWAQ-STROKA hRETi
zAMENQET NEKOTORYE SOWPADENIQ S regexp NA [email protected]
eSLI WY HOTITE ZAMENITX TOLXKO NEKOTORYE\KZEMPLQRY`foo'NA`bar',NO NE WSE,WY
NE MOVETE ISPOLXZOWATX [email protected] replace-string.wMESTO\TOGO ISPOLXZUETSQ M-%
(query-replace).|TA KOMANDA NAHODIT\KZEMPLQRY`foo'ODIN ZA DRUGIM,OTOBRAVAET
KAVDYJ\KZEMPLQR I SPRA[IWAET WAS,NADO LI EGO ZAMENQTX.~ISLOWOJ ARGUMENT GOWO-
RIT query-replace,^TO NUVNO RASSMATRIWATX LI[X TE\KZEMPLQRY,KOTORYE OKRUVENY
ZNAKAMI-RAZDELITELQMI SLOW.|TA KOMANDA SOHRANQET REGISTR TAK VE,KAK I replace-
string,PRI USLOWII,^TO case-replace NE RAWNA nil,KAK\TO OBY^NO I BYWAET.
zA [email protected]^ENIEM ZAPROSA PODTWERVDENIQ,query-replace RABOTAET TO^NO TAK VE,KAK
replace-string,A query-replace-regexp | KAK replace-regexp.|TA KOMANDA ZAPUSKA-
ETSQ PRI POMO]I C-M-%.
kOGDA WAM [email protected] WHOVDENIE STROKI ILI SOWPADENIE S REGULQRNYM WYRAVENIEM
regexp,WY MOVETE NABRATX [email protected]]EE:
h SPCi ^TOBY ZAMENITX\TO WHOVDENIE NA [email protected]
h DELi ^TOBY PEREJTI K [email protected]]EMU [email protected],NE ZAMENQQ\TO.
,(zAPQTAQ)
^TOBY ZAMENITX\TO WHOVDENIE I POKAZATX REZULXTAT.zATEM U WAS ZAPRA[[email protected]
WWOD E]E ODNOGO ZNAKA,^TOBY UZNATX,^TO DELATX DALX[E.tAK KAK ZAMENA UVE
PROIZWEDENA,TO
hDELi I hSPCi W\TOJ SITUACII\KWIWALENTNY;OBE PEREHODQT K
[email protected]]EMU [email protected]
wY MOVETE NABRATX W\TOM MESTE C-r (SMOTRITE NIVE),^TOBY IZMENITX ZAME-
NENNYJ TEKST.wY MOVETE TAKVE NABRATX C-x u,^TOBY OTMENITX [email protected]
ZAMENU;\TA KOMANDA WYHODIT IZ query-replace,TAK ^TO ESLI WY HOTITE DE-
LATX DALXNEJ[IE ZAMENY,WY DOLVNY ISPOLXZOWATX C-x hESCi hESCi hRETi,^TOBY
ZAPUSTITX ZAMENU ZANOWO (SM.rAZDEL 5.5 [pOWTOR],S.50).
h RETi ^TOBY WYJTI BEZ OSU]ESTWLENIQ DALXNEJ[IH ZAMEN.
.(tO^KA) ^TOBY ZAMENITX\TOT\KZEMPLQR I ZATEM WYJTI BEZ PRODOLVENIQ POISKA SLEDU-
@]IH WHOVDENIJ.
!^TOBY ZAMENITX WSE OSTAW[IESQ\KZEMPLQRY BEZ POWTORNYH ZAPROSOW.
^ ^TOBY WERNUTXSQ K [email protected] PREDYDU]EGO WHOVDENIQ (ILI K TOMU,^TO IM
BYLO),ESLI WY IZMENILI EGO PO O[IBKE.|TO DELAETSQ PRI POMO]I WYTALKIWA-
NIQ IZ SPISKA POMETOK.mOVNO ISPOLXZOWATX TOLXKO ODIN`^'PODRQD,TAK KAK
WO WREMQ RABOTY query-replace HRANITSQ TOLXKO ODNA PREDYDU]AQ POZICIQ
ZAMENY.
C-r ^TOBY WOJTI W NOWYJ UROWENX REKURSIWNOGO REDAKTIROWANIQ,W TOM SLU^AE,KO-
GDA\KZEMPLQR NUVDAETSQ SKOREE W REDAKTIROWANII,^EM PROSTO W ZAMENE EGO
NOWOJ-STROKOJ.kOGDA WY SDELAETE\TO,WYJDITE IZ\TOGO UROWNQ REKURSIWNOGO
REDAKTIROWANIQ,NABRAW C-M-c,^TOBY PEREJTI K [email protected]]EMU [email protected]ZDEL 30.12 [rEKURSIWNOE REDAKTIROWANIE],S.338.
98 rUKOWODSTWO PO GNU EmacsC-w ^TOBY UDALITX\TO WHOVDENIE I POTOM WOJTI W NOWYJ UROWENX REKURSIWNO-
GO REDAKTIROWANIQ,KAK W C-r.iSPOLXZUJTE REKURSIWNOE REDAKTIROWANIE DLQ
WSTAWKI TEKSTA I ZAMENY UDALENNOGO WHOVDENIQ STROKI.kOGDA WY ZAKON^I-
TE,WYJDITE IZ\TOGO UROWNQ REKURSIWNOGO REDAKTIROWANIQ S POMO][email protected] C-M-c,
^TOBY PEREJTI K [email protected]]EMU [email protected]
C-l ^TOBY WOSSTANOWITX IZOBRAVENIE\KRANA.pOTOM WY DOLVNY NABRATX E]E ODIN
ZNAK,^TOBY UKAZATX,^TO DELATX S\TIM WHOVDENIEM.
C-h ^TOBY PROSMOTRETX SOOB]ENIE,[email protected]@]EE\TI WARIANTY.pOTOM WY DOLV-
NY NABRATX E]E ODIN ZNAK,^TOBY UKAZATX,^TO DELATX S\TIM WHOVDENIEM.
nEKOTORYE DRUGIE ZNAKI [email protected] SINONIMAMI PERE^ISLENNYH WY[E:y,n I q\KWIWA-
LENTNY hSPCi,hDELi I hRETi.
kROME\TIH ZNAKOW,[email protected] DRUGOJ WYHODIT IZ query-replace I SNOWA S^ITYWAETSQ KAK
^ASTX POSLEDOWATELXNOSTI [email protected]^EJ.tAKIM OBRAZOM,ESLI WY NAPE^ATAETE C-k,ONA WYJDET
IZ query-replace I UNI^TOVIT TEKST DO KONCA STROKI.
~TOBY PEREZAPUSTITX query-replace,KOGDA WY UVE IZ NEE WY[LI,ISPOLXZUJTE C-x hESCi
h ESCi,KOTORAQ POWTORIT query-replace,TAK KAK ONA ISPOLXZOWALA MINIBUFER DLQ ^TENIQ
ARGUMENTOW.sM.rAZDEL 4.11 [pOWTORENIE],S.43.
sMOTRITE TAKVE rAZDEL 28.9 [pREOBRAZOWANIE IMEN FAJLOW],S.297,^TOBY UZNATX O
KOMANDAH Dired DLQ PEREIMENOWANIQ,KOPIROWANIQ ILI SOZDANIQ SSYLOK NA FAJLY PUTEM
ZAMENY W IH IMENAH SOWPADENIJ S REGULQRNYM WYRAVENIEM.
12.8 dRUGIE KOMANDY POISKA W CIKLE
zDESX PREDSTAWLENY NEKOTORYE DRUGIE KOMANDY,KOTORYE NAHODQT SOWPADENIQ S REGULQR-
NYMI WYRAVENIQMI.wSE ONI [email protected] OT TO^KI DO KONCA BUFERA,I WSE ONI [email protected]
PRI SOPOSTAWLENII REGISTR,ESLI OBRAZEC NE SODERVIT ZAGLAWNYH BUKW,A case-fold-search
OTLI^NA OT nil.
M-x occur
h RETi regexp hRETi
wYWODIT PERE^ENX,[email protected]]IJ [email protected] STROKU BUFERA,KOTORAQ SODERVIT
SOWPADENIE S regexp.~ISLOWOJ ARGUMENT ZADAET ^ISLO STROK KONTEKSTA,KOTORYE
DOLVNY BYTX NAPE^ATANY PERED I POSLE KAVDOJ SRAWNIWAEMOJ STROKI;ZNA^E-
NIJ PO UMOL^[email protected] | NE PE^ATATX KONTEKST.~TOBY OGRANI^ITX POISK ^[email protected]
BUFERA,SUZXTESX DO\TOJ ^ASTI (SM.rAZDEL 30.8 [sUVENIE],S.335).
bUFER`*Occur*',W KOTORYJ ZAPISYWAETSQ WYWOD,SLUVIT W KA^ESTWE [email protected] DLQ
POISKA WHOVDENIJ W IH ORIGINALXNOM KONTEKSTE.}ELKNITE Mouse-2 NA WHO-
VDENII,PERE^ISLENNOM W`*Occur*',ILI POMESTITE TAM TO^KU I NAVMITE hRETi;
\TO [email protected]^IT W BUFER,GDE DELALSQ POISK,I PEREMESTIT TO^KU K ORIGINALU
WYBRANNOGO WHOVDENIQ.
M-x list-matching-lines
sINONIM DLQ M-x occur.
M-x count-matches h RETi regexp hRETi
pE^ATAET ^ISLO SOWPADENIJ S regexp POSLE TO^KI.
M-x flush-lines
h RETi regexp hRETi
uDALQET [email protected] STROKU,[email protected]][email protected] POSLE TO^KI I SODERVA][email protected] SOWPADENIE S
regexp.
M-x keep-lines
h RETi regexp hRETi
uDALQET [email protected] STROKU,[email protected]][email protected] POSLE TO^KI I NE SODERVA][email protected] SOWPADENIE
S regexp.
gLAWA 12:pOISK I ZAMENA 99kROME TOGO,WY MOVETE ISPOLXZOWATX IZ Emacs PROGRAMMU grep DLQ POISKA SOWPADENIJ
S REGULQRNYM WYRAVENIEM W GRUPPE FAJLOW,A ZATEM OBRATITXSQ K NAJDENNYM SOWPADENIQM
POSLEDOWATELXNO ILI W PROIZWOLXNOM PORQDKE.sM.rAZDEL 23.2 [pOISK S grep],S.248.
100 rUKOWODSTWO PO GNU Emacs
gLAWA 13:kOMANDY DLQ ISPRAWLENIQ OPE^ATOK 10113 kOMANDY DLQ ISPRAWLENIQ OPE^ATOK
w\TOJ GLAWE MY OPISYWAEM KOMANDY,KOTORYE OSOBENNO POLEZNY W TEH SLU^AQH,KOGDA
WY OBNARUVILI W WA[EM TEKSTE O[IBKU SRAZU POSLE TOGO,KAK WY EE DOPUSTILI,ILI ESLI
WY IZMENILI WA[I NAMERENIQ WO WREMQ SO^INENIQ TEKSTA.
nAIBOLEE FUNDAMENTALXNAQ KOMANDA DLQ ISPRAWLENIQ O[IBO^NOGO REDAKTIROWANIQ |
\TO KOMANDA OTMENY,C-x u ILI C-_.|TA KOMANDA OTMENQET ODNU KOMANDU (KAK PRAWI-
LO),^ASTX KOMANDY (W SLU^AE query-replace) ILI NESKOLXKO [email protected]]IHSQ ZNAKOW
PODRQD.pOSLEDOWATELXNOE POWTORENIE KOMAND C-_ ILI C-x u OTMENQET WSE BOLEE RANNIE
IZMENENIQ DO KONCA DOSTUPNOJ INFORMACII OTMENY.sM.rAZDEL 4.4 [oTMENA],S.37,DLQ
POLU^ENIQ DALXNEJ[IH SWEDENIJ.
13.1 uNI^TOVENIE WA[IH O[IBOK
h DELi uDALITX POSLEDNIJ ZNAK (delete-backward-char).
M-
h DELi uNI^TOVITX POSLEDNEE SLOWO (backward-kill-word).
C-x
h DELi uNI^TOVITX WSE DO NA^ALA PREDLOVENIQ (backward-kill-sentence).
sIMWOL hDELi (delete-backward-char) | NAIBOLEE WAVNAQ KOMANDA ISPRAWLENIQ.oNA
UDALQET ZNAK PERED TO^KOJ.kOGDA EE [email protected] POSLE [email protected]]EJSQ ZNAKOWOJ KO-
MANDY,EE MOVNO RASSMATRIWATX KAK OTMENU\TOJ KOMANDY.nO IZBEGAJTE O[IBO^NOJ MYS-
LI,^TO h DELi |\TO UNIWERSALXNYJ SPOSOB OTMENITX KOMANDU!
kOGDA WA[A O[IBKA DLINNEE,^EM PARA ZNAKOW,TO MOVET OKAZATXSQ BOLEE UDOBNYM IS-
POLXZOWATX M-
hDELi ILI C-x hDELi.M-hDELi UNI^TOVAET WSE ZNAKI NAZAD DO NA^ALA POSLEDNEGO
SLOWA,A C-x h DELi UNI^TOVAET NAZAD DO NA^ALA POSLEDNEGO PREDLOVENIQ.C-x hDELi OSOBENNO
POLEZNA W SLU^AE,KOGDA WY MENQETE SWOE MNENIE O FORMULIROWKE TEKSTA,KOTORYJ WY PI-
[ITE.M-h DELi I C-x hDELi [email protected] UNI^TOVENNYJ TEKST DLQ WOSSTANOWLENIQ S POMO][email protected]
C-y I M-y.sM.rAZDEL 9.2 [wOSSTANOWLENIE],S.71.
M-h DELi ^ASTO POLEZNA,DAVE KOGDA WY NABRALI WSEGO NESKOLXKO O[IBO^NYH ZNAKOW,ESLI
WY ZNAETE,^TO ZAPUTALISX I NE UWERENY TO^NO,^TO IMENNO WY NABRALI.w\TOM SLU^AE WY NE
MOVETE ISPRAWLQTX S POMO][email protected] hDELi,NE IZU^AQ\KRAN,^TOBY UWIDETX,^TO VE WY SDELALI.
~ASTO UNI^TOVENIE WSEGO SLOWA I EGO POWTORNYJ NABOR POTREBUET MENX[IH RAZDUMIJ.
13.2 pERESTANOWKA TEKSTA
C-t pERESTAWITX DWA ZNAKA (transpose-chars).
M-t pERESTAWITX DWA SLOWA (transpose-words).
C-M-t pERESTAWITX DWA SBALANSIROWANNYH WYRAVENIQ (transpose-sexps).
C-x C-t pERESTAWITX DWE STROKI (transpose-lines).
rASPROSTRANENNAQ O[IBKA PERESTANOWKI DWUH ZNAKOW MOVET BYTX ISPRAWLENA,ESLI ONI
[email protected] SOSEDNIMI,S POMO][email protected] KOMANDY C-t (transpose-chars).oBY^NO C-t PERESTAW-
LQET DWA ZNAKA,STOQ]IE PO OBE STORONY OT TO^KI.kOGDA ONA DAETSQ W KONCE STROKI,TO
WMESTO TOGO,^TOBY POMENQTX MESTAMI POSLEDNIJ ZNAK SIMWOL I PEREWOD STROKI,^TO BYLO
BY BESPOLEZNO,C-t PERESTAWLQET POSLEDNIE DWA ZNAKA NA STROKE.tAK,ESLI WY OTLOWILI
WA[U O[IBKU PERESTANOWKI SRAZU,WY MOVETE ISPRAWITX EE PROSTO S POMO][email protected] C-t.eSLI
WY OTLOWILI EE NE TAK BYSTRO,WY DOLVNY PEREWESTI KURSOR NAZAD I USTANOWITX EGO MEVDU
DWUMQ PERESTAWLENNYMI ZNAKAMI.eSLI WY PERESTAWILI PROBEL I POSLEDNIJ ZNAK W SLOWE
PERED NIM,TO KOMANDY DWIVENIQ PO SLOWAM SLUVAT UDOBNYM SPOSOBOM DOBRATXSQ DO\TOGO
102 rUKOWODSTWO PO GNU EmacsMESTA.oDNAKO,OBRATNYJ POISK (C-r) ^ASTO BYWAET SAMYM LU^[IM SPOSOBOM.sM.gLAWA 12
[pOISK],S.87.
M-t (transpose-words) PERESTAWLQET SLOWO PERED TO^KOJ SO SLOWOM POSLE NEE.oNA DWI-
GAET TO^KU WPERED ^EREZ SLOWO,TAKVE PEREME]AQ WPERED SLOWO,PRED[[email protected]]EE TO^KE ILI
SODERVA]EE EE.zNAKI PUNKTUACII MEVDU SLOWAMI NE [email protected],`FOO,BAR'
PREWRA]AETSQ W`BAR,FOO',A NE W`BAR FOO,'.
C-M-t (transpose-sexps) | ANALOGI^NAQ KOMANDA DLQ PERESTANOWKI DWUH WYRAVENIJ
(SM.rAZDEL 22.2 [sPISKI],S.206),A C-x C-t (transpose-lines) MENQET MESTAMI STROKI.
oNI [email protected] TAK VE,KAK M-t,ZA [email protected]^ENIEM OPREDELENIQ DELENIQ TEKSTA NA SINTAKSI-
^ESKIE EDINICY.
~ISLOWOJ ARGUMENT DLQ KOMAND PERESTANOWKI RABOTAET KAK S^ET^IK POWTORENIJ:ON UKA-
ZYWAET KOMANDE PERESTANOWKI PEREDWINUTX ZNAK (SLOWO,STROKU,WYRAVENIE) PERED TO^KOJ
ILI SODERVA]IJ EE ^EREZ NESKOLXKO DRUGIH ZNAKOW (SLOW,STROK,WYRAVENIJ).nAPRIMER,
C-u 3 C-t PEREDWIGAET ZNAK PERED TO^KOJ WPERED ^EREZ TRI DRUGIH ZNAKA.|TO\KWIWALENTNO
TREHKRATNOMU [email protected] C-t.C-u - 4 M-t DWIGAET SLOWO PERED TO^KOJ NAZAD ^EREZ ^ETYRE
SLOWA.C-u - C-M-t OTMENILA BY DEJSTWIE PROSTOJ C-M-t.
~ISLOWOMU ARGUMENTU,RAWNOMU [email protected],PRIDAETSQ SPECIALXNOE ZNA^ENIE (TAK KAK W PRO-
TIWNOM SLU^AE KOMANDY S NULEWYM S^ET^IKOM POWTOROW DOLVNY BYLI BY NI^EGO NE DELATX):
PERESTAWITX ZNAK (SLOWO,WYRAVENIE,STROKU),OKAN^[email protected]]IJSQ POSLE TO^KI,SO ZNAKOM
(SLOWOM,WYRAVENIEM,STROKOJ),OKAN^[email protected]]IMSQ POSLE METKI.
13.3 iZMENENIE REGISTRA
M- M-l pEREWESTI POSLEDNEE SLOWO W NIVNIJ REGISTR.oTMETIM,^TO Meta- OZNA^AET
Meta-MINUS.
M- M-u pEREWESTI POSLEDNEE SLOWO W WERHNIJ REGISTR.
M- M-c pEREWESTI POSLEDNEE SLOWO W NIVNIJ REGISTR S PERWOJ ZAGLAWNOJ BUKWOJ.
nABOR SLOWA W NEPRAWILXNOM REGISTRE | O^ENX RASPROSTRANENNAQ O[IBKA.pO\TOMU
KOMANDY IZMENENIQ REGISTRA M-l,M-u I M-c [email protected] SPECIALXNYM SWOJSTWOM,KOGDA IS-
[email protected] S OTRICATELXNYM ARGUMENTOM:ONI NE [email protected] KURSOR.kAK TOLXKO WY
UWIDITE,^TO POSLEDNEE SLOWO NABRANO NEPRAWILXNO,WY MOVETE PROSTO IZMENITX W NEM
REGISTR I PRODOLVATX NABOR.sM.rAZDEL 21.6 [rEGISTR],S.189.
13.4 pOISK I ISPRAWLENIE ORFOGRAFI^ESKIH O[IBOK
|TOT RAZDEL OPISYWAET KOMANDY DLQ PROWERKI PRAWOPISANIQ OTDELXNOGO SLOWA ILI ^A-
STI BUFERA.|TI KOMANDY [email protected] S PROGRAMMOJ PROWERKI PRAWOPISANIQ Ispell,KOTORAQ
NE QWLQETSQ ^[email protected] Emacs.
M-x flyspell-mode
[email protected]^AET REVIM Flyspell,KOTORYJ WYDELQET WSE NEPRAWILXNO NAPISANNYE SLO-
WA.
M-$ pROWERQET I ISPRAWLQET NAPISANIE SLOWA W TO^KE (ispell-word).
M-
h TABi zAWER[AET SLOWO PERED TO^KOJ,OSNOWYWAQSX NA ORFOGRAFI^ESKOM SLOWARE
(ispell-complete-word).
M-x ispell-buffer
pROWERQET I ISPRAWLQET NAPISANIE WSEH SLOW W BUFERE.
M-x ispell-region
pROWERQET I ISPRAWLQET NAPISANIE WSEH SLOW W OBLASTI.
gLAWA 13:kOMANDY DLQ ISPRAWLENIQ OPE^ATOK 103M-x ispell-message
pROWERQET I ISPRAWLQET NAPISANIE WSEH SLOW W ^ERNOWIKE PO^TOWOGO SOOB]ENIQ,
ZA [email protected]^ENIEM CITIRUEMOGO MATERIALA.
M-x ispell-change-dictionary
hRETi SLOWARX hRETi
pEREZAPUSKAET PROCESS Ispell,ISPOLXZUQ SLOWARX W KA^ESTWE SLOWARQ.
M-x ispell-kill-ispell
uNI^TOVAET PODPROCESS Ispell.
rEVIM Flyspell PREDOSTAWLQET [email protected] AWTOMATI^ESKIJ SPOSOB PROWERITX PRAWOPISA-
NIE WO WREMQ REDAKTIROWANIQ W Emacs.oN RABOTAET PUTEM PROWERKI SLOW PO MERE TOGO,
KAK WY IZMENQETE ILI WSTAWLQETE IH.kOGDA ON NAHODIT NERASPOZNANNOE SLOWO,ON WYDELQET
EGO.|TO NE WLIQET NA WA[E REDAKTIROWANIE,NO KOGDA WY WIDITE WYDELENNOE SLOWO,WY MO-
VETE PEREMESTITXSQ K NEMU I ISPRAWITX.~TOBY [email protected]^ITX\TOT REVIM W TEKU]EM BUFERE,
NABERITE M-x flyspell-mode.
kOGDA REVIM Flyspell WYDELQET NEPRAWILXNO NAPISANNOE SLOWO,WY MOVETE ]ELKNUTX
NA\TOM SLOWE Mouse-2,^TOBY POLU^ITX [email protected] WOZMOVNYH ISPRAWLENIJ I DEJSTWIJ.wY
TAKVE MOVETE ISPRAWITX SLOWO,OTREDAKTIROWAW EGO WRU^[email protected] [email protected] SPOSOBOM,KOTORYJ
WAM NRAWITSQ.
dRUGIE WOZMOVNOSTI Emacs PO PROWERKE PRAWOPISANIQ [email protected] ILI I]UT SLOWA,KOGDA
WY DAETE [email protected] KOMANDU DLQ\TOGO.pROWERKA WSEGO ILI ^ASTI BUFERA POLEZNA,KOGDA U WAS
ESTX TEKST,KOTORYJ BYL NAPISAN NE W DANNOM SEANSE Emacs I MOVET SODERVATX [email protected]
^ISLO O[IBOK.
dLQ PROWERKI ORFOGRAFII W SLOWE WOKRUG TO^KI ILI POSLE NEE I,WOZMOVNO,DLQ EGO
ISPRAWLENIQ,ISPOLXZUJTE KOMANDU M-$ (ispell-word).eSLI SLOWO NAPISANO NEPRAWILXNO,
\TA KOMANDA PREDLOVIT WAM NESKOLXKO WARIANTOW DEJSTWIJ.
~TOBY PROWERITX PRAWOPISANIE WO WSEM TEKU]EM BUFERE,ZAPUSTITE KOMANDU M-x
ispell-buffer.iSPOLXZUJTE M-x ispell-region DLQ PROWERKI TOLXKO TEKU]EJ OBLASTI.
~TOBY PROWERITX [email protected] W PO^TOWOM SOOB]ENII,KOTOROE WY PI[ITE,ISPOLXZUJTE
M-x ispell-message;ONA PROWERQET WESX BUFER,NO NE TROGAET MATERIAL,W KOTOROM SDELAN
OTSTUP,ILI KOTORYJ PROCITIROWAN IZ DRUGIH SOOB]ENIJ.
kAVDYJ RAZ,KOGDA\TI KOMANDY WSTRE^[email protected] NEPRAWILXNO NAPISANNOE SLOWO,ONI SPRA-
[[email protected] WAS O DALXNEJ[IH DEJSTWIQH.oNI [email protected] SPISOK WARIANTOW,OBY^NO [email protected]^A-
@]IJ NESKOLXKO\POHOVIH SLOW"| KOTORYE BLIZKI PO [email protected] S PROWERQEMYM SLOWOM.
zATEM WY DOLVNY NAPE^ATATX ODIN ZNAK.wOT DOPUSTIMYE WARIANTY OTWETA:
h SPCi pROPUSTITX\TO SLOWO | PRODOLVATX S^ITATX\TO SLOWO NEPRAWILXNYM,NO NE
IZMENQTX EGO ZDESX.
r NOWOE hRETi
zAMENITX\TO SLOWO (TOLXKO W\TOM MESTE) NA NOWOE.
R NOWOE h RETi
zAMENITX\TO SLOWO NA NOWOE I WYPOLNITX query-replace,^TOBY WY MOGLI
ZAMENITX EGO WO WSEH DRUGIH MESTAH BUFERA,ESLI HOTITE.
CIFRA zAMENITX\TO SLOWO (TOLXKO W\TOM MESTE) NA ODNO IZ POKAZANNYH POHOVIH SLOW.
kAVDOE POHOVEE SLOWO PERE^ISLQETSQ S CIFROJ;^TOBY WYBRATX EGO,NABERITE
\TU CIFRU.
a pRINQTX NEPRAWILXNOE SLOWO | S^ITATX EGO PRAWILXNYM,NO TOLXKO W\TOM
SEANSE REDAKTIROWANIQ.
A pRINQTX NEPRAWILXNOE SLOWO | S^ITATX EGO PRAWILXNYM,NO TOLXKO W\TOM
SEANSE REDAKTIROWANIQ I DLQ\TOGO BUFERA.
104 rUKOWODSTWO PO GNU Emacsi wSTAWITX\TO SLOWO W WA[ LI^NYJ FAJL SLOWARQ,^TOBY Ispell OTNYNE S^ITAL
EGO PRAWILXNYM DAVE W BUDU]IH SEANSAH.
u wSTAWITX\TO SLOWO W NIVNEM REGISTRE W WA[ LI^NYJ FAJL SLOWARQ.
m kAK i,NO WY TAKVE MOVETE UKAZATX SWEDENIQ O ZAWER[ENII DLQ SLOWARQ.
l SLOWO
hRETi
pOISKATX W SLOWARE SLOWA,[email protected]]IESQ SO SLOWOM.|TI SLOWA STANOWQTSQ
NOWYM SPISKOM\POHOVIH SLOW";WY MOVETE WYBRATX DLQ ZAMENY ODNO IZ NIH,
NABRAW CIFRU.wY MOVETE ISPOLXZOWATX W SLOWE ZNAK`*'DLQ OPISANIQ [ABLONA.
C-g wYJTI IZ INTERAKTIWNOJ PROWERKI PRAWOPISANIQ.wY MOVETE PEREZAPUSTITX EE
POZVE S POMO][email protected] C-u M-$.
X tO VE,^TO I C-g.
x wYJTI IZ INTERAKTIWNOJ PROWERKI PRAWOPISANIQ I PEREMESTITX TO^KU NAZAD,
GDE ONA BYLA,KOGDA WY ZAPUSTILI PROWERKU.
q wYJTI IZ INTERAKTIWNOJ PROWERKI PRAWOPISANIQ I UNI^TOVITX PROCESS Ispell.
C-l pERERISOWATX\KRAN.
C-z |TOT [email protected]^ IMEET SWOE OBY^NOE ZNA^ENIE (PRIOSTANOWITX Emacs ILI MINIMIZI-
ROWATX\TOT FREJM).
kOMANDA ispell-complete-word,KOTORAQ PRIWQZANA K [email protected]^U M-
hTABi W REVIME Text I
RODSTWENNYH S NIM REVIMAH,POKAZYWAET SPISOK ZAWER[ENIJ,OSNOWYWAQSX NA ISPRAWLENII
ORFOGRAFII.wSTAWXTE NA^ALO SLOWA,A ZATEM NAPE^ATAJTE M-h TABi;\TA KOMANDA OTOBRAZIT
OKNO SO SPISKOM ZAWER[ENIJ.~TOBY WYBRATX ODNO IZ PERE^ISLENNYH ZAWER[ENIJ,]ELK-
NITE NA NEM Mouse-2 ILI PEREMESTITE K NEMU KURSOR I NAVMITE hRETi.sM.rAZDEL 21.7
[rEVIM Text],S.190.
oDNAVDY BUDU^I ZAPU]ENNYM,PODPROCESS Ispell PRODOLVAET RABOTATX (OVIDATX KAKOJ-
LIBO RABOTY),^TOBY [email protected]]IE KOMANDY PROWERKI PRAWOPISANIQ ZAWER[ALISX BYSTREE.
eSLI WY HOTITE IZBAWITXSQ OT PROCESSA Ispell,WOSPOLXZUJTESX M-x ispell-kill-ispell.
oBY^NO\TO NE TAK NEOBHODIMO,POSKOLXKU\TOT PROCESS NE ZANIMAET WREMQ,KOGDA WY NE
PROWODITE PROWERKU PRAWOPISANIQ.
Ispell ISPOLXZUET DWA SLOWARQ:STANDARTNYJ I WA[ LI^NYJ.pEREMENNAQ ispell-
dictionary ZADAET IMQ ISPOLXZUEMOGO FAJLA STANDARTNOGO SLOWARQ.zNA^ENIE nil GOWORIT,
^TO NUVNO ISPOLXZOWATX SLOWARX PO UMOL^[email protected] M-x ispell-change-dictionary
USTANAWLIWAET\TU [email protected] I ZATEM PEREZAPUSKAET PODPROCESS Ispell,^TOBY ON ISPOLX-
ZOWAL DRUGOJ SLOWARX.
gLAWA 14:rABOTA S FAJLAMI 10514 rABOTA S FAJLAMI
oPERACIONNAQ SISTEMA HRANIT POSTOQNNYE DANYE W IMENOWANNYH FAJLAH.pO\TOMU BOLX-
[AQ ^ASTX TEKSTA,KOTORYJ WY REDAKTIRUETE W Emacs,PRIHODIT IZ FAJLOW I W KONE^NOM
ITOGE ZAPISYWAETSQ W FAJL.
~TOBY REDAKTIROWATX FAJL,WY DOLVNY WELETX Emacs S^ITATX EGO I PODGOTOWITX BU-
FER,SODERVA]IJ [email protected] TEKSTA FAJLA.|TO NAZYWAETSQ OBRA]ENIEM K FAJLU.kOMANDY
REDAKTIROWANIQ [email protected] NEPOSREDSTWENNO K TEKSTU W BUFERE,TO ESTX K KOPII WNUTRI
Emacs.wA[I IZMENENIQ [email protected] W SAMOM FAJLE,TOLXKO KOGDA WY SOHRANITE BUFER W
FAJLE.
kROME OBRA]ENIQ K FAJLAM I IH SOHRANENIQ Emacs MOVET UDALQTX,KOPIROWATX,PERE-
IMENOWYWATX I DOBAWLQTX W FAJLY I RABOTATX S KATALOGAMI FAJLOW.
14.1 iMENA FAJLOW
bOLX[INSTWO KOMAND Emacs,KOTORYE [email protected] S FAJLAMI,[email protected] OT WAS UKAZANIQ
IMENI FAJLA.(zAPISX I WOSSTANOWLENIE [email protected] [email protected]^ENIEM;BUFERU IZWESTNO,KAKOE
IMQ FAJLA ISPOLXZUETSQ DLQ NIH.) iMENA FAJLOW [email protected] S ISPOLXZOWANIEM MINIBUFERA
(SM.gLAWA 5 [mINIBUFER],S.45).wY MOVETE ISPOLXZOWATX ZAWER[ENIE DLQ OBLEG^ENIQ
NAPISANIQ DLINNYH IMEN FAJLOW.sM.rAZDEL 5.3 [zAWER[ENIE],S.47.
dLQ BOLX[INSTWA OPERACIJ SU]ESTWUET IMQ FAJLA PO UMOL^[email protected],KOTOROE BUDET IS-
POLXZOWANO,ESLI WY NABERETE PROSTO h RETi,WWODQ PUSTOJ ARGUMENT.oBY^NO IMQ FAJLA
PO UMOL^[email protected] |\TO IMQ FAJLA,NAHODQ]EGOSQ W TEKU]EM BUFERE,^TO UPRO]AET DEJSTWIQ
NAD\TIM FAJLOM S POMO][email protected] [email protected] FAJLOWYH KOMAND Emacs.
kAVDYJ BUFER IMEET SWOJ KATALOG PO UMOL^[email protected],OBY^NO TOT VE SAMYJ,^TO I KATALOG
FAJLA,K KOTOROMU OBRA]AETSQ\TOT BUFERE.kOGDA WY WWODITE IMQ FAJLA,NE UKAZYWAQ
KATALOG,ON ISPOLXZUET KATALOG PO UMOL^[email protected] WY ZADADITE KATALOG W OTNOSITELXNOJ
FORME,S POMO][email protected] IMENI,KOTOROE NE NA^INAETSQ S KOSOJ ^ERTY,ONO INTERPRETIRUETSQ PO
OTNO[[email protected] K KATALOGU PO UMOL^[email protected] PO UMOL^[email protected] HRANITSQ W PEREMENNOJ
default-directory,KOTORAQ IMEET SWOE SOBSTWENNOE ZNA^ENIE W KAVDOM BUFERE.
nAPRIMER,ESLI PO UMOL^[email protected] IMQ FAJLA |`/u/rms/gnu/gnu.tasks',TO KATALOGOM
PO UMOL^[email protected] BUDET`u/rms/gnu/'.eSLI WY NABERETE PROSTO`foo',NE OPISYWAQ KATA-
LOG,TO\TO BUDET SOKRA]ENIEM DLQ`/u/rms/gnu/foo'.`../.login'BUDET SOOTWETSTWOWATX
`/u/rms/.login'.`new/foo'OBOZNA^AET FAJL S IMENEM`/u/rms/gnu/new/foo'.
kOMANDA M-x pwd PE^ATAET KATALOG PO UMOL^[email protected] DLQ TEKU]EGO BUFERA,A KOMANDA M-x
cd USTANAWLIWAET EGO (ZNA^ENIE S^ITYWAETSQ W MINIBUFERE).kATALOG PO UMOL^[email protected] W
BUFERE IZMENQETSQ TOLXKO TOGDA,KOGDA ISPOLXZUETSQ KOMANDA cd.kATALOG PO UMOL^[email protected]
DLQ BUFERA,OBRA][email protected]]EGOSQ K FAJLU,INICIALIZIRUETSQ PO KATALOGU FAJLA,K KOTOROMU ON
OBRATILSQ.eSLI BUFER SOZDAETSQ PROIZWOLXNYM OBRAZOM S POMO][email protected] C-x b,EGO KATALOG PO
UMOL^[email protected] KOPIRUETSQ IZ TOGO BUFERA,KOTORYJ BYL TEKU]IM W TOT MOMENT.
kATALOG PO UMOL^[email protected] FAKTI^ESKI POQWLQETSQ W MINIBUFERE,KOGDA MINIBUFER STANO-
WITSQ AKTIWNYM DLQ ^TENIQ IMENI FAJLA.|TO SLUVIT DWUM CELQM:^TOBY POKAZATX WAM,
^TO IMEETSQ PO UMOL^[email protected],TAK ^TO WY MOVETE NABRATX [email protected]]EE IMQ FAJLA I S
[email protected] UZNATX,^TO\TO BUDET ZNA^ITX,I ^TOBY POZWOLITX WAM OTREDAKTIROWATX
KATALOG PO UMOL^[email protected] I ZADATX DRUGOJ KATALOG.|TA PODSTANOWKA KATALOGA PO UMOL^[email protected]
NE DELAETSQ,ESLI PEREMENNAQ insert-default-directory USTANOWLENA RAWNOJ nil.
zAMETIM,^TO ZAKONNO NABIRATX POLNOE IMQ FAJLA POSLE TOGO,KAK WY WOJDETE W MINIBU-
FER,IGNORIRUQ PRISUTSTWIE IMENI KATALOGA PO UMOL^[email protected] KAK ^ASTI TEKSTA.oKON^ATELX-
NOE SODERVANIE MINIBUFERA MOVET KAZATXSQ NEPRAWILXNYM,NO NA SAMOM DELE\TO NE TAK.
nAPRIMER,ESLI SNA^ALA MINIBUFER SODERVAL`/usr/tmp/',I WY DOBAWILI`/x1/rms/foo',
106 rUKOWODSTWO PO GNU EmacsWY POLU^ITE`/usr/tmp//x1/rms/foo';NO Emacs IGNORIRUET WSE DO TOGO MESTA,GDE WSTRE-
^ENY DWE KOSYE ^ERTY PODRQD;W REZULXTATE POLU^AETSQ`/x1/rms/foo'.sM.rAZDEL 5.1
[mINIBUFER fAJL],S.45.
lITERA`$'W IMENI FAJLA ISPOLXZUETSQ DLQ PODSTANOWKI PEREMENNYH SREDY.nAPRIMER,
ESLI WY PRIMENILI KOMANDU OBOL^KI`export FOO=rms/hacks'DLQ USTANOWKI PEREMENNOJ
SREDY S IMENEM FOO,TO WY MOVETE ISPOLXZOWATX`/u/$FOO/test.c'ILI`/u/${FOO}/test.c'
W KA^ESTWE SOKRA]ENIQ DLQ`/u/rms/hacks/test.c'.iMQ PEREMENNOJ SREDY SOSTOIT IZ
WSEH BUKW I CIFR POSLE`$';ILI ONO MOVET BYTX [email protected]^ENO W FIGURNYE SKOBKI POSLE`$'.
zAMETXTE,^TO KOMANDY OBOLO^KI,KOTORYE [email protected] PEREMENNYE SREDY,[email protected]
NA Emacs,TOLXKO ESLI ONI BYLI WYPOLNENY DO ZAPUSKA Emacs.
~TOBY POLU^ITX DOSTUP K FAJLU,SODERVA]EMU W IMENI ZNAK`$',NAPE^ATAJTE`$$'.
|TA PARA PREWRA]AETSQ W ODIN`$',W TO WREMQ KAK DLQ ODINO^NOGO`$'DELAETSQ PODSTANOWKA
PEREMENNOJ.iLI WY MOVETE OTMENITX OSOBYJ SMYSL WSEH ZNAKOW W IMENI FAJLA S POMO][email protected]
POSLEDOWATELXNOSTI`/:'(SM.rAZDEL 14.13 [bUKWALXNYE IMENA FAJLOW],S.134).
lISPOWSKAQ FUNKCIQ,KOTORAQ PROIZWODIT PODSTANOWKU,NAZYWAETSQ substitute-in-
file-name.pODSTANOWKA WYPOLNQETSQ TOLXKO DLQ IMEN FAJLOW,S^ITYWAEMYH KAK TAKOWYE
S ISPOLXZOWANIEM MINIBUFERA.
wY MOVETE [email protected]^ATX W IMENA FAJLOW ZNAKI,NE WHODQ]IE W ASCII,ESLI USTANOWITE PERE-
[email protected] file-name-coding-system W OTLI^NOE OT nil ZNA^ENIE.sM.rAZDEL 18.9 [zADANIE
KODIROWANIQ],S.168.
14.2 oBRA]ENIE K FAJLAM
C-x C-f oBRATITXSQ K FAJLU (find-file).
C-x C-r oBRATITXSQ K FAJLU DLQ PROSMOTRA,NE DOPUSKAQ EGO IZMENENIQ (find-file-
read-only).
C-x C-v oBRATITXSQ K DRUGOMU FAJLU,WMESTO POSLEDNEGO POSE]ENNOGO (find-
alternate-file).
C-x 4 f oBRATITXSQ K FAJLU W DRUGOM OKNE (find-file-other-window).nE MENQET TE-
KU]EE OKNO.
C-x 5 f oBRATITXSQ K FAJLU W DRUGOM FREJME (find-file-other-frame).nE IZMENQET
TO,^TO OTOBRAVETSQ W WYBRANNOM FREJME.
M-x find-file-literally
oBRATITXSQ K FAJLU BEZ PREOBRAZOWANIQ EGO SODERVIMOGO.
oBRA]ENIE K FAJLU OZNA^AET KOPIROWANIE EGO SODERVIMOGO W BUFER Emacs,GDE WY MO-
VETE EGO REDAKTIROWATX.EmAcs SOZDAET NOWYJ BUFER DLQ KAVDOGO FAJLA,K KOTOROMU WY
OBRA]AETESX.mY GOWORIM,^TO\TOT BUFER OBRA]AETSQ K FAJLU,DLQ HRANENIQ KOTOROGO ON
BYL SOZDAN.Emacs SOZDAET IMQ BUFERA IZ IMENI FAJLA,OTBRASYWAQ KATALOG I SOHRANQQ
PROSTO SOBSTWENNO IMQ.nAPRIMER,FAJL S IMENEM`/usr/rms/emacs.tex'POLU^IT BUFER S
IMENEM`emacs.tex'.eSLI BUFER S TAKIM IMENEM UVE SU]ESTWUET,TO SOZDAETSQ UNIKALXNOE
IMQ PUTEM DOBAWLENIQ`<2>',`<3>'I TAK DALEE;PRI\TOM ISPOLXZUETSQ NAIMENX[IJ NOMER,
[email protected]]IJ E]E NE ISPOLXZUEMOE IMQ.
sTROKA REVIMA KAVDOGO OKNA POKAZYWAET IMQ BUFERA,KOTORYJ OTRAVEN W\TOM OKNE,
TAKIM OBRAZOM WY WSEGDA MOVETE SKAZATX,KAKOJ BUFER REDAKTIRUETE.
wSE IZMENENIQ,SDELANNYE PRI POMO]I KOMAND REDAKTIROWANIQ,[email protected] W BUFERE
Emacs.oNI NE [email protected] NA FAJL,K KOTOROMU WY OBRATILISX,ILI NA [email protected] DRUGOE PO-
STOQNNOE MESTO,POKA WY NE SOHRANILI BUFER.sOHRANENIE BUFERA OZNA^AET,^TO Emacs
ZAPISYWAET TEKU]EE SODERVIMOE\TOGO BUFERA W FAJL,K KOTOROMU ON OBRA]ALSQ.sM.rAZDEL 14.3 [sOHRANENIE],S.108.
gLAWA 14:rABOTA S FAJLAMI 107eSLI BUFER SODERVIT IZMENENIQ,KOTORYE NE BYLI SOHRANENY,TO O BUFERE GOWORITSQ,
^TO ON IZMENEN (ILI MODIFICIROWAN).|TO WAVNO,TAK KAK\TO PODRAZUMEWAET,^TO KAKIE-
TO IZMENENIQ [email protected],ESLI BUFER NE BUDET SOHRANEN.eSLI BUFER IZMENEN,OKOLO LEWOGO
KRAQ STROKA REVIMA [email protected] DWE ZWEZDO^KI.
~TOBY OBRATITXSQ K FAJLU,ISPOLXZUJTE KOMANDU C-x C-f (find-file).pOSLE NEE WWE-
DITE IMQ FAJLA,KOTORYJ WY HOTITE POSETITX,OGRANI^ENNOE hRETi.
iMQ FAJLA S^ITYWAETSQ S ISPOLXZOWANIEM MINIBUFERA (SM.gLAWA 5 [mINIBUFER],S.45)
S ISPOLXZOWANIEM ZNA^ENIJ PO UMOL^[email protected] I ZAWER[ENIEM STANDARTNYM SPOSOBOM (SM.rAZ-
DEL 14.1 [iMENA FAJLOW],S.105 ).pOKA WY NAHODITESX W MINIBUFERE,WY MOVETE PRERWATX
WYPOLNENIE C-x C-f,NABRAW C-g.
pODTWERVDENIEM TOGO,^TO C-x C-f ZAWER[ILASX UDA^NO,SLUVIT POQWLENIE NOWOGO TEK-
STA NA\KRANE I NOWOGO IMENI BUFERA W STROKE REVIMA.eSLI UKAZANNYJ FAJL NE SU]ESTWUET
I NE MOVET BYTX SOZDAN ILI S^ITAN,TOGDA WOZNIKAET O[IBKA.sOOB]ENIE O NEJ PE^ATAETSQ
W\HO-OBLASTI.
eSLI WY OBRA]AETESX K FAJLU,KOTORYJ UVE SU]ESTWUET W Emacs,C-x C-f NE SOZDAET
DRUGOJ KOPII.oNA WYBIRAET SU][email protected]]IJ BUFER,SODERVA]IJ\TOT FAJL.oDNAKO,PE-
RED\TIM ONA PROWERQET,NE IZMENILSQ LI SAM FAJL S TEH POR,KAK WY OBRATILISX K NEMU
ILI ZAPISALI EGO W PRO[LYJ RAZ.eSLI FAJL BYL IZMENEN,TO BUDET NAPE^ATANO PREDO-
[email protected]]EE SOOB]ENIE.sM.rAZDEL 14.3.2 [zA]ITA OT ODNOWREMENNOGO REDAKTIROWANIQ],
S.112.
a ^TO ESLI WY ZAHOTITE SOZDATX NOWYJ FAJL?pROSTO OBRATITESX K NEMU.Emacs PE^A-
TAET W\HO-OBLASTI`(New File)',NO W DRUGIH OTNO[ENIQH WEDET SEBQ TAK VE,KAK,ESLI BY
WY OBRATILISX BY K SU][email protected]]EMU PUSTOMU FAJLU.eSLI WY SDELAETE [email protected] IZMENENIQ
I ZAPI[ETE IH,TO FAJL BUDET SOZDAN.
Emacs UZNA<T IZ SODERVIMOGO FAJLA,KAKOE SOGLA[ENIE ISPOLXZUETSQ W NEM DLQ RAZDE-
LENIQ STROK | PEREWOD STROKI (ISPOLXZUEMYJ W GNU/Linux I Unix),WOZWRAT KARETKI I
PEREWOD STROKI (ISPOLXZUEMYE W SISTEMAH Microsoft) ILI PROSTO WOZWRAT KARETKI (ISPOLX-
ZUEMYJ NA Macintosh) | I AWTOMATI^ESKI PREOBRAZUET SODERVIMOE K OBY^NOMU FORMATU
Emacs,W KOTOROM STROKI [email protected] ZNAKAMI PEREWODA STROKI.|TO ^ASTX OB]EGO SRED-
STWA PREOBRAZOWANIQ SISTEMY KODIROWANIQ (SM.rAZDEL 18.7 [sISTEMY KODIROWANIQ],S.165),
I\TO POZWOLQET REDAKTIROWATX FAJLY,PERENESENNYE S RAZLI^NYH OPERACIONNYH SISTEM S
ODINAKOWYM UDOBSTWOM.eSLI WY IZMENILI TEKST I SOHRANILI FAJL,Emacs PROIZWODIT
OBRATNOE PREOBRAZOWANIE,ZAMENQQ PEREWODY STROKI NA WOZWRAT KARETKI I PEREWOD STROKI
ILI PROSTO WOZWRAT KARETKI,ESLI\TO NEOBHODIMO.
eSLI UKAZANNYJ WAMI FAJL FAKTI^ESKI QWLQETSQ KATALOGOM,TO C-x C-f WYZYWAET Dired,
BROUZER KATALOGOW Emacs,^TOBY WY MOGLI\REDAKTIROWATX"SODERVIMOE\TOGO KATALOGA (SM.gLAWA 28 [Dired],S.291).Dired PREDOSTAWLQET UDOBNYJ SPOSOB UDALENIQ,PROSMOTRA ILI
OBRABOTKI FAJLOW W KATALOGE.oDNAKO,ESLI PEREMENNAQ find-file-run-dired RAWNA nil,
POPYTKA OBRATITXSQ K KATALOGU BUDET S^ITATXSQ O[IBKOJ.
eSLI ZADANNOE WAMI IMQ FAJLA SODERVIT SIMWOLY PODSTANOWKI,Emacs OBRA]AETSQ KO
WSEM FAJLAM,[email protected]]IM\TOMU IMENI.sM.rAZDEL 14.13 [bUKWALXNYE IMENA FAJ-
LOW],S.134,ESLI WY HOTITE OBRATITXSQ K FAJLU,^XE IMQ W SAMOM DELE SODERVIT SIMWOLY
PODSTANOWKI.
eSLI OPERACIONNAQ SISTEMA NE POZWOLQET WAM IZMENQTX FAJL,K KOTOROMU WY OBRA]AE-
TESX,Emacs DELAET BUFER DOSTUPNYM TOLXKO DLQ ^TENIQ,TAK ^TO U WAS NE POLU^ITSQ WNESTI
IZMENENIQ,KOTORYE BUDET PROBLEMATI^NO WPOSLEDSTWII SOHRANITX.wY MOVETE SDELATX BU-
FER DOSTUPNYM DLQ ZAPISI S POMO][email protected] C-x C-q (vc-toggle-read-only).sM.rAZDEL 15.3
[dRUGIE OPERACII S BUFERAMI],S.136.
iNOGDA WY MOVETE ZAHOTETX OBRATITXSQ K FAJLU W REVIME TOLXKO ^TENIQ,^TOBY ZA-
]ITITXSQ OT SLU^AJNOGO WNESENIQ IZMENENIJ;DELAJTE\TO,OBRA]AQSX K FAJLU S POMO][email protected]
KOMANDY C-x C-r (find-file-read-only).
108 rUKOWODSTWO PO GNU EmacseSLI WY OBRATILISX K NESU][email protected]]EMU FAJLU NEUMY[LENNO (TAK KAK WY NABRALI
NEPRAWILXNOE IMQ FAJLA),ISPOLXZUJTE KOMANDU C-x C-v (find-alternate-file),^TOBY
OBRATITXSQ K FAJLU,KOTORYJ WAM NUVEN NA SAMOM DELE.C-x C-v PODOBNA C-x C-f,NO
UNI^TOVAET TEKU]IJ BUFER (POSLE TOGO,KAK SNA^ALA PREDLOVIT ZAPISATX EGO,ESLI ON
IZMENEN).pRI S^ITYWANII NOWOGO IMENI FAJLA ONA WSTAWLQET POLNOE IMQ TEKU]EGO FAJ-
LA,OSTAWLQQ TO^KU SRAZU POSLE IMENI KATALOGA;\TO UDOBNO,ESLI WY SDELALI NEBOLX[[email protected]
O[IBKU,KOGDA WWODILI IMQ FAJLA.
eSLI WY OBRA]AETESX K FAJLU,KOTORYJ SU]ESTWUET,NO NE MOVET BYTX PRO^ITAN,C-x
C-f WYDAET O[IBKU.
C-x 4 f (find-file-other-window) POHOVA NA C-x C-f,NO BUFER,SODERVA]IJ OPISAN-
NYJ FAJL,WYBIRAETSQ W DRUGOM OKNE.oKNO,KOTOROE BYLO WYBRANNO DO WYZOWA C-x 4
f,PRODOLVAET POKAZYWATX TOT VE BUFER,KOTORYJ UVE POKAZYWALSQ.eSLI\TA KOMANDA
ISPOLXZUETSQ,KOGDA SU]ESTWUET TOLXKO ODNO OKNO,TO\TO OKNO DELITSQ NA DWA,ODNO IZ
KOTORYH PRODOLVAET POKAZYWATX TO VE,^TO I PREVDE,A DRUGOE POKAZYWAET NOWYJ ZATRE-
BOWANNYJ FAJL.sM.gLAWA 16 [oKNA],S.141.
C-x 5 f (find-file-other-frame) ANALOGI^NA\TOJ KOMANDE,NO OTKRYWAET NOWYJ FREJM
ILI DELAET WIDIMYM [email protected] SU][email protected]]IJ FREJM,[email protected]]IJ ISKOMYJ FAJL.|TO
WOZMOVNO,TOLXKO ESLI WY POLXZUETESX OKONNOJ SISTEMOJ.sM.gLAWA 17 [fREJMY],S.147.
eSLI WY HOTITE OTREDAKTIROWATX FAJL KAK POSLEDOWATELXNOSTX ZNAKOW BEZ OSOBOJ PE-
REKODIROWKI ILI PREOBRAZOWANIQ,ISPOLXZUJTE KOMANDU M-x find-file-literally.oNA
OBRA]AETSQ K FAJLU,KAK C-x C-f,NO NE DELAET PREOBRAZOWANIQ FORMATA (SM.rAZDEL 21.11
[fORMATIROWANNYJ TEKST],S.198 ),PREOBRAZOWANIQ ZNAKOWYH KODOW (SM.rAZDEL 18.7 [sI-
STEMY KODIROWANIQ],S.165 ) ILI AWTOMATI^ESKOJ RASPAKOWKI (SM.rAZDEL 14.11 [sVATYE
FAJLY],S.133 ).eSLI WY UVE OBRA]AETESX K\TOMU VE FAJLU OBY^NYM SPOSOBOM (NE BUK-
WALXNO),\TA KOMANDA SPROSIT WAS,OBRATITXSQ LI K NEMU W\TOT RAZ BUKWALXNO.
dWE PEREMENNYE-LOWU[KI [email protected] RAS[IRENIQM IZMENQTX SPOSOB OBRA]ENIQ K FAJ-
LAM.oBRA]ENIE K NESU]ESTWUE]EMU FAJLU ZAPUSKAET FUNKCII W SPISKE find-file-not-
found-hooks;ZNA^ENIE\TOJ PEREMENNOJ | SPISOK FUNKCIJ,I\TI FUNKCII [email protected]
ODNA ZA DRUGOJ DO TEH POR,POKA ODNA IZ NIH NE WERNET OTLI^NOE OT nil ZNA^[email protected]
OBRA]ENIE K FAJLU,SU][email protected]]EMU ILI NET,PREDPOLAGAET,^TO find-file-hooks SODER-
VIT SPISOK FUNKCIJ,I WYZYWAET IH WSE ODNU ZA DRUGOJ.w OBOIH SLU^AQH FUNKCII WYZYWA-
@TSQ BEZ ARGUMENTOW.pERWOJ PRIMENQETSQ PEREMENNAQ find-file-not-found-hooks.|TI
PEREMENNYE NE NORMALXNYE LOWU[KI,I DLQ OBOZNA^ENIQ\TOGO IH IMENA ZAKAN^[email protected] NA
`-hooks',A NE NA`-hook'.sM.rAZDEL 31.2.3 [lOWU[KI],S.349.
eSTX NESKOLXKO SPOSOBOW AWTOMATI^ESKI UKAZATX OSNOWNOJ REVIM DLQ REDAKTIROWANIQ
FAJLA (SM.rAZDEL 19.1 [wYBOR REVIMA],S.175) I USTANOWITX LOKALXNYE PEREMENNYE,
OPREDELENNYE DLQ\TOGO FAJLA (SM.rAZDEL 31.2.5 [pEREMENNYE FAJLA],S.351).
14.3 sOHRANENIE FAJLOW
sOHRANENIE BUFERA W Emacs OZNA^AET ZAPISX EGO SODERVIMOGO OBRATNO W FAJL,K KOTO-
ROMU\TOT BUFER OBRA]AETSQ.
C-x C-s sOHRANITX TEKU]IJ BUFER W FAJLE,K KOTOROMU\TOT BUFER OBRA]AETSQ (save-
buffer).
C-x s sOHRANITX NEKOTORYE ILI WSE BUFERY W IH [email protected]]IH FAJLAH (save-
some-buffers).
M-~ zABYTX,^TO TEKU]IJ BUFER BYL IZMENEN (not-modified).
C-x C-w sOHRANITX TEKU]IJ BUFER W ZADANNYJ FAJL (write-file).
M-x set-visited-file-name
iZMENITX IMQ FAJLA,POD KOTORYM TEKU]IJ BUFER BUDET SOHRANQTXSQ.
gLAWA 14:rABOTA S FAJLAMI 109eSLI WY HOTITE SOHRANITX FAJL I SDELATX EGO IZMENENIQ POSTOQNNYMI,NABERITE C-x
C-s (save-buffer).pOSLE TOGO,KAK ZAPISX ZAKON^ITSQ,C-x C-s PE^ATAET SOOB]ENIE PODOB-
NOE\TOMU:
Wrote/u/rms/gnu/gnu.tasks
eSLI VE WYBRANNYJ BUFER NE MODIFICIROWAN (W NEM NE BYLO SDELANO IZMENENIJ S TEH POR,
KAK ON BYL SOZDAN ILI POSLEDNIJ RAZ ZAPISAN),EGO ZAPISX NE DELAETSQ,TAK KAK\TO NE IMEET
SMYSLA.wMESTO\TOGO,C-x C-s PE^ATAET TAKOE SOOB]ENIE W\HO-OBLASTI:
(No changes need to be saved)
kOMANDA C-x s (save-some-buffers) PREDLAGAET ZAPISATX KAKIE-LIBO ILI WSE IZMENEN-
NYE BUFERY.oNA SPRA[IWAET WAS,^TO NUVNO SDELATX S KAVDYM BUFEROM.wOZMOVNYE
WARIANTY OTWETA ANALOGI^NY WARIANTAM DLQ query-replace:
y sOHRANITX\TOT BUFER I SPRA[IWATX OB OSTALXNYH.
n nE SOHRANQTX\TOT BUFER,NO SPRA[IWATX OB OSTALXNYH.
!sOHRANITX\TOT BUFER I WSE OSTALXNYE BEZ DALXNEJ[IH WOPROSOW.
h RETi pRERWATX save-some-buffers I BOLX[E NI^EGO NE ZAPISYWATX.
.sOHRANITX\TOT BUFER I WYJTI IZ save-some-buffers,NE SPRA[IWAQ OB OSTALX-
NYH BUFERAH.
C-r pROSMOTRETX BUFER,O KOTOROM WAS SPROSILI W DANNYJ MOMENT.kOGDA WY WYJ-
DITE IZ REVIMA View,WY SNOWA POPADAETE W save-some-buffers,KOTORAQ PRO-
DOLVAET ZADAWATX WAM WOPROSY.
C-h pOKAZATX SPRAWO^NOE SOOB]ENIE O\TIH WARIANTAH OTWETA.
C-x C-c,POSLEDOWATELXNOSTX [email protected]^EJ DLQ WYHODA IZ Emacs,WYZYWAET save-some-
buffers I,SLEDOWATELXNO,ZADAET\TI VE WOPROSY.
eSLI WY IZMENILI BUFER,NO NE HOTITE ZAPISYWATX IZMENENIQ,WY DOLVNY PREDPRINQTX
NEKOTORYE DEJSTWIQ,^TOBY PREDOTWRATITX\TO.iNA^E KAVDYJ RAZ,KOGDA WY ISPOLXZUE-
TE C-x s ILI C-x C-c,WY MOVETE PO O[IBKE EGO ZAPISATX.s ODNOJ STORONY,WY MOVETE
NABRATX M-~ (not-modified),^TO SBRASYWAET POKAZATELX IZMENENNOSTI BUFERA.eSLI WY
SDELAETE TAK,TO NI ODNA IZ KOMAND ZAPISI NE BUDET DUMATX,^TO BUFER NUVNO SOHRANQTX.
(`~'^ASTO ISPOLXZUETSQ KAK MATEMATI^ESKIJ SIMWOL DLQ OBOZNA^ENIQ OTRICANIQ,TAKIM
OBRAZOM,POSLEDOWATELXNOSTX M-~ |\TO META-OTRICANIE).wY MOGLI BY TAKVE ISPOLXZO-
WATX set-visited-file-name (SMOTRITE NIVE),^TOBY POMETITX BUFER,KAK OBRATIW[IJSQ
K FAJLU S DRUGIM IMENEM,KOTORYJ NE ISPOLXZOWALSQ DLQ ^EGO-TO WAVNOGO.s DRUGOJ STO-
RONY,WY MOVETE OTMENITX WSE IZMENENIQ,SDELANNYE S TEH POR,KOGDA K FAJLU OBRATILISX,
ILI ON BYL ZAPISAN,S POMO][email protected] POWTORNOGO S^ITYWANIQ TEKSTA IZ FAJLA.|TO NAZYWAETSQ
WOZWRA]ENIEM K PREVNEMU [email protected] 14.4 [wOZWRA]ENIE],S.113.wY MOGLI
BY TAKVE OTMENITX WSE IZMENENIQ,POWTORQQ KOMANDU OTMENY C-x u DOSTATO^NO DOLGO;NO
WOZWRA]ENIE PRO]E.
M-x set-visited-file-name ZAMENQET IMQ FAJLA,K KOTOROMU OBRA]AETSQ TEKU]IJ BU-
FER.oNA S^ITYWAET NOWOE IMQ FAJLA,ISPOLXZUQ MINIBUFER.zATEM SOOTWETSTWENNO IZ-
MENQETSQ IMQ BUFERA (ESLI NOWOE IMQ UVE NE ISPOLXZUETSQ).set-visited-file-name NE
ZAPISYWAET BUFER W NOWYJ WYZWANNYJ FAJL,ONA PROSTO MENQET ZAPISI WNUTRI Emacs NA
SLU^AJ [email protected]]EGO SOHRANENIQ.oNA TAK VE POME^AET BUFER KAK\IZMENENNYJ",TAK ^TO
C-x C-s BUDET EGO SOHRANQTX.
eSLI WY HOTITE POMETITX BUFER KAK OBRA][email protected]]IJSQ K DRUGOMU FAJLU I SRAZU EGO
ZAPISATX,ISPOLXZUJTE C-x C-w (write-file).|TO SOWER[ENNO TO^NYJ\KWIWALENT set-
visited-file-name,ZA KOTORYM SLEDUET C-x C-s.iSPOLXZOWANIE C-x C-s W BUFERE,KO-
TORYJ NE OBRA]ALSQ K FAJLU,IMEET TO VE SAMOE DEJSTWIE,^TO I C-x C-w;TO ESTX,ONA
S^ITYWAET IMQ FAJLA,METIT BUFER KAK OBRA][email protected]]IJSQ K\TOMU FAJLU I ZAPISYWAET EGO
110 rUKOWODSTWO PO GNU EmacsTUDA.pO UMOL^[email protected] IMQ FAJLA W BUFERE,KOTORYJ NE OBRA]ALSQ K FAJLU,SOSTAWLQETSQ IZ
IMENI BUFERA I KATALOGA PO UMOL^[email protected] DLQ\TOGO BUFERA.
eSLI NOWOE IMQ FAJLA PODRAZUMEWAET OSNOWNOJ REVIM,TO C-x C-w W BOLX[INSTWE SLU-
^AEW [email protected]^AET W\TOT REVIM.kOMANDA set-visited-file-name WEDET SEBQ TAK VE.sM.rAZDEL 19.1 [wYBOR REVIMA],S.175.
eSLI Emacs SOBIRAETSQ ZAPISATX FAJL I WIDIT,^TO DATA POSLEDNEJ WERSII NA DISKE NE
SOOTWETSTWUET TOMU,^TO ON POSLEDNIJ RAZ ^ITAL ILI ZAPISYWAL,TO ON STAWIT WAS W IZWEST-
NOSTX OB\TOM FAKTE,TAK KAK\TO,WOZMOVNO,WYQWLQET PROBLEMU,[email protected] ODNOWREMEN-
NYM REDAKTIROWANIEM,I TREBUET WA[EGO NEZAMEDLITELXNOGO WNIMANIQ.sM.rAZDEL 14.3.2
[zA]ITA OT ODNOWREMENNOGO REDAKTIROWANIQ],S.112.
eSLI PEREMENNAQ require-final-newline NE RAWNA nil,Emacs STAWIT OGRANI^ITELX
STROKI W KONEC KAVDOGO FAJLA,KOTORYJ NE ZAKON^IWAETSQ IM,KAVDYJ RAZ,KOGDA FAJL
SOHRANQETSQ ILI ZAPISYWAETSQ.pO UMOL^[email protected]\TA PEREMENNAQ RAWNA nil.
14.3.1 rEZERWNYE FAJLY
w BOLX[INSTWE OPERACIONNYH SISTEM PEREPISYWANIE FAJLA AWTOMATI^ESKI RAZRU[AET
WSE SWEDENIQ O TOM,^TO\TOT FAJL SODERVAL RANX[E.tAKIM OBRAZOM,ZAPISX FAJLA IZ
Emacs OTBRASYWAET STAROE SODERVIMOE FAJLA | ILI MOVET OTBROSITX,ESLI PERED FAKTI-
^ESKOJ [email protected] Emacs PREDUSMOTRITELXNO NE SKOPIRUET STAROE SODERVIMOE W DRUGOJ FAJL,
NAZYWAEMYJ REZERWNYM.
dLQ BOLX[INSTWA FAJLOW RE[ENIE O SOZDANII REZERWNYH KOPIJ OPREDELQETSQ PEREMENNOJ
make-backup-files.nA BOLX[INSTWE OPERACIONNYH SISTEM EE ZNA^ENIE PO UMOL^[email protected]
RAWNO t,^TO WELIT Emacs SOZDAWATX REZERWNYE FAJLY.
dLQ FAJLOW,NAHODQ]IHSQ POD KONTROLEM SISTEMY UPRAWLENIQ WERSIQMI (SM.rAZDEL 14.7
[uPRAWLENIE WERSIQMI],S.116 ),\TO OPREDELQETSQ PEREMENNOJ vc-make-backup-files.pO
UMOL^[email protected] ONA RAWNA nil,TAK KAK REZERWNYE KOPII IZLI[NI,RAZ WY ZAPISYWAETE WSE PRE-
DYDU]IE WERSII W SISTEME UPRAWLENIQ WERSIQMI.sM.rAZDEL 14.7.9.2 [oBRABOTKA RABO^IH
FAJLOW W VC],S.130.
sU][email protected]]EE PO UMOL^[email protected] ZNA^ENIE PEREMENNOJ backup-enable-predicate ZAPRE]A-
ET ZAPISYWATX REZERWNYE KOPII DLQ FAJLOW IZ KATALOGA`/tmp'.
pO WA[EMU WYBORU Emacs MOVET SOHRANQTX LIBO TOLXKO ODIN REZERWNYJ FAJL,LIBO
NESKOLXKO NUMEROWANNYH REZERWNYH FAJLOW DLQ KAVDOGO FAJLA,KOTORYJ WY REDAKTIROWA-
LI.
Emacs SOZDAET REZERWNYJ FAJL TOLXKO PERWYJ RAZ,KOGDA FAJL ZAPISYWAETSQ IZ ODNOGO
BUFERA.wNE ZAWISIMOSTI OT TOGO,SKOLXKO RAZ WY ZAPISYWALI FAJL,EGO REZERWNAQ KOPIQ
PRODOLVAET SODERVATX TO,^TO BYLO W FAJLE PERED OBRA]ENIEM.oBY^NO\TO OZNA^AET,^TO
REZERWNYJ FAJL SODERVIT TO,^TO BYLO W FAJLE PERED TEKU]IM SEANSOM REDAKTIROWANIQ;
ODNAKO,ESLI WY UNI^TOVITE BUFER,A ZATEM OBRATITESX K FAJLU SNOWA,TO PRI [email protected]]EM
SOHRANENII BUDET SOZDAN NOWYJ REZERWNYJ FAJL.
wY TAKVE MOVETE QWNO ZAPROSITX SOZDANIE E]E ODNOJ REZERWNOJ KOPII IZ BUFERA,DAVE
ESLI BUFER BYL UVE SOHRANEN HOTQ BY RAZ.eSLI WY SOHRANITE BUFER S POMO][email protected] C-u C-x
C-s,ZAPISANNAQ TAKIM SPOSOBOM WERSIQ STANET REZERWNOJ,ESLI WY SOHRANITE BUFER SNOWA.
C-u C-u C-x C-s SOHRANQET BUFER,NO SNA^ALA PERENOSIT STAROE SODERVIMOE FAJLA W NOWYJ
REZERWNYJ FAJL.C-u C-u C-u C-x C-s DELAET I TO,I DRUGOE:ONA SOZDAET [email protected] [email protected]
STAROGO SODERVIMOGO I GOTOWITSQ SDELATX E]E ODNU IZ WNOWX SOHRANENNOGO SODERVIMOGO,
ESLI WY SOHRANITE BUFER OPQTX.
14.3.1.1 oDINO^NYE ILI NUMEROWANNYE REZERWNYE FAJLY
eSLI WY RE[ILI DERVATX EDINSTWENNYJ REZERWNYJ FAJL (^TO PRINIMAETSQ PO UMOL^A-
[email protected]),TO EGO IMQ SOSTAWLQETSQ PUTEM DOBAWLENIQ`~'K IMENI REDAKTIRUEMOGO FAJLA,TAKIM
OBRAZOM,REZERWNYJ FAJL DLQ`eval.c'NAZYWALSQ BY`eval.c~'.
gLAWA 14:rABOTA S FAJLAMI 111eSLI WY ZAHOTITE IMETX [email protected] PRONUMEROWANNYH REZERWNYH FAJLOW,TO IH IMENA SOZDA-
@TSQ PUTEM DOBAWLENIQ`.~',NOMERA I DRUGOJ`~'K ISHODNOMU IMENI FAJLA.tAKIM OBRAZOM,
REZERWNYE KOPII FAJLA`eval.c'BUDUT NAZYWATXSQ`eval.c.~1~',`eval.c.~2~'I TAK DALEE,
PROHODQ ^EREZ TAKIE IMENA,KAK`eval.c.~259~'I WY[E.
eSLI ZA]ITA ZAPRE]AET WAM ZAPISYWATX REZERWNYE FAJLY POD OBY^NYMI IMENAMI,TO
ONI [email protected] KAK`%backup%~'W WA[EM NA^ALXNOM KATALOGE.mOVET SU]ESTWOWATX
TOLXKO ODIN TAKOJ FAJL,PO\TOMU DOSTUPNA TOLXKO REZERWNAQ KOPIQ,SDELANNAQ SAMOJ PO-
SLEDNEJ.
wYBOR EDINSTWENNOGO REZERWNOGO FAJLA ILI NESKOLXKIH UPRAWLQETSQ PEREMENNOJ
version-control.eE WOZMOVNYE ZNA^ENIQ:
t sOZDAWATX NUMEROWANNYE REZERWNYE FAJLY.
nil sOZDAWATX NUMEROWANNYE REZERWNYE FAJLY DLQ FAJLOW,KOTORYE UVE [email protected]
NUMEROWANNYE FAJLY.iNA^E SOZDAWATX ODIN REZERWNYJ FAJL.
never nIKOGDA NE SOZDAWATX NUMEROWANNYE FAJLY,WSEGDA DELATX ODINO^NYJ REZERW-
NYJ FAJL.
wY MOVETE USTANOWITX version-control LOKALXNO W OTDELXNOM BUFERE,DLQ UPRAWLENIQ
SOZDANIEM REZERWNYH KOPIJ FAJLA\TOGO BUFERA.nAPRIMER,REVIM Rmail LOKALXNO USTA-
NAWLIWAET version-control NA never,^TOBY BYTX UWERENNYM,^TO DLQ Rmail-FAJLA SU]E-
STWUET TOLXKO ODIN REZERWNYJ FAJL.sM.rAZDEL 31.2.4 [lOKALXNYE PEREMENNYE],S.350.
eSLI WY USTANOWITE [email protected] SREDY VERSION_CONTROL,^TOBY UKAZATX RAZLI^NYM
UTILITAM GNU,^TO DELATX S REZERWNYMI FAJLAMI,Emacs TAKVE POD^INQETSQ EJ,USTA-
NAWLIWAQ SOOTWETSTWENNO WO WREMQ ZAPUSKA [email protected] lISPA version-control.eSLI
ZNA^ENIE\TOJ PEREMENNOJ SREDY RAWNO`t'ILI`numbered',TO version-control STANOWITSQ
RAWNOJ t;ESLI\TO ZNA^ENIE RAWNO`nil'ILI`existing',TO version-control STANOWITSQ
nil;ESLI\TO`never'ILI`simple',TO version-control USTANAWLIWAETSQ W ZNA^ENIE never.
14.3.1.2 aWTOMATI^ESKOE UDALENIE REZERWNYH FAJLOW
~TOBY PREDOTWRATITX NEOGRANI^ENNOE POTREBLENIE PROSTRANSTWA NA DISKE,Emacs MO-
VET UDALQTX PRONUMEROWANNYE REZERWNYE WERSII FAJLOW AWTOMATI^ESKI.oBY^NO Emacs
HRANIT TOLXKO NESKOLXKO PERWYH I NESKOLXKO POSLEDNIH REZERWNYH FAJLOW,UNI^TOVAQ WSE
NAHODQ]IESQ MEVDU NIMI.|TO PROISHODIT KAVDYJ RAZ,KOGDA SOZDAETSQ NOWYJ REZERWNYJ
FAJL.
dWUMQ PEREMENNYMI,[email protected]]IMI UDALENIE,[email protected] kept-old-versions I
kept-new-versions.iH ZNA^ENIQ |\TO,SOOTWETSTWENNO,NOMER SAMOJ STAROJ REZERWNOJ
KOPII FAJLA (NAIMENX[IJ NOMER),KOTORAQ DOLVNA BYTX SOHRANENA,I NOMER SAMOJ POSLED-
NEJ KOPII (NAIBOLX[IJ NOMER),KOTORAQ DOLVNA SOHRANQTXSQ KAVDYJ RAZ,KOGDA SOZDAETSQ
NOWAQ KOPIQ.pOMNITE,^TO\TI ZNA^ENIQ [email protected] SRAZU POSLE TOGO,KAK SOZDASTSQ
NOWAQ REZERWNAQ KOPIQ;WNOWX SOZDANNAQ KOPIQ [email protected]^AETSQ W S^ET^IK kept-new-version.
pO UMOL^[email protected] OBE PEREMENNYE RAWNY 2.
eSLI delete-old-versions NE RAWNA nil,TO IZLI[EK SREDNIH WERSIJ UNI^TOVAETSQ
BEZROPOTNO.eSLI VE ONA nil,KAK PO UMOL^[email protected],TOGDA WAS SPRA[[email protected],DOLVEN LI BYTX
UNI^TOVEN IZLI[EK PROMEVUTO^NYH WERSIJ.
kOMANDA Dired.(TO^KA) TAKVE MOVET BYTX ISPOLXZOWANA DLQ UDALENIQ STARYH WERSIJ.
sM.rAZDEL 28.3 [uDALENIE W Dired],S.291.
14.3.1.3 kOPIROWANIE vs.PEREIMENOWANIE
rEZERWNYE FAJLY MOGUT BYTX SOZDANY S POMO][email protected] KOPIROWANIQ STAROGO FAJLA ILI S
POMO][email protected] EGO PEREIMENOWANIQ.|TI WARIANTY RAZLI^[email protected],KOGDA STARYJ FAJL IMEET
112 rUKOWODSTWO PO GNU EmacsNESKOLXKO IMEN.eSLI STARYJ FAJL PEREIMENOWYWAETSQ W REZERWNYJ,TOGDA O^EREDNYE IME-
NA STANOWQTSQ IMENAMI DLQ REZERWNOGO FAJLA.eSLI WMESTO\TOGO STARYJ FAJL KOPIRUETSQ,
TO O^EREDNYE IMENA [email protected] IMENAMI DLQ FAJLA,KOTORYJ WY REDAKTIRUETE,I SODERVA-
NIE,DOSTUPNOE PO\TIM IMENAM,BUDET NOWYM SODERVANIEM.
mETOD SOZDANIQ REZERWNYH FAJLOW TAKVE MOVET ZATRONUTX WLADELXCEW I GRUPPY WLA-
DELXCEW FAJLOW.eSLI ISPOLXZUETSQ KOPIROWANIE,TO ONI NE [email protected] ISPOLXZUETSQ
PEREIMENOWANIE,TO WY STANOWITESX WLADELXCEM FAJLA,I USTANAWLIWAETSQ GRUPPA PO UMOL-
^[email protected] (RAZLI^NYE OPERACIONNYE SISTEMY [email protected] RAZLI^NYE ZNA^ENIQ PO UMOL^[email protected]
DLQ GRUPPY).
iZMENENIE WLADELXCA OBY^NO QWLQETSQ HORO[EJ IDEEJ,POSKOLXKU TOGDA WSEGDA WIDNO,
KTO POSLEDNIM REDAKTIROWAL FAJL.kROME TOGO,WLADELXCY REZERWNYH KOPIJ [email protected],
KTO SDELAL\TI WERSII.iNOGDA SU]ESTWUET FAJL,^EJ WLADELEC NE DOLVEN IZMENQTXSQ;
HORO[AQ IDEQ DLQ TAKIH FAJLOW |[email protected]^ITX LOKALXNYE SPISKI PEREMENNYH DLQ USTANOWKI
backup-by-copying-when-mismatch (SM.rAZDEL 31.2.5 [pEREMENNYE FAJLA],S.351).
wYBOR PEREIMENOWANIQ ILI KOPIROWANIQ UPRAWLQETSQ TREMQ PEREMENNYMI.pO UMOL^A-
[email protected] DELAETSQ PEREIMENOWANIE.eSLI PEREMENNAQ backup-by-coping |NE nil,TO ISPOLXZU-
ETSQ KOPIROWANIE.w PROTIWNOM SLU^AE,ESLI PEREMENNAQ backup-by-copying-when-linked
NE RAWNA nil,TO DELAETSQ KOPIROWANIE DLQ FAJLOW,KOTORYE [email protected] NESKOLXKO IMEN,NO
MOVET WSE VE DELATXSQ PEREIMENOWANIE,KOGDA REDAKTIRUEMYJ FAJL IMEET TOLXKO ODNO
IMQ.eSLI PEREMENNAQ backup-by-copying-when-mismatch | NE nil,TOGDA,ESLI PEREIME-
NOWANIE PRIWELO BY K [email protected] WLADELXCA FAJLA ILI GRUPPY,TO DELAETSQ KOPIROWANIE.
backup-by-copying-when-mismatch PO UMOL^[email protected] RAWNA t,ESLI WY ZAPUSTILI Emacs KAK
PRIWILEGIROWANNYJ POLXZOWATELX.
kOGDA FAJL NAHODITSQ POD UPRAWLENIEM SISTEMY KONTROLQ WERSIJ (SM.rAZDEL 14.7
[uPRAWLENIE WERSIQMI],S.116 ),Emacs OBY^NO NE SOZDAET REZERWNYH KOPIJ KAK OBY^NO.nO
IZWLE^ENIE I FIKSIROWANIE OT^ASTI PODOBNY [email protected] REZERWNYH KOPIJ.oNI POHOVI,K
[email protected],I TEM,^TO KAK PRAWILO RAZRU[[email protected] VESTKIE SSYLKI,RAZ_EDINQQ IMQ FAJLA,K
KOTOROMU WY OBRATILISX,I WSE DRUGIE IMENA\TOGO VE FAJLA.|TO NE WINA Emacs |\TO
DELAET SISTEMA UPRAWLENIQ WERSIQMI.
14.3.2 zA]ITA OT ODNOWREMENNOGO REDAKTIROWANIQ
oDNOWREMENNOE REDAKTIROWANIE SLU^AETSQ,KOGDA DWA POLXZOWATELQ OBRA][email protected] K ODNO-
MU I TOMU VE FAJLU,OBA [email protected] IZMENENIQ I ZATEM OBA [email protected] IH.eSLI NIKOGO NE
PROINFORMIROWALI O TOM,^TO\TO SLU^ILOSX,TO POLXZOWATELX,SOHRANIW[IJ SWOI IZMENE-
NIQ PERWYM,MOVET POZDNEE OBNARUVITX,^TO EGO IZMENENIQ PROPALI.
w NEKOTORYH SISTEMAH Emacs SRAZU ZAME^AET,ESLI WTOROJ POLXZOWATELX NA^INAET IZ-
MENQTX FAJL,I WYDAET NEMEDLENNOE PREDOSTEREVENIE.nA WSEH SISTEMAH Emacs DELAET
PROWERKU,KOGDA WY ZAPISYWAETE FAJL,I WYDAET PREDUPREVDENIE,ESLI WY SOBIRAETESX ZA-
TERETX IZMENENIQ DRUGOGO POLXZOWATELQ.wY MOVETE PREDOTWRATITX [email protected] ^UVOJ RABOTY,
PREDPRINQW NEOBHODIMYE DEJSTWIQ WMESTO SOHRANENIQ FAJLA.
kOGDA WY DELAETE [email protected] [email protected] W BUFERE Emacs,KOTORYJ OBRA]AETSQ K FAJLU,
Emacs ZAPISYWAET,^TO WY ZAHWATILI\TOT FAJL.(oN DELAET\TO,SOZDAWAQ [email protected]
SSYLKU S DRUGIM IMENEM W TOM VE KATALOGE.) zAHWAT OTMENQETSQ,KOGDA WY ZAPI[ETE
IZMENENIQ.iDEQ SOSTOIT W TOM,^TO FAJL ZAHWA^EN WSEGDA,KOGDA W BUFERE,KOTORYJ K NEMU
OBRA]AETSQ,ESTX NESOHRANENNYE IZMENENIQ.
eSLI WY NA^NETE IZMENQTX BUFER,KOGDA FAJL,K KOTOROMU ON OBRA]AETSQ,ZAHWA^EN KEM-
TO E]E,\TO PRIWEDET K [email protected],I Emacs SPROSIT WAS,^TO DELATX,WYZWAW [email protected]
[email protected] ask-user-about-lock.wY MOVETE PEREOPREDELITX\TU [email protected] DLQ SWOIH NUVD.
sTANDARTNOE OPREDELENIE\TOJ FUNKCII ZADAET WAM WOPROS I PRINIMAET TRI WOZMOVNYH
OTWETA:
gLAWA 14:rABOTA S FAJLAMI 113s pEREHWATITX ZAHWAT.tOT POLXZOWATELX,KTO UVE REDAKTIROWAL FAJL,TERQET
ZAHWAT,A WY EGO PRIOBRETAETE.
p pRODOLVATX.iDTI DALX[E I REDAKTIROWATX FAJL,NESMOTRQ NA TO,^TO ON
KEM-TO ZAHWA^EN.
q wYJTI.|TO PRIWODIT K O[IBKE (file-locked),A IZMENENIQ,KOTORYE WY PYTA-
LISX SDELATX W BUFERE,W DEJSTWITELXNOSTI NE BUDUT IMETX MESTA.
zAMETIM,^TO ZAHWAT RABOTAET NA OSNOWE IMENI FAJLA;ESLI FAJL IMEL NESKOLXKO IMEN,
Emacs NE OSOZNAET,^TO DWA IMENI |\TO ODIN I TOT VE FAJL,I NE MOVET PREDUPRE-
DITX DWUH POLXZOWATELEJ O POPYTKE REDAKTIROWANIQ ODNOGO I TOGO VE FAJLA POD RAZNYMI
IMENAMI.oDNAKO,OSNOWANIE ZAHWATA NA IMENAH OZNA^AET,^TO Emacs MOVET BLOKIROWATX
REDAKTIROWANIE NOWYH FAJLOW,KOTORYE FAKTI^ESKI NE SU][email protected],POKA IH NE ZAPI[UT.
nEKOTORYE SISTEMY NE SKONFIGURIROWANY TAK,^TOBY POZWOLITX Emacs SDELATX ZAHWATY.
w TAKIH SLU^AQH Emacs NE MOVET OPREDELITX OPASNOSTX ZARANEE,NO ON PO-PREVNEMU MOVET
OBNARUVITX STOLKNOWENIE,KOGDA WY PYTAETESX SOHRANITX FAJL I ZATERETX ^XI-TO ^UVIE
IZMENENIQ.
eSLI W Emacs ILI W OPERACIONNOJ SISTEME SLU^AETSQ FATALXNYJ SBOJ,\TO MOVET OSTA-
WITX FAJLY ZAHWATA,KOTORYE UVE POTERQLI AKTUALXNOSTX.pO\TOMU WY MOVETE INOGDA
POLU^ITX PREDUPREVDENIE O MNIMYH STOLKNOWENIQH.kOGDA WY OBNARUVITE,^TO STOLKONE-
NIE LOVNO,PROSTO ISPOLXZUJTE p,^TOBY WELETX Emacs PRODOLVATX.
kAVDYJ RAZ,KOGDA Emacs ZAPISYWAET BUFER,ON SNA^ALA SWERQET DATU POSLEDNEJ MO-
DIFIKACII FAJLA,SU][email protected]]EGO NA DISKE,^TOBY UWIDETX,^TO ONA NE IZMENQLASX S TEH
SAMYH POR,KAK K FAJLU OBRA]ALISX ILI EGO ZAPISYWALI POSLEDNIJ RAZ.eSLI DATA NE
SOWPADAET,TO\TO OZNA^AET,^TO IZMENENIQ BYLI PROIZWEDENY W FAJLE KAKIM-TO DRUGIM
SPOSOBOM,I ^TO\TI IZMENENIQ MOGUT BYTX POTERQNY,ESLI Emacs SOHRANIT BUFER NA SAMOM
DELE.~TOBY PREDOTWRATITX\TO,Emacs PE^ATAET [email protected]]EE SOOB]ENIE I ZAPRA[I-
WAET PERED [email protected] PODTWERVDENIE.iNOGDA WY ZNAETE,PO^EMU FAJL BYL IZMENEN,I ZNAETE,
^TO\TO NE IMEET ZNA^ENIQ;W\TOM SLU^AE WY MOVETE OTWETITX yes I PRODOLVITX REDAKTI-
ROWANIE.w PROTIWNOM SLU^AE,WY DOLVNY OTMENITX ZAPISX S POMO][email protected] C-g I ISSLEDOWATX
[email protected]
pERWOE,^TO WY DOLVNY SDELATX,KOGDA PRI[LO IZWE]ENIE OB ODNOWREMENNOM REDAK-
TIROWANII,| RASPE^ATATX KATALOG S POMO][email protected] C-u C-x C-d (SM.rAZDEL 14.8 [kATALOGI],
S.131 ).|TO POKAVET WAM TEKU]EGO AWTORA.wY DOLVNY BUDETE POPYTATXSQ SWQZATXSQ I
PREDUPREDITX EGO,^TOBY ON NE PRODOLVAL REDAKTIROWANIE.~A]E WSEGO,[email protected]]IJ [AG
| ZAPISATX SODERVIMOE WA[EGO BUFERA Emacs POD DRUGIM IMENEM I ISPOLXZOWATX diff,
^TOBY SRAWNITX DWA FAJLA.
14.4 wOZWRA]ENIE BUFERA
eSLI WY SDELALI OB[IRNYE IZMENENIQ W FAJLE,A ZATEM IZMENILI WA[E MNENIE O NIH,
TO WY MOVETE OT NIH IZBAWITXSQ,S^ITAW PREDYDU][email protected] [email protected]\TOGO FAJLA.~TOBY SDE-
LATX\TO,ISPOLXZUJTE M-x revert-buffer,ONA DEJSTWUET W TEKU]EM BUFERE.tAK KAK OT
BEZUSLOWNOGO WOZWRATA BUFERA MOVET PROPASTX MNOGO RABOTY,WY DOLVNY PODTWERDITX\TU
KOMANDU WWODOM yes.
revert-buffer SOHRANQET TO^KU NA TOM VE SAMOM RASSTOQNII (IZMERENNOM W ZNAKAH) OT
NA^ALA FAJLA.eSLI FAJL BYL OTREDAKTIROWAN TOLXKO SLEGKA,TO POSLE WOZWRA]ENIQ WY
O^UTITESX PRIMERNO W TOJ VE ^ASTI TEKSTA,W KOTOROJ I BYLI.eSLI WY SDELALI KARDI-
NALXNYE IZMENENIQ,TO TO VE SAMOE ZNA^ENIE TO^KI W STAROM FAJLE MOVET SSYLATXSQ NA
SOWER[ENNO DRUGOJ KUSOK TEKSTA.
wOZWRA]ENIE POME^AET BUFER KAK\NEIZMENENNYJ"DO TEH POR,POKA NE BUDUT SDELANY
DRUGIE IZMENENIQ.
114 rUKOWODSTWO PO GNU EmacsnEKOTORYE WIDY BUFEROW,^XE SODERVIMOE OTRAVAET OTLI^NYE OT FAJLOW DANNYE,TAKIE
KAK BUFERY Dired,TAKVE MOGUT BYTX WOZWRA]ENY.dLQ NIH WOZWRA]ENIE OZNA^AET POWTOR-
NOE S^ITYWAENIE IH SODERVIMOGO IZ [email protected]]EJ BAZY DANNYH.bUFERY,SOZDANNYE
QWNO S POMO][email protected] C-x b,NE MOGUT BYTX WOZWRA]ENY;revert-buffer SOOB]AET OB O[IBKE,
KOGDA EE PROSQT SDELATX\TO.
kOGDA WY REDAKTIRUETE FAJL,KOTORYJ IZMENQETSQ ^ASTO I AWTOMATI^ESKI |NAPRIMER,
PROTOKOL WYWODA OT E]E [email protected]]EGO PROCESSA | MOVET OKAZATXSQ UDOBNYM,ESLI BY
Emacs WOZWRA]AL FAJL BEZ PODTWERVDENIQ WSQKIJ RAZ,KOGDA WY SNOWA OBRA]AETESX K\TOMU
FAJLU S POMO][email protected] C-x C-f.
~TOBY ZAPROSITX TAKOE POWEDENIE,USTANOWITE [email protected] revert-without-query RAW-
NOJ SPISKU REGULQRNYH WYRAVENIJ.kOGDA IMQ FAJLA SOOTWETSTWUET ODNOMU IZ\TIH RE-
GULQRNYH WYRAVENIJ,find-file I revert-buffer BUDUT WOZWRA]ATX EGO AWTOMATI^ESKI,
ESLI ON IZMENILSQ |PRI USLOWII,^TO SAM BUFER NE BYL MODIFICIROWAN.(eSLI WY REDAK-
TIROWALI TEKST,SBRASYWATX WA[I IZMENENIQ BUDET NEHORO[O.)
14.5 sAMOSOHRANENIE:ZA]ITA OT GIBELI
Emacs WREMQ OT WREMENI (OSNOWYWAQSX NA PODS^ETE NAVATYH WAMI KLAWI[) ZAPISYWAET
WSE POSE]ENNYE FAJLY BEZ ZAPROSA.|TO NAZYWAETSQ SAMOSOHRANENIEM.oNO UBEREVET WAS
OT POTERI BOLX[OGO KOLI^ESTWA RABOTY,ESLI SISTEMA RUHNET.
kOGDA Emacs OPREDELQET,^TO PRI[LO WREMQ DLQ SAMOSOHRANENIQ,TO KAVDYJ BUFER
RASSMATRIWAETSQ I ZAPISYWAETSQ,ESLI DLQ NEGO [email protected]^ENO SAMOSOHRANENIE,I ON IZMENQLSQ
S TEH POR,KAK POSLEDNIJ RAZ BYL SAMOSOHRANEN.wO WREMQ SAMOSOHRANENIQ W\HO-OBLASTI
OTOBRAVAETSQ SOOB]ENIE`Auto-saving...',ESLI KAKOJ-LIBO FAJL DEJSTWITELXNO SOHRANQ-
ETSQ.o[IBKI,[email protected]]IESQ WO WREMQ SAMOSOHRANENIQ,[email protected] TAK,^TO ONI NE
ME[[email protected] [email protected] NABRANNYH WAMI KOMAND.
14.5.1 fAJLY DLQ SAMOSOHRANENIQ
sAMOSOHRANENIE OBY^NO NE ZAPISYWAET W FAJLY,K KOTORYM WY OBRATILISX,TAK KAK
MOVET BYTX O^ENX NEVELATELXNO ZAPISYWATX PROGRAMMU,KOTORAQ NAHODITSQ W NESOGLASO-
WANNOM SOSTOQNII,KOGDA WY SDELALI POLOWINU PLANIRUEMYH IZMENENIJ.wMESTO\TOGO
SAMOSOHRANENIE DELAETSQ W DRUGOJ FAJL,KOTORYJ NAZYWAETSQ FAJLOM DLQ SAMOSOHRANE-
NIQ,A POSE]ENNYJ FAJL IZMENQETSQ TOLXKO TOGDA,KOGDA WY QWNO POTREBUETE ZAPISATX EGO
(NAPRIMER,S POMO][email protected] C-x C-s).
oBY^NO IMQ FAJLA DLQ SAMOSOHRANENIQ SOZDAETSQ DOBAWLENIEM ZNAKA`#'PERED I PO-
SLE IMENI FAJLA,K KOTOROMU WY OBRATILISX.tAKIM OBRAZOM,BUFER,OBRA][email protected]]IJSQ K
FAJLU`foo.c',BUDET SAMOSOHRANEN W FAJL`#foo.c#'.bOLX[INSTWO BUFEROW,KOTORYE NE
OBRA]ALISX K FAJLAM,[email protected],TOLXKO ESLI WY QWNO POTREBUETE\TOGO;KOGDA
ONI AWTOMATI^ESKI [email protected],IMQ FAJLA DLQ SAMOSOHRANENIQ SOZDAETSQ DOBAWLENIEM K
IMENI BUFERA ZNAKOW`#%'W NA^ALE I`#'W KONCE.nAPRIMER,BUFER`*mail*',W KOTOROM WY SO-
STAWLQETE OTPRAWLQEMYE SOOB]ENIQ,SAMOSOHRANQETSQ W FAJL S IMENEM`#%*mail*#'.iMENA
FAJLOW DLQ SAMOSOHRANENIQ [email protected] TAKIM OBRAZOM,ESLI WY NE PEREPROGRAMMI-
RUETE ^ASTX Emacs,^TOBY DELALOSX ^TO-TO INOE (FUNKCII make-auto-save-file-name I
auto-save-file-name-p).iMQ FAJLA,KOTOROE BUDET ISPOLXZOWATXSQ DLQ SAMOSOHRANENIQ W
BUFERE,SOSTAWLQETSQ,KOGDA W\TOM BUFERE [email protected]^AETSQ SAMOSOHRANENIE.
kOGDA WY UDALQETE ZNA^[email protected] ^ASTX TEKSTA BOLX[OGO BUFERA,SAMOSOHRANENIE W NEM
WREMENNO [email protected]^AETSQ.|TO DELAETSQ PO TOJ PRI^INE,^TO ESLI WY UDALILI TEKST NEUMY[-
LENNO,SAMOSOHRANENNYJ FAJL MOVET OKAZATXSQ DLQ WAS POLEZNEE,ESLI UDALENNYJ TEKST WSE
E]E OSTAETSQ W NEM.~TOBY POSLE\TOGO SNOWA RAZRE[ITX SAMOSOHRANENIE,ZAPI[ITE BUFER
KOMANDOJ C-x C-s ILI ISPOLXZUJTE C-u 1 M-x auto-save.
gLAWA 14:rABOTA S FAJLAMI 115eSLI WY HOTITE,^TOBY W FAJLE,K KOTOROMU WY OBRATILISX,WYPOLNQLOSX SAMOSOHRANE-
NIE,USTANOWITE [email protected] auto-save-visited-file-name W OTLI^NOE OT nil ZNA^ENIE.
w\TOM REVIME W DEJSTWITELXNOSTI NET RAZLI^IJ MEVDU SAMOSOHRANENIEM I QWNYM SOHRA-
NENIEM.
fAJL SAMOSOHRANENIJ UDALQETSQ,KOGDA WY ZAPISYWAETE SODERVIMOE BUFERA W FAJL,K
KOTOROMU ON OBRA]ALSQ.~TOBY WOSPREPQTSTWOWATX\TOMU,USTANOWITE [email protected] delete-
auto-save-files RAWNOJ nil.iZMENENIE IMENI POSE]ENNOGO FAJLA S POMO][email protected] C-x C-w
ILI set-visited-file-name PEREIMENOWYWAET FAJL DLQ SAMOSOHRANENIQ,^TOBY ON SOOT-
WETSTWOWAL IMENI NOWOGO POSE]ENNOGO FAJLA.
14.5.2 uPRAWLENIE SAMOSOHRANENIEM
kAVDYJ RAZ,KOGDA WY OBRA]AETESX K FAJLU,DLQ BUFERA\TOGO FAJLA [email protected]^AETSQ SAMO-
SOHRANENIE,ESLI PEREMENNAQ auto-save-default NE RAWNA nil (NO NE W PAKETNOM REVIME;
SM.gLAWA 3 [wHOD W Emacs],S.33).pO UMOL^[email protected]\TA PEREMENNAQ RAWNA t,PO\TOMU
[email protected]^ENNOE SAMOSOHRANENIE |\TO OBY^NOE SOSTOQNIE BUFEROW,[email protected]]IH S FAJLAMI.
sAMOSOHRANENIE MOVET [email protected]^ATXSQ ILI [email protected]^ATXSQ DLQ [email protected] SU][email protected]]EGO BUFE-
RA S POMO][email protected] KOMANDY M-x auto-save-mode.pODOBNO DRUGIM KOMANDAM WTOROSTEPENNYH
REVIMOW,M-x auto-save-mode [email protected]^AET SAMOSOHRANENIE PRI POLOVITELXNOM ARGUMENTE I
[email protected]^AET,KOGDA ARGUMENT RAWEN [email protected] ILI OTRICATELEN;BEZ ARGUMENTA ONA [email protected]^AET
REVIM.
Emacs PROIZWODIT SAMOSOHRANENIE PERIODI^ESKI,OSNOWYWAQSX NA PODS^ETE ^ISLA ZNA-
KOW,NABRANNYH WAMI S TOGO MOMENTA,KAK SAMOSOHRANENIE BYLO SDELANO W POSLEDNIJ RAZ.
pEREMENNAQ auto-save-interval OPREDELQET,SKOLXKO ZNAKOW PRIHODITSQ MEVDU DWUMQ SA-
MOSOHRANENIQMI.pO UMOL^[email protected] ONA RAWNA 300.
sAMOSOHRANENIE TAKVE PROIZWODITSQ,KOGDA WY PERESTAETE PE^ATATX NA NEKOTOROE WREMQ.
pEREMENNAQ auto-save-timeout GOWORIT,SKOLXKO SEKUND DOLVEN VDATX Emacs TO TOGO,KAK
SDELATX SAMOSOHRANENIE (A TAKVE,WOZMOVNO,I SBORKU MUSORA).(dEJSTWITELXNYJ PERIOD
WREMENI BOLX[E,ESLI TEU]IJ BUFER WELIK;\TO\WRISTIKA,CELX KOTOROJ |NE ME[ATX WAM,
KOGDA WY REDAKTIRUETE DLINNYE BUFERY,SAMOSOHRANENIE W KOTORYH ZANIMAET ZAMETNOE
WREMQ.) sAMOSOHRANENIE WO WREMQ PERIODOW BEZDEJSTWIQ WYPOLNQET DWE ZADA^I:WO-PERWYH,
ONO GARANTIRUET,^TO WA[A RABOTA SOHRANQETSQ,ESLI WY OTO[LI NA NEKOTOROE WREMQ OT
TERMINALA;WO-WTORYH,ONO MOVET POZWOLITX IZBEVATX SAMOSOHRANENIQ W TO WREMQ,KOGDA
WY NA SAMOM DELE PE^ATAETE.
Emacs TAKVE WYPOLNQET SAMOSOHRANENIE,KOGDA POLU^AET [email protected] O[IBKU.|TO
[email protected]^AET UNI^TOVENIE ZADANIQ Emacs S POMO][email protected] KOMANDY OBOLO^KI,KAK`kill %emacs',
ILI W REZULXTATE RAZ_EDINENIQ TELEFONNOJ LINII ILI SWQZI PO SETI.
wY MOVETE QWNO ZAPROSITX SAMOSOHRANENIE S POMO][email protected] KOMANDY M-x do-auto-save.
14.5.3 wOSSTANOWLENIE DANNYH IZ SAMOSOHRANENIQ
wY MOVETE ISPOLXZOWATX SODERVIMOE FAJLA SAMOSOHRANENIQ DLQ WOSSTANOWLENIQ POTE-
RQNNYH DANNYH,ZAPUSTIW KOMANDU M-x recover-file hRETi FAJL hRETi.|TA KOMANDA OBRA-
]AETSQ K FAJLU I ZATEM (POSLE WA[EGO PODTWERVDENIQ) PEREPISYWAET SODERVANIE IZ EGO
SAMOSOHRANENNOGO FAJLA`#FAJL#'.wY MOVETE POTOM SOHRANITX\TOT BUFER PRI POMO]I
C-x C-s,^TOBY POMESTITX WOSSTANOWLENNYJ TEKST W SAM FAJL.nAPRIMER,^TOBY WOSSTANO-
WITX FAJL`foo.c'IZ EGO FAJLA DLQ SAMOSOHRANENIQ`#foo.c#',SDELAJTE [email protected]]EE:
M-x recover-file
h RETi foo.c hRETi
yes
h RETi
C-x C-s
pERED TEM KAK ZAPROSITX U WAS PODTWERVDENIE,M-x recover-file POKAZYWAET RASPE-
^ATKU KATALOGA,[email protected]][email protected] ZADANNYJ FAJL I FAJL SAMOSOHRANENIQ,TAK ^TO WY MOVETE
116 rUKOWODSTWO PO GNU EmacsSRAWNITX IH RAZMERY I DATY.eSLI FAJL DLQ SAMOSOHRANENIQ STAR[E,TO M-x recover-file
NE PREDLAGAET EGO S^ITYWATX.
eSLI Emacs ILI [email protected] POTERPELI KRAH,WY MOVETE WOSSTANOWITX WSE FAJLY,KO-
TORYE WY REDAKTIROWALI,IZ IH SAMOSOHRANENNYH FAJLOW PRI POMO]I KOMANDY M-x
recover-session.oNA SNA^ALA POKAZYWAET PERE^ENX ZAPISANNYH PRERWANNYH SEANSOW.pE-
REMESTITE TO^KU K NUVNOJ WAM I NABERITE C-c C-c.
zATEM recover-session SPRA[IWAET O KAVDOM FAJLE,KOTORYJ REDAKTIROWALSQ WO WREMQ
\TOGO SEANSA,NUVNO LI EGO WOSSTANAWLIWATX.eSLI WY OTWE^AETE y,ONA WYZYWAET recover-
file.|TA KOMANDA RABOTAET OBY^NYM SPOSOBOM:POKAZYWAET DATY ORIGINALXNOGO FAJLA I
EGO SAMOSOHRANENNOJ WERSII I SPRA[IWAET E]E RAZ,NUVNO LI EGO WOSSTANAWLIWATX.
kOGDA recover-session ZAWER[AETSQ,WSE FAJLY,KOTORYE WY RE[ILI WOSSTANOWITX,
[email protected] W BUFERAH Emacs.tEPERX WAM NUVNO IH SOHRANITX.tOLXKO\TO | IH
SOHRANENIE |OBNOWLQET SAMI FAJLY.
pRERWANNYE SEANSY [email protected] DLQ [email protected]]EGO WOSSTANOWLENIQ W FAJLAH S IME-
NAMI`~/.saves-pid-MA[INA'.~ASTX`~/.saves'\TIH IMEN POLU^AETSQ IZ ZNAE^ENIQ auto-
save-list-file-prefix.wY MOVETE SDELATX TAK,^TOBY ZAPISI O SEANSAH DERVALISX W
DRUGOM MESTE,USTANAWLIWAQ\TU [email protected] W WA[EM FAJLE`.emacs',NO WAM TAKVE PRI-
DETSQ PEREOPREDELITX recover-session,^TOBY ONA ISKALA W NOWOM MESTE.eSLI W FAJLE
`.emacs'WY USTANOWITE auto-save-list-file-prefix RAWNOJ nil,SEANSY NE BUDUT ZAPISY-
WATXSQ DLQ WOSSTANOWLENIQ.
14.6 pSEWDONIMY FAJLOW
sIMWOLXNYE SSYLKI I VESTKIE SSYLKI [email protected] ODNOMU I TOMU VE FAJLU IMETX
NESKOLXKO IMEN.vESTKIE SSYLKI |\TO ALXTERNATIWNYE IMENA,[email protected]]IESQ NEPOSRED-
STWENNO NA FAJL;WSE IMENA ODINAKOWO PRAWILXNY,I NI ODNO IZ NIH NE QWLQETSQ PREDPO-
^TITELXNYM.nAPROTIW,SIMWOLXNYE SSYLKI |\TO WID OPREDELENNYH PSEWDONIMOW:KOGDA
FAJL`foo'QWLQETSQ SIMWOLXNOJ SSYLKOJ NA`bar',WY MOVETE ISPOLXZOWATX OBA IMENI,
NO DEJSTWITELXNYM IMENEM BUDET`bar',TOGDA KAK`foo'|\TO PROSTO PSEWDONIM.bOLEE
SLOVNYE SITUACII [email protected],KOGDA SIMWOLXNYE SSYLKI [email protected] NA KATALOGI.
eSLI WY OBRA]AETESX K ODNOMU I TOMU VE FAJLU PO DWUM IMENAM,Emacs OBY^NO SOZDAET
DWA RAZNYH BUFERA,NO PREDUPREVDAET WAS OB\TOJ SITUACII.
eSLI WY HOTITE IZBEVATX OBRA]ENIQ K ODNOMU I TOMU VE FAJLU W DWUH BUFERAH POD
RAZNYMI IMENAMI,USTANOWITE [email protected] find-file-existing-other-name W OTLI^NOE
OT nil ZNA^ENIE.tOGDA find-file ISPOLXZUET SU][email protected]]IJ BUFER,OBRA][email protected]]IJSQ K
\TOMU FAJLU,NEZAWISIMO OT TOGO,KAKOE IMQ WY ZADADITE.
eSLI PEREMENNAQ find-file-visit-truename NE RAWNA nil,TO DLQ BUFEROW ZAPISYWAET-
SQ ISTINNYE IMENA FAJLOW (POLU^AEMYE ZAMENOJ WSEH SIMWOLXNYH SSYLOK NA IH CELEWYE
IMENA),A NE IMENA,ZADANNYE WAMI.uSTANOWKA find-file-visit-truename TAKVE PODRAZU-
MEWAET DEJSTWIE find-file-existing-other-name.
14.7 uPRAWLENIE WERSIQMI
sISTEMY UPRAWLENIQ WERSIQMI |\TO PAKETY,KOTORYE MOGUT ZAPISYWATX NESKOLXKO
WERSIJ ISHODNOGO FAJLA,OBY^NO SOHRANQQ NEIZMENIW[IESQ ^ASTI\TOGO FAJLA TOLXKO ODIN
RAZ.sISTEMY UPRAWLENIQ WERSIQMI TAKVE [email protected] SWEDENIQ OB ISTORII,TAKIE KAK
WREMQ SOZDANIQ KAVDOJ WERSII,IMQ EE SOZDATELQ I OPISANIE IZMENENIJ W\TOJ WERSII.
iNTERFEJS Emacs DLQ UPRAWLENIQ WERSIQMI NAZYWAETSQ VC.eGO KOMANDY [email protected] S
TREMQ SISTEMAMI UPRAWLENIQ WERSIQMI | RCS,CVS I SCCS.pROEKT GNU REKOMENDUET
RCS I CVS,KOTORYE [email protected] SWOBODNYMI PROGRAMMAMI,I IH MOVNO POLU^ITX OT fONDA
sWOBODNOGO pROGRAMMNOGO oBESPE^ENIQ.
gLAWA 14:rABOTA S FAJLAMI 11714.7.1 wWEDENIE W UPRAWLENIE WERSIQMI
VC POZWOLQET WAM ISPOLXZOWATX SISTEMY UPRAWLENIQ WERSIQMI IZ Emacs,HORO[O IN-
TEGRIRUQ OPERACII PO [email protected] WERSIQMI I REDAKTIROWANIE.VC PREDOSTAWLQET OBOB-
]ENNYJ INTERFEJS K [email protected] WERSIQMI,TAK ^TO WY MOVETE ISPOLXZOWATX EGO ODNIM
METODOM NEZAWISIMO OT TOGO,[email protected] SISTEMU WY PRIMENQETE.
|TOT RAZDEL PREDOSTAWLQET OB]IJ OBZOR UPRAWLENIQ WERSIQMI I OPISYWAET SISTEMY
UPRAWLENIQ WERSIQMI,KOTORYE PODDERVIWAET VC.wY MOVETE PROPUSTITX\TOT RAZDEL,
ESLI ZNAKOMY S SISTEMOJ UPRAWLENIQ WERSIQMI,[email protected] HOTITE ISPOLXZOWATX.
14.7.1.1 pODDERVIWAEMYE SISTEMY UPRAWLENIQ WERSIQMI
nA DANNYJ MOMENT VC RABOTAET S TREMQ RAZNYMI SISTEMAMI UPRAWLENIQ WERSIQMI ILI
\POSTPROCESSORAMI":RCS,CVS I SCCS.
RCS |\TO SWOBODNAQ SISTEMA UPRAWLENIQ WERSIQMI,EE MOVNO POLU^ITX OT fONDA sWO-
BODNOGO pROGRAMMNOGO oBESPE^ENIQ.wEROQTNO,\TO NAIBOLEE RAZWITYJ IZ PODDERVIWAE-
MYH POSTPROCESSOROW,I KOMANDY VC KONCEPTUALXNO BLIVE WSEGO K RCS.pO^TI WSE,^TO WY
MOVETE DELATX S RCS,MOVNO SDELATX ^EREZ VC.
CVS POSTROENA POWERH RCS I RAS[IRQET WOZMOVNOSTI RCS,POZWOLQQ BOLEE SLOVNOE
UPRAWLENIE WYPUSKAMI I RAZRABOTKU MNOGIMI POLXZOWATELQMI.VC PODDERVIWAET OSNOW-
NYE OPERACII REDAKTIROWANIQ POD CVS,NO DLQ NEKOTORYH MENEE ^ASTYH ZADA^ WAM WSE
VE PONADOBITSQ WYZYWATX CVS IZ KOMANDNOJ STROKI.zAMETXTE,^TO DO ISPOLXZOWANIQ
CVS WY DOLVNY NASTROITX REPOZITORIJ,NO\TO SLI[KOM SLOVNAQ TEMA,^TOBY EE ZDESX
RASSMATRIWATX.
SCCS |\TO NESWOBODNAQ,NO [IROKO ISPOLXZUEMAQ SISTEMA UPRAWLENIQ WERSIQMI.pO
WOZMOVNOSTQM\TO SAMAQ SLABAQ IZ TREH SISTEM,PODDERVIWAEMYH VC.VC KOMPENSIRUET OT-
SUTSTWIE NEKOTORYH SREDSTW W SCCS (SNIMKOW,NAPRIMER),REALIZUQ IH SAMA,NO NEKOTORYE
DRUGIE WOZMOVNOSTI VC,TAKIE KAK MNOVESTWENNYE WETWI,NEDOSTUPNY PRI ISPOLXZOWA-
NII SCCS.wAM STOIT PRIMENQTX SCCS,TOLXKO ESLI PO KAKOJ-TO PRI^INE WY NE MOVETE
WOSPOLXZOWATXSQ RCS.
14.7.1.2 kONCEPCII UPRAWLENIQ WERSIQMI
kOGDA FAJL POME]EN POD KONTROLX SISTEMY UPRAWLENIQ WERSIQMI,MY GOWORIM,^TO ON
ZAREGISTRIROWAN W\TOJ SISTEME.dLQ KAVDOGO ZAREGISTRIROWANNOGO FAJLA ESTX SOOTWET-
[email protected]]IJ MASTER-FAJL,KOTORYJ PREDSTAWLQET TEKU]EE SOSTOQNIE FAJLA I [email protected] EGO
IZMENENIJ | DOSTATO^[email protected] DLQ REKONSTRUKCII TEKU]EJ ILI [email protected] BOLEE RANNEJ WERSII.
oBY^NO W MASTER-FAJLE TAKVE SOHRANENY VURNALXNYE ZAPISI DLQ KAVDOJ WERSII,OPISY-
[email protected]]IE SLOWAMI,^TO BYLO IZMENENO W\TOJ WERSII.
fAJL,SOPROWOVDAEMYJ UPRAWLENIEM WERSIJ,INOGDA NAZYWAETSQ RABO^IM FAJLOM,SOOT-
[email protected]]IM EGO MASTER-FAJLU.wY REDAKTIRUETE RABO^IJ FAJL I DELAETE W NEM IZMENE-
NIQ,KAK WY DELALI BY JDLQ OBY^NOGO FAJLA.(w SCCS I RCS WY DOLVNY BLOKIROWATX
FAJL PERED TEM,KAK NA^ATX EGO REDAKTIROWATX.) pOSLE TOGO,KAK WY SDELALI NEKOTORYE IZ-
MENENIQ,WY FIKSIRUETE\TOT FAJL,^TO ZAPISYWAET\TI IZMENENIQ W MASTER-FAJLE WMESTE
S VURNALXNOJ [email protected] DLQ NIH.
w CVS OBY^NO BYWAET MNOGO RABO^IH FAJLOW,[email protected]]IH ODNOMU MASTER-FAJLU
| ^ASTO U KAVDOGO POLXZOWATELQ ESTX SWOQ KOPIQ.tAKIM SPOSOBOM MOVNO ISPOLXZOWATX I
RCS,NO\TO NE OBY^NYJ METOD EE PRIMENENIQ.
w SISTEME UPRAWLENIQ WERSIQMI KAK PRAWILO ESTX NEKIJ MEHANIZM DLQ KOORDINIROWANIQ
POLXZOWATELEJ,KOTORYE HOTQT REDAKTIROWATX ODIN I TOT VE FAJL.oDIN IZ SPOSOBOW |
BLOKIROWANIE (ANALOGI^NOE [email protected],KOTOROE Emacs PRIMENQET DLQ OTSLEVIWANIQ
118 rUKOWODSTWO PO GNU EmacsPOPYTOK ODNOWREMENNOGO REDAKTIROWANIQ FAJLA,NO OTLI^[email protected]]EESQ OT NEGO).dRUGOJ METOD
|OB_EDINENIE WA[IH IZMENENIJ S IZMENENIQMI DRUGOGO ^ELOWEKA PRI IH FIKSIROWANII.
pRI UPRAWLENII WERSIQMI S BLOKIROWANIEM,RABO^IE FAJLY OBY^NO DOSTUPNY TOLXKO
DLQ ^TENIQ,TAK ^TO WY NE MOVETE IH IZMENITX.wY PROSITE SISTEMU UPRAWLENIQ WERSIQMI
SDELATX FAJL ZAPISYWAEMYM,BLOKIRUQ EGO;W ODNO WREMQ\TO MOVET SDELATX TOLXKO ODIN
POLXZOWATELX.kOGDA WY FIKSIRUETE WA[I IZMENENIQ,\TO RAZBLOKIRUET FAJL,I ON SNOWA
STANOWITSQ DOSTUPNYM TOLXKO DLQ ^TENIQ.|TO POZWOLQET DRUGIM POLXZOWATELQM ZABLOKI-
ROWATX\TOT FAJL I DELATX DALXNEJ[IE IZMENENIQ.SCCS WSEGDA ISPOLXZUET BLOKIROWANIE,
I RCS OBY^NO TOVE.
dLQ RCS ESTX DRUGAQ ALXTERNATIWA |POZWOLITX KAVDOMU [email protected] IZMENQTX RABO-
^IJ FAJL W [email protected] WREMQ.w TAKOM REVIME W BLOKIROWANII NET NUVDY,NO ONO POZWOLQETSQ;
ZAPISX NOWOJ WERSII PO-PREVNEMU PROIZWODITSQ PUTEM FIKSIROWANIQ.
CVS OBY^NO POZWOLQET KAVDOMU [email protected] IZMENQTX [email protected] [email protected] [email protected] RA-
BO^EGO FAJLA W [email protected] WREMQ,NO TREBUET OB_EDINENIQ S WERSIQMI DRUGIH POLXZOWATELEJ
WO WREMQ FIKSIROWANIQ.oDNAKO,CVS TOVE MOVNO NASTROITX TAK,^TOBY ONA TREBOWALA
BLOKIROWANIQ.(SM.rAZDEL 14.7.9.1 [pARAMETRY POSTPROCESSORA],S.130).
14.7.2 uPRAWLENIE WERSIQMI I STROKA REVIMA
kOGDA WY OBRA]AETESX K FAJLU,KOTORYJ NAHODITSQ POD KONTROLEM SISTEMY UPRAWLENIQ
WERSIQMI,Emacs POKAZYWAET\TO W STROKE REVIMA.nAPRIMER,`RCS-1.3'GOWORIT,^TO DLQ
\TOGO FAJLA ISPOLXZUETSQ RCS,A TEKU]AQ WERSIQ | 1.3.
zNAK MEVDU IMENEM POSTPROCESSORA I NOMEROM WERSII POKAZYWAET STATUS\TOGO FAJLA W
SISTEME UPRAWLENIQ WERSIQMI.dEFIS`-'GOWORIT,^TO RABO^IJ FAJL NE ZABLOKIROWAN (ESLI
BLOKIROWANIE ISPOLXZUETSQ) ILI NE IZMENEN (ESLI BLOKIROWANIE NE ISPOLXZUETSQ).zNAK`:'
POKAZYWAET,^TO FAJL BLOKIROWAN ILI IZMENEN.eSLI FAJL BLOKIROWAL KAKOJ-TO DRUGOJ
POLXZOWATELX (SKAVEM,`jim'),\TO OTOBRAVAETSQ KAK`RCS:jim:1.3'.
14.7.3 oSNOWY REDAKTIROWANIQ S UPRAWLENIEM WERSIQMI
oSNOWNAQ KOMANDA VC |\TO KOMANDA OB]EGO NAZNA^ENIQ,KOTORAQ LIBO BLOKIRUET,LIBO
FIKSIRUET FAJL W ZAWISIMOSTI OT SITUACII.
C-x C-q
C-x v v dELAET [email protected]][email protected] LOGI^[email protected] [email protected] UPRAWLENIQ WERSIQMI DLQ\TOGO FAJ-
LA.
sTROGO GOWORQ,KOMANDA DLQ\TOGO NAZYWAETSQ vc-next-action,ONA PRIWQZANA K C-x v v.
oDNAKO,OBY^NOE ZNA^ENIE C-x C-q |DELATX BUFERY,PREDNAZNA^ENNYE TOLXKO DLQ ^TENIQ,
DOSTUPNYMI DLQ ZAPISI ILI NAOBOROT;MY RAS[IRILI EE TAK,^TOBY ONA PRAWILXNO DELALA
\TO VE DLQ FAJLOW,NAHODQ]IHSQ POD KONTROLEM SISTEMY UPRAWLENIQ WERSIQMI,PROIZWODQ
PODHODQ]IE OPERACII.kOGDA WY NABIRAETE C-x C-q W ZAREGISTRIROWANNM FAJLE,ONA WEDET
SEBQ,KAK C-x v v.
tO^NOE DEJSTWIE\TOJ KOMANDY ZAWISIT OT SOSTOQNIQ FAJLA I OT TOGO,ISPOLXZUET LI
SISTEMA UPRAWLENIQ WERSIQMI BLOKIROWANIE ILI NET.SCCS I RCS OBY^NO [email protected]
BLOKIROWANIE;CVS OBY^NO NE ISPOLXZUET.
14.7.3.1 oSNOWY UPRAWLENIQ WERSIQMI S BLOKIROWANIEM
eSLI DLQ FAJLA PRIMENQETSQ BLOKIROWANIE (KAK W W SLU^AE S SCCS I RCS W REVIME PO
UMOL^[email protected]),C-x C-q MOVET LIBO BLOKIROWATX FAJL,LIBO ZAFIKSIROWATX EGO:
пЂЏ eSLI FAJL NE ZABLOKIROWAN,C-x C-q BLOKIRUET EGO I DELAET DOSTUPNYM DLQ ZAPISI,
^TOBY WY MOGLI EGO IZMENQTX.
gLAWA 14:rABOTA S FAJLAMI 119пЂЏ eSLI FAJL ZABLOKIROWAN WAMI I SODERVIT IZMENENIQ,C-x C-q FIKSIRUET\TI IZMENE-
NIQ.dLQ\TOGO ONA SNA^ALA S^ITYWAET [email protected] ZAPISX NOWOJ WERSII.sM.rAZ-
DEL 14.7.3.3 [bUFER VURNALA],S.119.
пЂЏ eSLI FAJL ZABLOKIROWAN WAMI,NO NE SODERVIT IZMENENIJ S TEH POR,KAK WY EGO BLO-
KIROWALI,C-x C-q SNIMAET BLOKIROWKU I DELAET FAJL OPQTX DOSTUPNYM TOLXKO DLQ
^TENIQ.
пЂЏ eSLI FAJL ZABLOKIROWAN KEM-TO E]E,C-x C-q SPRA[IWAET WAS,HOTITE LI WY\UKRASTX
BLOKIROWKU"U\TOGO POLXZOWATELQ.eSLI WY OTWETITE DA,TO FAJL STANOWITSQ BLOKIRO-
WANNYM WAMI,NO ^ELOWEKU,KOTORYJ RANX[E ZABLOKIROWAL EGO,POSYLAETSQ SOOB]ENIE,
^TOBY PROINFORMIROWATX O SLU^IW[EMSQ.
|TI PRAWILA PRIMENIMY TAKVE,KOGDA WY ISPOLXZUETE CVS W [email protected]]EM REVIME,ZA
[email protected]^ENIEM TOGO,^TO TAM NET TAKOGO PONQTIQ,KAK PEREHWAT BLOKIROWKI.
14.7.3.2 oSNOWY UPRAWLENIQ WERSIQMI BEZ BLOKIROWANIQ
kOGDA BLOKIROWANIQ NET |PO UMOL^[email protected] W CVS |RABO^IE FAJLY WSEGDA DOSTUPNY DLQ
ZAPISI;WAM NE NUVNO NI^EGO DELATX PERED TEM,KAK NA^ATX REDAKTIROWANIE.iNDIKATOROM
STATUSA W STROKE REVIMA SLUVIT`-',ESLI FAJL NE IZMENEN;ON ZAMETQETSQ NA`:',KAK TOLXKO
WY SOHRANQETE [email protected] IZMENENIQ W RABO^EM FAJLE.
wOT ^TO DELAET C-x C-q PRI ISPOLXZOWANII CVS:
пЂЏ eSLI KAKOJ-TO DRUGOJ POLXZOWATELX ZAFIKSIROWAL SWOI IZMENENIQ W MASTER-FAJLE,
Emacs SPRA[IWAET WAS,HOTITE LI WY WLITX\TI IZMENENIQ W WA[ RABO^IJ FAJL (SM.rAZDEL 14.7.6.3 [oB_EDINENIE],S.124).wY OBQZANY SDELATX\TO DO TOGO,KAK SMOVETE
ZAFIKSIROWATX SWOI SOBSTWENNYE IZMENENIQ.
пЂЏ eSLI W MASTER-FAJLE NET IZMENENIJ,NO WY MODIFIKACIROWALI WA[ RABO^IJ FAJL,C-x
C-q FIKSIRUET WA[I IZMENENIQ.dLQ\TOGO ONA SNA^ALA S^ITYWAET VURNALX[email protected] ZAPISX
DLQ NOWOJ WERSII.sM.rAZDEL 14.7.3.3 [bUFER VURNALA],S.119.
пЂЏ eSLI FAJL NE IZMENEN,C-x C-q NI^EGO NE DELAET.
|TI PRAWILA PRIMENIMY TAKVE I W TOM SLU^AE,ESLI WY ISPOLXZUETE RCS W REVIME,
KOGDA ONA NE TREBUET BLOKIROWANIQ,ZA [email protected]^ENIEM TOGO,^TO AWTOMATI^ESKOE OB_EDINENIE
S MASTER-FAJLOM NE REALIZOWANO.k [email protected],\TO OZNA^AET,^TO WAS NE [email protected],
ESLI E]E ODIN POLXZOWATELX ZAFIKSIROWAL IZMENENIQ W TOM VE FAJLE POSLE TOGO,KAK WY
NA^ALI REDAKTIROWANIE,I KOGDA\TO PROISHODIT,EGO IZMENENIQ W REZULXTATE IS^EZNUT W
WA[EJ ZAFIKSIROWANNOJ WERSII (HOTQ ONI OSTANUTSQ W MASTER-FAJLE,TAK ^TO NE OKAVUTSQ
[email protected] POTERQNNYMI).pO\TOMU WY DOLVNY UBEDITXSQ,^TO TEKU]AQ WERSIQ OSTALASX
NEIZMENENNOJ PERED TEM KAK FIKSIROWATX SWOI IZMENENIQ.mY NADEEMSQ USTRANITX\TOT
RISK I PREDOSTAWITX AWTOMATI^ESKOE OB_EDINENIE DLQ RCS W BUDU]EJ WERSII Emacs.
kROME TOGO,DAVE W\TOM REVIME RCS BLOKIROWANIE WOZMOVNO,HOTX I NEOBQZATELXNO;
C-x C-q W NEIZMENENNOM FAJLE BLOKIRUET\TOT FAJL,TAK VE,KAK S RCS W OBY^NOM (BLOKI-
[email protected]]EM) REVIME.
14.7.3.3 bUFER VURNALXNOJ ZAPISI
kOGDA WY FIKSIRUETE IZMENENIQ,C-x C-q SNA^ALA S^ITYWAET [email protected] ZAPISX.oNA
PODNIMAET BUFER S IMENEM`*VC-Log*',W KOTOROM WY WWODITE [email protected] ZAPISX.kOGDA
WY ZAWER[ILI,NAVMITE C-c C-c W BUFERE`*VC-Log*'.tOLXKO TOGDA PROISHODIT DEJSTWI-
TELXNOE FIKSIROWANIE.
~TOBY PRERWATX FIKSIROWANIE,PROSTO NE NABIRAJTE C-c C-c W\TOM BUFERE.wY MOVETE
[email protected]^ATX BUFERY I DELATX DRUGOE REDAKTIROWANIE.pOKA WY NE PYTAETESX ZAFIKSIRO-
WATX DRUGOJ FAJL,ZAPISX,[email protected] WY REDAKTIROWALI,OSTAETSQ W BUFERE`*VC-Log*',I WY
MOVETE W [email protected] WREMQ WERNUTXSQ W\TOT BUFER I ZAWER[ITX FIKSIROWANIE.
120 rUKOWODSTWO PO GNU EmacseSLI WY MODIFICIRUETE NESKOLXKO ISHODNYH FAJLOW S ODNOJ [email protected],^ASTO BYWAET UDOBNO
UKAZATX [email protected] [email protected] ZAPISX DLQ MNOGIH FAJLOW.~TOBY SDELATX TAK,ISPOLX-
ZUJTE [email protected] PREDYDU]IH VURNALXNYH ZAPISEJ.pREDNAZNA^ENNYE DLQ\TOGO KOMANDY
M-n,M-p,M-s I M-r [email protected] TAK VE,KAK KOMANDY ISTORII MINIBUFERA (ZA [email protected]^ENIEM
TOGO,^TO ONI [email protected] WNE MINIBUFERA).
kAVDYJ RAZ,KOGDA WY FIKSIRUETE FAJL,BUFER VURNALXNOJ ZAPISI POME]AETSQ W RE-
VIM VC Log,^TO WLE^ET ZAPUSK DWUH LOWU[EK:text-mode-hook I vc-log-mode-hook.sM.rAZDEL 31.2.3 [lOWU[KI],S.349.
14.7.4 pROSMOTR I SRAWNENIE STARYH WERSIJ
oDNA IZ UDOBNYH WOZMOVNOSTEJ SISTEM UPRAWLENIQ WERSIQMI |WOZMOVNOSTX PROSMOTRA
[email protected] WERSII FAJLA ILI SRAWNENIQ DWUH WERSIJ.
C-x v ~ WERSIQ
h RETi
pOKAZYWAET [email protected] [email protected] FAJLA,K KOTOROMU WY OBRATILISX,W OTDELXNOM
BUFERE.
C-x v = sRAWNIWAET TEKU]EE SODERVIMOE BUFERA S POSLEDNEJ ZAFIKSIROWANNOJ WERSIEJ
\TOGO FAJLA.
C-u C-x v = FAJL h RETi STARAQ-WER hRETi NOWAQ-WER hRETi
sRAWNIWAET DWE ZADANNYE WERSII FAJLA.
C-x v g wYWODIT REZULXTAT KOMANDY CVS annotate S ISPOLXZOWANIEM RAZNYH CWETOW.
~TOBY PROSMOTRETX [email protected] [email protected] in toto,OBRATITESX K FAJLU I NABERITE C-x v ~
WERSIQ h RETi (vc-version-other-window).|TO POMESTIT TEKST UKAZANNOJ WERSII W FAJL
S IMENEM`IMQ-FAJLA.~WERSIQ~'I OBRATITSQ K NEMU W NOWOM BUFERE W OTDELXNOM OKNE.
(w RCS,WY TAKVE MOVETE WYBRATX STARYJ BUFER I SOZDATX IZ NEGO [email protected] WETWX.sM.rAZDEL 14.7.6 [wETWI],S.123.)
nO OBY^NO BOLEE UDOBNO SRAWNIWATX DWE WERSII FAJLA S POMO][email protected] KOMANDY C-x v = (vc-
diff).pROSTO C-x v = SRAWNIWAET TEKU]EE SODERVIMOE BUFERA (SOHRANQQ EGO W FAJL,ESLI
TREBUETSQ) S POSLEDNEJ ZAFIKSIROWANNOJ WERSIEJ\TOGO FAJLA.C-u C-x v = S ^ISLOWYM
ARGUMENTOM S^ITYWAET IMQ FAJLA I NOMERA DWUH WERSIJ,A ZATEM SRAWNIWAET\TI WERSII
UKAZANNOGO FAJLA.
eSLI WY ZADADITE WMESTO ZAREGISTRIROWANNOGO FAJLA IMQ KATALOGA,\TA KOMANDA SRAW-
NIWAET ZADANNYE WERSII WSEH ZAREGISTRIROWANNYH FAJLOW W\TOM KATALOGE I EGO PODKATA-
LOGAH.
wY MOVETE ZADATX [email protected] [email protected] ^ISLOM;PUSTOJ WWOD OBOZNA^AET TEKU]EE
SODERVIMOE RABO^EGO FAJLA (ONO MOVET OTLI^ATXSQ OT WSEH ZAFIKSIROWANNYH WERSIJ).wY
TAKVE MOVETE ZADATX WMESTO ODNOGO ILI OBOIH NOMEROW WERSIJ IMQ SNIMKA (SM.rAZ-
DEL 14.7.7 [sNIMKI],S.126 ).
|TA KOMANDA RABOTAET PUTEM ZAPUSKA UTILITY diff,PEREDAWAQ EJ ARGUMENTY IZ PERE-
MENNOJ diff-switches.oNA POKAZYWAET WYWOD W OSOBOM BUFERE W DRUGOM OKNE.w OTLI^IE
OT KOMANDY M-x diff,C-x v = NE PYTAETSQ OPREDELITX POZICII RAZLI^IJ W STAROJ I NOWOJ
WERSIQH.tAK DELAETSQ,POTOMU ^TO KAK PRAWILO ODNA ILI OBE WERSII NE SU][email protected] W
MOMENT SRAWNENIQ W WIDE FAJLOW;ONI SU][email protected] TOLXKO W ZAPISQH W MASTER-FAJLE.sM.rAZDEL 14.9 [sRAWNENIE FAJLOW],S.132,DLQ POLU^ENIQ BOLX[EJ INFORMACII O M-x diff.
dLQ FAJLOW,UPRAWLQEMYH CVS,WY MOVETE POSMOTRETX REZULXTAT KOMANDY CVS an-
notate S ISPOLXZOWANIEM RAZNYH CWETOW DLQ ULU^[ENIQ WNE[NEGO WIDA.iSPOLXZUJTE DLQ
\TOGO KOMANDU M-x vc-annotate.kRASNYM OBOZNA^AETSQ NOWOE,SINIM | STAROE,A PRO-
MEVUTO^NYE CWETA OBOZNA^[email protected] PROMEVUTO^NYE WERSII.pREFIKSNYJ ARGUMENT n ZADAET
KO\FFICIENT RASTQVENIQ PO WREMENNOJ [KALE;ON GOWORIT,^TO KAVDYJ CWET POKRYWAET W
n RAZ BOLX[IJ PERIOD WREMENI.
gLAWA 14:rABOTA S FAJLAMI 12114.7.5 wTOROSTEPENNYE KOMANDY VC
|TOT RAZDEL OB_QSNQET WTOROSTEPENNYE KOMANDY VC;TE,^TO WY MOGLI BY ISPOLXZOWATX
RAZ W DENX.
14.7.5.1 rEGISTRIROWANIE FAJLA DLQ UPRAWLENIQ WERSIQMI
wY MOVETE POMESTITX [email protected] FAJL POD KONTROLX SISTEMY UPRAWLENIQ WERSIQMI,PROSTO
OBRATQSX K NEMU I NABRAW ZATEM C-x v i (vc-register).
C-x v i rEGISTRIRUET FAJL W SISTEME UPRAWLENIQ WERSIQMI.
~TOBY ZAREGISTRIROWATX FAJL,Emacs DOLVEN WYBRATX,[email protected] SISTEMU UPRAWLENIQ WER-
SIQMI DLQ NEGO ISPOLXZOWATX.wY MOVETE UKAZATX SWOJ WYBOR QWNO,USTANAWLIWAQ vc-
default-back-end W ZNA^ENIQ RCS,CVS ILI SCCS.iNA^E,ESLI ESTX PODKATALOG S IMENEM
`RCS',`SCCS'ILI`CVS',Emacs ISPOLXZUET [email protected]][email protected] SISTEMU UPRAWLENIQ WERSIQ-
MI.w OTSUTSTWIE KAKIH-LIBO UKAZANIJ,PO UMOL^[email protected] WYBIRAETSQ RCS,ESLI W SISTEME
USTANOWLENA RCS,INA^E SCCS.
eSLI PRIMENQETSQ BLOKIROWANIE,C-x v i OSTAWLQET FAJL NEBLOKIROWANNYM I ZAPRE]A-
ET W ZAPISX.nABERITE C-x C-q,ESLI WY HOTITE NA^ATX W NEM REDAKTIROWANIE.pOSLE
REGISTRIROWANIQ S ISPOLXZOWANIEM CVS WY DOLVNY ZAFIKSIROWATX IZMENENIQ,NABRAW C-x
C-q.
pERWONA^ALXNOJ WERSII WNOWX ZAREGISTRIROWANNOGO FAJLA PRISWAIWAETSQ NOMER 1.1,PO
UMOL^[email protected] MOVETE ZADATX DRUGOE ZNA^ENIE PO UMOL^[email protected],USTANAWLIWAQ PEREMEN-
[email protected] vc-default-init-version,ILI WY MOVETE DATX C-x v i ^ISLOWOJ ARGUMENT;TOGDA ONA
S^ITYWAET NOMER WERSII DLQ\TOGO KONKRETNOGO FAJLA W MINIBUFERE.
eSLI vc-initial-comment OTLI^NA OT nil,C-x v i S^ITYWAET NA^ALXNYJ KOMMENTARIJ,
[email protected]]IJ PREDNAZNA^ENIE DANNOGO ISHODNOGO FAJLA.nA^ALXNYJ KOMMENTARIJ S^ITY-
WAETSQ TAK VE,KAK VURNALXNYE ZAPISI (SM.rAZDEL 14.7.3.3 [bUFER VURNALA],S.119).
14.7.5.2 kOMANDY VC DLQ WYQSNENIQ STATUSA FAJLA
C-x v l pOKAZYWAET SOSTOQNIE FAJLA W SISTEME UPRAWLENIQ WERSIQMI I [email protected] IZME-
NENIJ.
~TOBY PROSMOTRETX [email protected] [email protected] O STATUSE WERSII I [email protected] FAJLA,NA-
BERITE C-x v l (vc-print-log).|TO POKAVET [email protected] IZMENENIJ TEKU]EGO FAJLA,W TOM
^ISLE TEKST VURNALXNYH ZAPISEJ.wYWOD POQWLQETSQ W DRUGOM OKNE.
14.7.5.3 oTMENA DEJSTWIJ NAD WERSIQMI
C-x v u wOZWRA]AET BUFER I EGO FAJL K POSLEDNEJ ZAFIKSIROWANNOJ WERSII.
C-x v c uDALQET POSLEDNEE WNESENNOE IZMENENIE IZ MASTER-FAJLA DLQ FAJLA,K KOTOROMU
WY OBRATILISX.|TO OTMENQET WA[E POSLEDNEE FIKSIROWANIE.
eSLI WY HOTITE SBROSITX WA[I TEKU]IE IZMENENIQ I WERNUTX FAJL K EGO POSLEDNEJ
WERSII,ISPOLXZUJTE C-x v u (vc-revert-buffer).fAJL OSTAETSQ NEBLOKIROWANNYM;ESLI
ISPOLXZUETSQ BLOKIROWANIE,DO TOGO,KAK SMOVETE IZMENQTX\TOT FAJL,WY DOLVNY SNA^ALA
SNOWA EGO ZABLOKIROWATX.C-x v u TREBUET PODTWERVDENIQ,ESLI TOLXKO ONA NE WIDIT,^TO
WY NE WNOSILI IZMENENIQ SO WREMENI POSLEDEGO FIKSIROWANIQ.
C-x v u TAKVE NUVNA DLQ RAZBLOKIROWANIQ FAJLA,KOGDA WY BLOKIROWALI EGO,A POTOM
RE[ILI NE IZMENQTX.
122 rUKOWODSTWO PO GNU Emacs~TOBY OTMENITX UVE ZAFIKSIROWANNOE IZMENENIE,ISPOLXZUJTE C-x v c (vc-cancel-
version).|TA KOMANDA SBRASYWAET WSE ZAPISI O POSLEDNEJ FIKSIROWANNOJ WERSII.C-x
v c TAKVE PREDLAGAET WERNUTX WA[ RABO^IJ FAJL I BUFER K PREDYDU]EJ WERSII (K TOJ,
^TO PRED[ESTWOWALA UDALQEMOJ).
eSLI WY OTWE^AETE no,VC SOHRANQET WA[I IZMENENIQ W BUFERE I BLOKIRUET FAJL.tA-
KAQ WOZMOVNOSTX POLEZNA,KOGDA WY ZAFIKSIROWALI IZMENENIE,A ZATEM OBNARUVILI W NEM
[email protected] O[IBKU;WY MOVETE OTMENITX FIKSIROWANIE,ISPRAWITX O[IBKU I SNOWA ZA-
FIKSIROWATX FAJL.
kOGDA C-x v c NE WOZWRA]AET BUFER,ONA WMESTO\TOGO SWORA^IWAET WSE ZAGOLOWKI WERSIJ
(SM.rAZDEL 14.7.8.3 [zAGOLOWKI WERSII],S.128).|TO DELAETSQ PO TOJ PRI^INE,^TO BUFER
BOLX[E NE SOOTWETSTWUET NIKAKOJ SU][email protected]]EJ WERSII.eSLI WY SNOWA ZAFIKSIRUETE EGO,
ZAGOLOWKI BUDUT RASKRYTY PRAWILXNO OTNOSITELXNO NOWOGO NOMERA WERSII.
oDNAKO,AWTOMATI^ESKI SWERNUTX ZAGOLOWOK RCS`$Log$'NEWOZMOVNO.eSLI WY PI[E-
TE\TOT ZAGOLOWOK,WY DOLVNY SWERNUTX EGO WRU^[email protected] | UDALIW WHOVDENIE DLQ WERSII,
[email protected] WY OTMENILI.
bUDXTE OSTOROVNY PRI WYZOWE C-x v c,TAK KAK PRI\TOM LEGKO POTERQTX MNOGO RABOTY.
~TOBY POMO^X WAM NE DOPUSTITX O[IBKI,\TA KOMANDA WSEGDA TREBUET PODTWERVDENIQ S
yes.oBRATITE WNIMANIE TAKVE NA TO,^TO\TA KOMANDA [email protected]^ENA POD CVS,POSKOLXKU
TAM OTMENA WERSIJ O^ENX OPASNA I NE REKOMENDUETSQ.
14.7.5.4 Dired POD VC
kOGDA WY RABOTAETE NAD BOLX[OJ PROGRAMMOJ,^ASTO BYWAET POLEZNO UZNATX,KAKIE
FAJLY BYLI IZMENENY W PREDELAH CELOGO DEREWA KATALOGOW,ILI PROSMOTRETX STATUS WSEH
FAJLOW S UPRAWLENIEM WERSIQMI ODNOWREMENNO I PROIZWESTI KAKIE-TO OPERACII NAD WERSI-
QMI DLQ NABORA FAJLOW.wY MOVETE ISPOLXZOWATX KOMANDU C-x v d (vc-directory),^TOBY
SOZDATX RASPE^ATKU KATALOGA,KOTORYJ [email protected]^AET TOLXKO FAJLY,[email protected]]IE OTNO[ENIE K
SISTEME UPRAWLENIQ WERSIQMI.
C-x v d SOZDAET BUFER,[email protected]]IJ REVIM VC Dired.oN WYGLQDIT KAK OBY^NYJ
BUFER Dired (SM.gLAWA 28 [Dired],S.291);ODNAKO,KAK PRAWILO W NEM POKAZANY TOLXKO
STOQ]IE UPOMINANIQ FAJLY (BLOKIROWANNYE ILI NEOBNOWLENNYE).|TO NAZYWAETSQ SVATYM
POKAZOM.eSLI WY USTANOWITE [email protected] vc-dired-terse-display RAWNOJ nil,TO VC
Dired POKAZYWAET WSE OTNOSQ]IESQ K DELU FAJLY | TE,^TO NAHODQTSQ POD KONTROLEM SI-
STEMY UPRAWLENIQ WERSIQMI,[email protected] WSE PODKATALOGI (POLNYJ POKAZ).kOMANDA v t W BUFERE
VC Dired [email protected]^AET MEVDU SVATYM I POLNYM POKAZOM (SM.rAZDEL 14.7.5.5 [kOMANDY
VC Dired],S.123 ).
pO UMOL^[email protected] VC Dired PROIZWODIT [email protected] RASPE^ATKU [email protected]]IH UPOMINA-
NIQ ILI RELEWANTNYH FAJLOW W ZADANNOM KATALOGE I NIVE.wY MOVETE IZMENITX\TO,USTA-
NAWLIWAQ [email protected] vc-dired-recurse RAWNOJ nil;TOGDA VC Dired POKAZYWAET TOLXKO
FAJLY TEKU]EGO KATALOGA.
sTROKA DLQ OTDELXNOGO FAJLA POKAZYWAET SOSTOQNIE WERSII NA MESTE ^ISLA VESTKIH
SSYLOK,WLADELXCA,GRUPPU I RAZMER FAJLA.eSLI FAJL NE IZMENEN,SINHRONIZIROWAN S
MASTER-FAJLOM,STATUS WERSII PUST.iNA^E ON SOSTOIT IZ TEKSTA W KRUGLYH SKOBKAH.pOD
RCS I SCCS POKAZYWAETSQ IMQ POLXZOWATELQ,BLOKIROWAW[EGO\TOT FAJL;POD CVS ISPOLX-
ZUETSQ SOKRA]ENNAQ WERSIQ WYWODA`cvs status'.wOT PRIMER S ISPOLXZOWANIEM RCS:
/home/jim/project:
-rw-r-r- (jim) Apr 2 23:39 file1
-r-r-r- Apr 5 20:21 file2
fAJLY`file1'I`file2'NAHODQTSQ POD UPRAWLEIEM RCS,`file1'BLOKIROWAL POLXZOWATELX
jim,A`file2'NEBLOKIROWAN.
wOT PRIMER S ISPOLXZOWANIEM CVS:
gLAWA 14:rABOTA S FAJLAMI 123/home/joe/develop:
-rw-r-r- (modified) Aug 2 1997 file1.c
-rw-r-r- Apr 4 20:09 file2.c
-rw-r-r- (merge) Sep 13 1996 file3.c
zDESX`file1.c'IZMENEN PO OTNO[[email protected] K [email protected],A`file2.c'NE IZMENEN.`file3.c'
IZMENEN,NO W REPOZITORII BYLI TAKVE ZAFIKSIROWANY DRUGIE IZMENENIQ | WAM NUVNO
OB_EDINITX IH W RABO^EM FAJLE PERED FIKSIROWANIEM.
kOGDA VC Dired POKAZYWAET PODKATALOGI (W REVIME\POLNOGO"POKAZA),ON OPUSKAET
NEKOTORYE IZ NIH,KOTORYE NIKOGDA NE MOGUT SODERVATX FAJLOW POD KONTROLEM SISTEMY
UPRAWLENIQ WERSIQMI.pO UMOL^[email protected]\TO [email protected]^AET KATALOGI,SOZDAWAEMYE\TIMI SISTE-
MAMI,TAKIE KAK`RCS'I`CVS';WY MOVETE NASTRAIWATX\TO,USTANAWLIWAQ [email protected] vc-
directory-exclusion-list.
wY MOVETE PODOBRATX PODHODQ]IJ FORMAT VC Dired,NABRAW C-u C-x v d |KAK W OBY^-
NOM Dired,^TO POZWOLQET WAM UKAZYWATX DOPOLNITELXNYE [email protected]^I DLQ KOMANDY ls.
14.7.5.5 kOMANDY VC Dired
wSE OBY^NYE KOMANDY Dired [email protected] KAK WSEGDA I W REVIME VC Dired,ZA [email protected]^ENIEM
v,KOTORAQ PEREOPREDELENA KAK PREFIKS UPRAWLENIQ WERSIQMI.wY MOVETE WYZYWATX KOMAN-
DY VC,TAKIE KAK vc-diff I vc-print-log,NABIRAQ v = ILI v l I TAK DALEE.bOLX[INSTWO
\TIH KOMAND [email protected] K IMENI FAJLA NA TEKU]EJ STROKE.
kOMANDA v v (vc-next-action) OBRABATYWAET WSE POME^ENNYE FAJLY,TAK ^TO WY MOVETE
ZABLOKIROWATX ILI ZAFIKSIROWATX NESKOLXKO FAJLOW ODNOWREMENNO.eSLI ONA RABOTAET
BOLEE ^EM S ODNIM FAJLOM,TO OBRABATYWAET KAVDYJ FAJL W SOOTWETSTWII S EGO STATUSOM;
TAKIM OBRAZOM,ONA MOVET BLOKIROWATX ODIN FAJL,NO ZAFIKSIROWATX DRUGOJ.wOZMOVNO,
\TO SMUTIT WAS;NO WY WOLXNY IZBEVATX PUTANICY,POME^AQ NABOR FAJLOW S ODNIM I TEM
VE STATUSOM.
eSLI KAKOJ-LIBO FAJL TREBUET FIKSIROWANIQ,v v S^ITYWAET [email protected] [email protected]
ZAPISX I ISPOLXZUET EE DLQ WSEH FIKSIRUEMYH FAJLOW.|TO UDOBNO DLQ ODNOWREMENNOGO
REGISTRIROWANIQ ILI FIKSIROWANIQ NESKOLXKIH FAJLOW KAK ^ASTEJ ODNOGO IZMENENIQ.
wY MOVETE W [email protected] WREMQ [email protected]^ATXSQ MEVDU SVATYM POKAZOM (TOLXKO BLOKIROWAN-
NYE ILI NEOBNOWLENNYE FAJLY) I POLNYM POKAZOM,NABIRAQ v t vc-dired-toggle-terse-
mode.eSTX TAKVE OSOBAQ KOMANDA * l (vc-dired-mark-locked),KOTORAQ POME^AET WSE ZABLO-
KIROWANNYE W DANNYJ MOMENT FAJLY (ILI,DLQ CVS,WSE NEOBNOWLENNYE).tAKIM OBRAZOM,
NABOR * l t k |\TO DRUGOJ SPOSOB UDALITX IZ BUFERA WSE FAJLY,KROME TEH,^TO SEJ^AS
ZABLOKIROWANY.
14.7.6 mNOVESTWO WETWEJ FAJLA
oDNO IZ PRIMENENIJ UPRAWLENIQ WERSIQMI |SOPROWOVDENIE NESKOLXKIH\TEKU]IH"WER-
SIJ FAJLA.nAPRIMER,U WAS MOGLO BY BYTX NESKOLXKO RAZNYH WERSIJ PROGRAMMY,W KO-
TOROJ WY POSTEPENNO DOBAWLQLI RAZLI^NYE NEZAWER[ENNYE NOWYE WOZMOVNOSTI.kAVDAQ
NEZAWISIMAQ LINIQ RAZRABOTKI NAZYWAETSQ [email protected] POZWOLQET WAM SOZDAWATX WETWI,
[email protected]^ATXSQ MEVDU RAZNYMI WETWQMI I WLIWATX IZMENENIQ IZ ODNOJ WETWI W [email protected]
pOVALUJSTA,ZAMETXTE ODNAKO,^TO TAKIE WETWI NA DANNYJ MOMENT [email protected] TOLXKO
DLQ RCS.
gLAWNAQ LINIQ RAZWITIQ FAJLA OBY^NO NAZYWAETSQ STWOLOM.wERSII STWOLA OBY^NO
[email protected] KAK 1.1,1.2,1.3,etc.nA [email protected] IZ\TIH WERSIJ WY MOVETE NA^ATX [email protected]
WETWX.wETWX,NA^[email protected]]AQSQ NA WERSII 1.2 IMELA BY NOMER 1.2.1.1,A [email protected]]IE WERSII
\TOJ WETWI IMELI BY NOMERA 1.2.1.2,1.2.1.3,1.2.1.4 I TAK DALEE.eSLI ESTX WTORAQ WETWX,
TAKVE NA^[email protected]]AQSQ NA WERSII 1.2,ONA SOSTOQLA BY IZ WERSIJ 1.2.2.1,1.2.2.2,1.2.2.3,etc.
124 rUKOWODSTWO PO GNU EmacseSLI WY OPUSKAETE POSLEDNIJ KOMPONENT W NOMERE WERSII,\TO NAZYWAETSQ NOMEROM WET-
WI.oN SSYLAETSQ NA [email protected] [email protected]@ SU][email protected]][email protected] [email protected]\TOJ WETWI | EE [email protected]
[email protected] W PRIMERE WY[E [email protected] NOMERA 1.2.1 I 1.2.2.
14.7.6.1 [email protected]^ENIE MEVDU WETWQMI
~TOBY [email protected]^ITXSQ MEVDU WETWQMI,WWEDITE C-u C-x C-q I UKAVITE NOMER WERSII,
KOTORYJ WY HOTITE WYBRATX.tOGDA K\TOJ WERSII DELAETSQ OBRA]ENIE W NEBLOKIROWANNOM
(ZA]I]ENNOM OT ZAPISI) REVIME,TAK ^TO WY MOVETE PROSMOTRETX EE PERED BLOKIROWANIEM.
[email protected]^ENIE WETWEJ TAKIM SPOSOBOM DOPUSKAETSQ TOLXKO TOGDA,KOGDA FAJL BLOKIROWAN.
wY MOVETE OPUSTITX NOMER WTOROSTEPENNOJ WERSII,ZADAWAQ TAKIM OBRAZOM TOLXKO NOMER
WETWI;\TO PERENOSIT WAS K GOLOWNOJ WERSII WYBRANNOJ WETWI.eSLI WY NABERETE PROSTO
h RETi,Emacs PEREHODIT K SAMOJ WERHNEJ WERSII STWOLA.
pOSLE [email protected]^ENIQ NA [email protected]@ WETWX ([email protected]^AQ [email protected]),WY OSTAETESX W NEJ S TO^KI
ZRENIQ WSEH [email protected]]IH KOMAND VC,POKA QWNO NE WYBERETE [email protected] [email protected] WETWX.
14.7.6.2 sOZDANIE NOWYH WETWEJ
~TOBY SOZDATX [email protected] WETWX IZ GOLOWNOJ WERSII (POSLEDNEJ W SWOEJ WETWI),SNA^ALA WY-
BERITE\TU [email protected],ESLI NEOBHODIMO,ZABLOKIRUJTE EE KOMANDOJ C-x C-q I DELAJTE NUVNYE
WAM IZMENENIQ.zATEM,KOGDA WY FIKSIRUETE IZMENENIQ,ISPOLXZUJTE C-u C-x C-q.|TO
POZWOLIT WAM ZADATX NOMER DLQ NOWOJ WERSII.wY DOLVNY ZADATX PODHODQ]IJ NOMER DLQ
WETWI,OTHODQ]EJ OT TEKU]EJ WERSII.nAPRIMER,ESLI TEKU]AQ WERSIQ |2.5,TO NOMER WET-
WI DOLVEN BYTX 2.5.1,2.5.2 I TAK DALEE W ZAWISIMOSTI OT NOMEROW SU][email protected]]IH WETWEJ W
\TOJ TO^KE.
~TOBY SOZDATX [email protected] WETWX OT BOLEE STAROJ WERSII (TOJ,^TO UVE NE QWLQETSQ GOLOWNOJ
W WETWI),SNA^ALA WYBERITE\TU [email protected] (SM.rAZDEL 14.7.6.1 [[email protected]^ENIE WETWEJ],S.124),
ZATEM ZABLOKIRUJTE EE S POMO][email protected] C-x C-q.kOGDA WY BLOKIRUETE [email protected] [email protected],WAS PO-
PROSQT PODTWERDITX,^TO WY DEJSTWITELXNO IMELI W WIDU SOZDANIE NOWOJ WETWI,|ESLI WY
OTWETITE NET,WAM PREDOSTAWQT WOZMOVNOSTX BLOKIROWATX WMESTO\TOGO [email protected]@ [email protected]
pOTOM WNOSITE WA[I IZMENENIQ I SNOWA NABERITE C-x C-q,^TOBY ZAFIKSIROWATX [email protected]
[email protected]|TO AWTOMATI^ESKI SOZDAST [email protected] WETWX OT WYBRANNOJ WERSII.wAM NE NUVNO SPE-
CIALXNO ZAPRA[IWATX SOZDANIE NOWOJ WETWI,POSKOLXKU\TO EDINSTWENNYJ SPOSOB DOBAWITX
[email protected] [email protected] W TO^KE,KOTORAQ UVE NE NAHODITSQ W GOLOWE WETWI.
pOSLE TOGO KAK WETWX SOZDANA,WY\OSTAETESX"W NEJ.|TO OZNA^AET,^TO [email protected]]IE
FIKSIROWANIQ [email protected] NOWYE WERSII W\TOJ WETWI.~TOBY POKINUTX WETWX,WY DOLVNY QWNO
WYBRATX [email protected] [email protected] S POMO][email protected] C-u C-x C-q.~TOBY PERENESTI IZMENENIQ IZ ODNOJ
WETWI W [email protected],ISPOLXZUJTE KOMANDU OB_EDINENIQ,[email protected] W [email protected]]EM RAZDELE.
14.7.6.3 oB_EDINENIE WETWEJ
kOGDA WY ZAKON^ILI IZMENENIQ W KONKRETNOJ WETWI,WAM ^ASTO BUDET NUVNO WNESTI IH
W [email protected] [email protected] RAZRABOTKI FAJLA (STWOL).|TO NETRIWIALXNAQ PROCEDURA,POTOMU ^TO
W STWOLE TOVE MOGLO IDTI RAZWITIE,PO\TOMU WY DOLVNY OB_EDINITX IZMENENIQ S FAJLOM,
KOTORYJ UVE BYL IZMENEN INA^E.VC POZWOLQET WAM SDELATX\TO (I DRUGIE WE]I) PRI
POMO]I KOMANDY vc-merge.
C-x v m (vc-merge)
wLIWAET IZMENENIQ W RABO^IJ FAJL.
C-x v m (vc-merge) BERET NABOR IZMENENIJ I WLIWAET IH W TEKU][email protected] [email protected] RABO^EGO
FAJLA.sNA^ALA ONA SPRA[IWAET U WAS NOMER WETWI ILI PARU NOMEROW WERSIJ W MINIBUFE-
RE.zATEM ONA NAHODIT OTLI^IQ OT\TOJ WETWI ILI MEVDU DWUMQ ZADANNYMI WERSIQMI I
OB_EDINQET IH W TEKU]EJ WERSII TEKU]EGO FAJLA.
gLAWA 14:rABOTA S FAJLAMI 125w KA^ESTWE PRIMERA PREDPOLOVIM,^TO WY ZAWER[ILI NEKOTOROE DOBAWLENIE W WETWI
1.3.1.tEM WREMENEM RAZRABOTKA STWOLA PRODWINULASX DO WERSII 1.5.~TOBY WLITX IZMENE-
NIQ W STWOL,SNA^ALA PEREJDITE W [email protected] [email protected] STWOLA,NABRAW C-u C-x C-q RET.wERSIQ
1.5 TEPERX STALA TEKU]EJ.eSLI DLQ\TOGO FAJLA ISPOLXZUETSQ BLOKIROWANIE,NABERITE C-x
C-q DLQ BLOKIROWANIQ WERSII 1.5,^TOBY WY MOGLI EE IZMENQTX.zATEM NABERITE C-x v m
1.3.1 RET.|TO WOZXMET WESX NABOR IZMENENIJ W WETWI 1.3.1 (OTNOSITELXNO WERSII 1.3,GDE
WETWX BYLA NA^ATA,I DO SAMOJ POSLEDNEJ WERSII\TOJ WETWI) I WLIWAET IH W TEKU][email protected] WER-
[email protected] RABO^EGO FAJLA.tEPERX WY MOVETE ZAFIKSIROWATX IZMENENNYJ FAJL,SOZADWAQ TAKIM
OBRAZOM [email protected] 1.6,SODERVA][email protected] IZMENENIQ IZ WETWI.
pOSLE OB_EDINENIQ MOVNO DELATX DALXNEJ[EE REDAKTIROWANIE DO [email protected]]EGO FIKSIRO-
WANIQ.nO OBY^NO MUDREE ZAFIKSIROWATX [email protected] [email protected],ZATEM BLOKIROWATX EE I
TOLXKO TOGDA PRODOLVATX REDAKTIROWANIE.|TO SOHRANIT LU^[[email protected] ZAPISX ISTORII IZMENE-
NIJ.
kOGDA WY WLIWAETE IZMENENIQ W FAJL,KOTORYJ SAM BYL MODIFICIROWAN,RAZLI^IQ MO-
GUT PEREKRYWATXSQ.mY NAZYWAEM [email protected] [email protected] KONFLIKTOM,A SOGLASOWANIE RAZLI^IJ
NAZYWAETSQ RAZRE[ENIEM KONFLIKTA.
kOGDA WO WREMQ OB_EDINENIQ [email protected] KONFLIKTY,VC ZAME^AET IH,GOWORIT WAM O NIH
W\HO-OBLASTI I SPRA[IWAET,HOTITE LI WY POMO^X W OB_EDINENII.eSLI WY OTWE^AETE DA,
VC ZAPUSKAET SEANS EdiпЂ‹ (SM.RAZDEL\EdiпЂ‹"W The EdiпЂ‹ Manual).
eSLI WY GOWORITE NET,W FAJL [email protected] OBA [email protected]]IH IZMENENIQ,OKRUVENNYE
MARKERAMI KONFLIKTA.pRIMER NIVE POKAZYWAET,KAK WYGLQDQT [email protected]]IE OBLASTI;
FAJL NAZYWAETSQ`IMQ-FAJLA',A NOMER TEKU]EJ WERSII W MASTER-FAJLE,GDE NAHODQTSQ S
IZMENENIQ POLXZOWATELQ b | 1.11.
<<<<<<< IMQ-FAJLA
wERSIQ POLXZOWATELQ a
=======
wERSIQ POLXZOWATELQ b
>>>>>>> 1.11
tEPERX WY MOVETE RAZRE[ITX KONFLIKT,REDAKTIRUQ FAJL WRU^[email protected] WY MOVETE
NAPE^ATATX M-x vc-resolve-conflicts POSLE OBRA]ENIQ K FAJLU.|TO ZAPUSKAET SEANS
EdiпЂ‹,KAK OPISANO WY[E.
14.7.6.4 mNOGOPOLXZOWATELXSKIE RAZWETWLENIQ
~ASTO NESKOLXKIM RAZRABOT^IKAM BYWAET POLEZNO RABOTATX ODNOWREMENNO NAD RAZLI^-
NYMI WETWQMI FAJLA.CVS POZWOLQET\TO PO UMOL^[email protected];W RCS\TO WOZMOVNO,ESLI WY
SOZDADITE NESKOLXKO ISHODNYH KATALOGOW.kAVDYJ ISHODNYJ KATALOG DOLVEN IMETX SSYL-
KU S IMENEM`RCS',KOTORAQ UKAZYWAET NA OB]IJ KATALOG S MASTER-FAJLAMI RCS.tOGDA
KAVDYJ ISHODNYJ KATALOG MOVET HRANITX SOBSTWENNYJ NABOR WYBRANNYH WERSIJ,NO WSE
ONI [email protected] ODNI OB]IE ZAPISI RCS.
|TOT METOD RABOTAET NADEVNO I AWTOMATI^ESKI,PRI USLOWII,^TO ISHODNYE FAJLY
SODERVAT ZAGOLOWKI RCS O WERSII (SM.rAZDEL 14.7.8.3 [zAGOLOWKI WERSII],S.128).|TI
ZAGOLOWKI [email protected] Emacs WSEGDA TO^NO ZNATX NOMER WERSII,[email protected]]EJ W RABO^EM
FAJLE.
eSLI W FAJLAH NET ZAGOLOWKOW WERSII,WY DOLVNY W KAVDOM SEANSE QWNO GOWORITX Emacs,
NAD KAKOJ [email protected] WY RABOTAETE.~TOBY SDELATX TAK,SNA^ALA OBRATITESX K FAJLU,ZATEM
NABERITE C-u C-x C-q I UKAVITE PRAWILXNYJ NOMER WERSII.|TO DOLVNO GARANTIROWATX,
^TO Emacs ZNAET,KAKAQ WETWX ISPOLXZUETSQ WO WREMQ KONKRETNOGO SEANSA REDAKTIROWANIQ.
126 rUKOWODSTWO PO GNU Emacs14.7.7 sNIMKI
sNIMOK |\TO IMENOWANNYJ NABOR WERSIJ FAJLOW (ODNA DLQ KAVDOGO ZAREGISTRIRO-
WANNOGO FAJLA),S KOTORYMI WY MOVETE OBRA]ATXSQ KAK S ODNIM CELYM.oDIN WAVNYJ
WID SNIMKA NAZWAETSQ WYPUSKOM,\TO (TEORETI^ESKI) STABILXNAQ WERSIQ SISTEMY,GOTOWAQ K
[email protected] SREDI POLXZOWATELEJ.
14.7.7.1 sOZDANIE I ISPOLXZOWANIE SNIMKOW
eSTX DWE OSNOWNYE KOMANDY DLQ RABOTY SO SNIMKAMI;ODNA SOZDAET SNIMOK S ZADANNYM
IMENEM,A WTORAQ IZWLEKAET IMENOWANNYJ SNIMOK.
C-x v s IMQ
hRETi
oPREDELQET POSLEDNIE SOHRANENNYE WERSII KAVDOGO ZAREGISTRIROWANNOGO FAJLA
W TEKU]EM KATALOGE ILI NIVE NEGO KAK SNIMOK S ZADANNYM IMENEM (vc-create-
snapshot).
C-x v r IMQ
h RETi
dLQ WSEH ZAREGISTRIROWANNYH FAJLOW NA UROWNE TEKU]EGO KATALOGA ILI NIVE
WYBIRAET WERSII,[email protected]]IE SNIMKU S ZADANNYM IMENEM (vc-retrieve-
snapshot).
|TA KOMANDA SOOB]AET OB O[IBKE,ESLI W TEKU]EM KATALOGE ILI NIVE ESTX ZA-
BLOKIROWANNYE FAJLY,I NI^EGO NE IZMENQET;\TO DELAETSQ DLQ PREDOTWRA]ENIQ
PEREZAPISI REDAKTIRUEMYH W DANNYJ MOMENT FAJLOW.
sNIMOK ZANIMAET O^ENX NEBOLX[OJ OB_EM RESURSOW | ROWNO STOLXKO,SKOLXKO NUVNO
DLQ ZAPOMINANIQ SPISKA IMEN FAJLOW I PRINADLEVI]IH SNIMKU WERSIJ.pO\TOMU NUVNO
NE KOLEBATXSQ I SOZDAWATX SNIMKI WSEGDA,KOGDA ONI MOGUT BYTX POLEZNYMI.
wY MOVETE PREDOSTAWITX W KA^ESTWE ARGUMENTA DLQ C-x v = ILI C-x v ~ IMQ SNIMKA (SM.rAZDEL 14.7.4 [sTARYE WERSII],S.120).tAKIM OBRAZOM,WY MOVETE ISPOLXZOWATX\TO DLQ
SRAWNENIQ SNIMKA S TEKU]IMI FAJLAMI,ILI DWUH SNIMKOW DRUG S DRUGOM ILI SNIMKA S
ZADANNOJ WERSIEJ.
14.7.7.2 oPASNYE MESTA PRI RABOTE SO SNIMKAMI
rABOTA SO SNIMKAMI W VC SMODELIROWANA NA OSNOWE PODDEVKI IMENOWANNYH KONFIGURA-
CIJ W RCS.dLQ NEE [email protected] WSTROENNYE SREDSTWA RCS,PO\TOMU SNIMKI,SDELANNYE
POD VC S ISPOLXZOWANIEM RCS,WIDNY,DAVE KOGDA WY OBHODITE VC.
dLQ SCCS,VC REALIZUET SNIMKI SAMA.iSPOLXZUEMYE EJ FAJLY SODERVAT TROJKI
IMQ/FAJL/NOMER-WERSII.tAKIE SNIMKI WIDNY TOLXKO ^EREZ VC.
sNIMOK |\TO NABOR ZAFIKSIROWANNYH WERSIJ.pO\TOMU PRI SOZDANII SNIMKA WY DOLV-
NY UBEDITXSQ,^TO WSE FAJLY ZAFIKSIROWANY I NEBLOKIROWANY.
pEREIMENOWANIE I UDALENIE FAJLOW MOVET SOZDATX NEKOTORYE TRUDNOSTI SO SNIMKAMI.
|TA PROBLEMA NE SPECIFI^NA DLQ VC,NO QWLQETSQ OB]IM WOPROSOM W REALIZACII SISTEM
UPRAWLENIQ WERSIQMI,KOTORYJ NIKEM E]E NE RE[EN HORO[O.
eSLI WY PEREIMENOWYWAETE ZAREGISTRIROWANNYJ FAJL,WAM NUVNO PEREIMENOWATX I EGO
MASTER-FAJL (KOMANDA vc-rename-file DELAET\TO AWTOMATI^ESKI).eSLI WY POLXZUETESX
SCCS,WY DOLVNY TAKVE OBNOWITX ZAPISI O SNIMKAH,^TOBY ONI SSYLALISX NA\TOT FAJL
PO NOWOMU IMENI (vc-rename-file DELAET I\TO TOVE).sTARYJ SNIMOK,[email protected]]IJSQ NA
MASTER-FAJL,KOTORYJ BOLX[E NE SU]ESTWUET POD ZAPISANNYM IMENEM,UVE NE KORREKTEN;
VC BOLX[E NE MOVET IZWLE^X EGO.dOSTATO^NOE UGLUBLENIE W PODROBNOSTI OB RCS I SCCS
DLQ OB_QSNENIQ PROCESSA RU^NOGO OBNOWLENIQ SNIMKOW WY[LO BY ZA RAMKI DANNOGO RUKO-
WODSTWA.
gLAWA 14:rABOTA S FAJLAMI 127iSPOLXZOWANIE vc-rename-file SOHRANQET KORREKTNOSTX SNIMKA DLQ IZWLE^ENIQ,NO NE
RE[AET WSEH PROBLEM.nAPRIMER,NEKOTORYE FAJLY W PROGRAMME WEROQTNO [email protected] NA
DRUGIE FAJLY PO IMENAM.pO SAMOJ MENX[EJ MERE,PEREIMENOWANNYJ WAMI FAJL UPOMQNUT
W Make-FAJLE.eSLI WY IZWLEKAETE STARYJ SNIMOK,PEREIMENOWANNYJ FAJL POLU^AET SWOE
NOWOE IMQ,A NE TO,KOTOROE OVIDAET Make-FAJL.pO\TOMU NA SAMOM DELE PROGRAMMA NE
ZARABOTAET W TOM WIDE,W KAKOM EE IZWLEKLI.
14.7.8 rAZLI^NYE KOMANDY I WOZMOVNOSTI VC
|TOT RAZDEL RASSKAZYWAET O DRUGIH WOZMOVNOSTQH VC,PRIMENQEMYH NE STOLX ^ASTO.
14.7.8.1 vURNALY IZMENENIJ I VC
eSLI WY ISPOLXZUETE DLQ PROGRAMMY RCS ILI CVS I TAKVE SOPROWOVDAETE FAJL VUR-
NALA EE IZMENENIJ (SM.rAZDEL 22.12 [Change Log],S.224),WY MOVETE AWTOMATI^ESKI
GENERIROWATX WHOVDENIQ DLQ NEGO IZ VURNALXNYH ZAPISEJ SISTEMY UPRAWLENIQ WERSIQMI:
C-x v a oBRA]AETSQ K VURNALXNOMU FAJLU TEKU]EGO KATALOGA I SOZDAET DLQ ZAREGI-
STRIROWANNYH FAJLOW W\TOM KATALOGE NOWYE WHOVDENIQ DLQ WERSIJ,ZAFIKSI-
ROWANNYH POZVE POSLEDNEGO WHOVDENIQ W\TOM VURNALXNOM FAJLE (vc-update-
change-log).
|TA KOMANDA RABOTAET TOLXKO S RCS ILI CVS,NO NE S SCCS.
C-u C-x v a
kAK WY[E,NO NAHODIT WHOVDENIQ TOLXKO DLQ FAJLA TEKU]EGO BUFERA.
M-1 C-x v a
kAK WY[E,NO NAHODIT WHOVDENIQ DLQ WSEH FAJLOW,K KOTORYM WY OBRA]AE-
TESX,I KOTORYE [email protected] SISTEMOJ UPRAWLENIQ WERSIQMI.|TO RABOTAET
TOLXKO S RCS I TAKVE POME]AET WSE WHOVDENIQ W VURNAL DLQ KATALOGA PO
UMOL^[email protected],^TO MOVET NE PODHODITX.
dLQ PRIMERA PREDPOLOVIM,^TO PERWAQ STROKA W`ChangeLog'DATIROWANA 1999-04-10,
I ^TO S TEH POR SLU^ILOSX TOLXKO FIKSIROWANIE,SDELANNOE nATENI\LOM bOUDI^EM DLQ
`rcs2log'1999-05-22 S VURNALXNOJ [email protected]`Ignore log messages that start with`#'.'.
tOGDA C-x v a OBRA]AETSQ K`ChangeLog'W WSTAWLQET PODOBNYJ TEKST:
1999-05-22 Nathaniel Bowditch <[email protected]>
* rcs2log:Ignore log messages that start with`#'.
tEPERX WY MOVETE E]E OTREDAKTIROWATX NOWOE WHOVDENIE W VURNAL PO SWOEMU [email protected]
k [email protected],METKI W FAJLAH ChangeLog SOOB][email protected] TOLXKO DATY,PO\TOMU NEKOTORYE
NOWYE VURNALXNYE ZAPISI MOGUT PRODUBLIROWATX TO,^TO UVE ESTX W ChangeLog.wAM
PRIDETSQ UDALITX DUBLIROWANIQ WRU^[email protected]
oBY^NO WHOVDENIE W VURNALE DLQ FAJLA`foo'OTOBRAVAETSQ KAK`* foo:TEKST WHO-
VDENIQ'.zNAK`:'POSLE`foo'OPUSKAETSQ,ESLI TEKST WHOVDENIQ NA^INAETSQ SO STROKI
`(IMQ-FUNKCII):'.nAPRIMER,ESLI WHOVDENIE DLQ`vc.el'TAKOE:`(vc-do-command):Check
call-process status.',TO TEKST W`ChangeLog'WYGLQDIT KAK:
1999-05-06 Nathaniel Bowditch <[email protected]>
* vc.el (vc-do-command):Check call-process status.
kOGDA C-x v a DOBAWLQET NESKOLXKO WHOVDENIJ ODNOWREMENNO,ONA GRUPPIRUET SWQZAN-
NYE MEVDU SOBOJ VURNALXNYE ZAPISI WMESTE,ESLI WSE ONI ZAFIKSIROWANY ODNIM AWTOROM
128 rUKOWODSTWO PO GNU EmacsPRIMERNO W ODNO WREMQ.eSLI WHOVDENIQ DLQ NESKOLXKIH TAKIH FAJLOW [email protected] ODINAKO-
WYJ TEKST,ONA OB_EDINQET IH W ODNO WHOVDENIE.nAPRIMER,PREDPOLOVIM,^TO POSLEDNIE
FIKSIROWANIQ BYLI S TAKIMI VURNALXNYMI ZAPISQMI:
пЂЏ dLQ`vc.texinfo':`Fix expansion typos.'
пЂЏ dLQ`vc.el':`Don't call expand-file-name.'
пЂЏ dLQ`vc-hooks.el':`Don't call expand-file-name.'
w`ChangeLog'ONI POQWQTSQ TAK:
1999-04-01 Nathaniel Bowditch <[email protected]>
* vc.texinfo:Fix expansion typos.
* vc.el,vc-hooks.el:Don't call expand-file-name.
oBY^NO C-x v a RAZDELQET VURNALXNYE ZAPISI PUSTOJ STROKOJ,NO WY MOVETE SDE-
LATX TAK,^TOBY NESKOLXKO SWQZANNYH ZAPISEJ SCEPLQLISX WMESTE (BEZ PROMEVUTO^NOJ PU-
STOJ STROKI),NA^INAQ TEKST KAVDOJ IZ SWQZANNYH VURNALXNYH ZAPISEJ S METKI W FORME
`{IMQ-SCEPKI}'.sAMA METKA NE KOPIRUETSQ W`ChangeLog'.nAPRIMER,PREDPOLOVIM,^TO
ESTX TAKIE VURNALXNYE ZAPISI:
пЂЏ dLQ`vc.texinfo':`{expand} Fix expansion typos.'
пЂЏ dLQ`vc.el':`{expand} Don't call expand-file-name.'
пЂЏ dLQ`vc-hooks.el':`{expand} Don't call expand-file-name.'
tOGDA TEKST W`ChangeLog'WYGLQDIT TAK:
1999-04-01 Nathaniel Bowditch <[email protected]>
* vc.texinfo:Fix expansion typos.
* vc.el,vc-hooks.el:Don't call expand-file-name.
vURNALXNYE ZAPISI,^EJ TEKST NA^INAETSQ S`#',NE [email protected] W`ChangeLog'.nA-
PRIMER,ESLI WY PROSTO POPRAWILI GRAMMATI^ESKIE O[IBKI W KOMMENTARIQH,WY MOVETE
SDELATX W VURNALE ZAPISX,NA^[email protected]][email protected] S`#',^TOBY W`ChangeLog'NE ZANOSILISX STOLX
TRIWIALXNYE WE]I.
14.7.8.2 pEREIMENOWANIE FAJLOW POD VC
kOGDA WY PEREIMENOWYWAETE ZAREGISTRIROWANNYJ FAJL,WY DOLVNY PEREIMENOWATX TAK-
VE [email protected]]IJ MASTER-FAJL,^TOBY POLU^ITX PRAWILXNYJ REZULXTAT.iSPOLXZUJTE
vc-rename-file,^TOBY PEREIMENOWATX ISHODNYJ FAJL,KAK WY UKAVETE,I SOOTWETSTWENNO
EGO MASTER-FAJL.|TO TAKVE OBNOWIT WSE SNIMKI (SM.rAZDEL 14.7.7 [sNIMKI],S.126),KO-
TORYE [email protected] DANNYJ FAJL,TAK ^TO ONI BUDUT ISPOLXZOWATX NOWOE IMQ;NESMOTRQ NA
\TO,IZMENENNYJ TAKIM OBRAZOM SNIMOK MOVET NE RABOTATX (SM.rAZDEL 14.7.7.2 [sNIMKI
oPASNYE MESTA],S.126 ).
wY NE MOVETE ISPOLXZOWATX vc-rename-file DLQ FAJLA,KOTORYJ BLOKIROWAN KEM-TO
E]E.
14.7.8.3 wSTAWKA ZAGOLOWKOW WERSIJ
iNOGDA UDOBNO POME]ATX STROKI DLQ IDENTIFIKACII WERSII PRQMO W RABO^IE FAJLY.
nEKOTORYE OSOBYE STROKI,NAZYWAEMYE ZAGOLOWKAMI WERSII,[email protected] W KAVDOJ WERSII
NA EE NOMER.
eSLI WY POLXZUETESX RCS,I W WA[IH RABO^IH FAJLAH [email protected] ZAGOLOWKI WERSIJ,
Emacs MOVET ISPOLXZOWATX IH DLQ OPREDELENIQ TEKU]EJ WERSII I SOSTOQNIQ BLOKIROWKI
gLAWA 14:rABOTA S FAJLAMI 129\TIH FAJLOW.|TO BOLEE NADEVNO,^EM OBRA]ENIE K MASTER-FAJLAM,KOTOROE DELAETSQ,ESLI
ZAGOLOWKOW WERSIJ NET.zAMETXTE,^TO W SREDE S NESKOLXKIMI WETWQMI ZAGOLOWKI WERSIJ
NEOBHODIMY DLQ KORREKTNOJ RABOTY VC (SM.rAZDEL 14.7.6.4 [mNOGOPOLXZOWATELXSKIE WET-
WI],S.125 ).
pEREMENNAQ vc-consult-headers UPRAWLQET POISKOM ZAGOLOWKOW WERSIJ.eSLI ONA OT-
LI^NA OT nil,Emacs PROIZWODIT POISK ZAGOLOWKOW,^TOBY UZNATX NOMER WERSII,[email protected]
WY REDAKTIRUETE.uSTANOWKA\TOJ PEREMENNOJ W nil [email protected]^AET\TO SREDSTWO.
dLQ WSTAWKI PODHODQ]EJ STROKI ZAGOLOWKA WY MOVETE ISPOLXZOWATX KOMANDU C-x v h
(vc-insert-headers).
C-x v h wSTAWLQET W FAJL ZAGOLOWKI DLQ ISPOLXZOWANIQ S WA[EJ SISTEMOJ UPRAWLENIQ
WERSIQMI.
sTOKA ZAGOLOWKA PO UMOL^[email protected] |\TO`$Id$'DLQ RCS I`%W%'DLQ SCCS.wY MOVETE
UKAZATX DRUGIE WSTAWLQEMYE ZAGOLOWKI,USTANAWLIWAQ [email protected] vc-header-alist.eE
ZNA^ENIE |\TO SPISOK\LEMENTOW W FORME (PROGRAMMA.STROKA),GDE PROGRAMMA |\TO
RCS ILI SCCS,A STROKA |\TO ISPOLXZUEMAQ STROKA.
wMESTO ODNOJ STROKI WY MOVETE ZADATX SPISOK STROK;TOGDA KAVDAQ STROKA IZ SPISKA
WSTAWITSQ KAK OTDELXNYJ ZAGOLOWOK NA OTDELXNOJ STROKE.
~ASTO NEOBHODIMO PRIMENQTX\IZLI[NIE"OBRATNYE KOSYE ^ERTY,KOGDA WY PI[ETE STRO-
KI DLQ\TOJ PEREMENNOJ.|TO NUVNO DLQ TOGO,^TOBY TAKIE STROKI NE INTERPRETIROWALISX
W KONSTANTAH KAK ZAGOLOWKI WERSIJ,ESLI SAM FAJL NA Emacs Lisp NAHODITSQ POD KONTROLEM
SISTEMY UPRAWLENIQ WERSIQMI.
kAVDYJ ZAGOLOWOK WSTAWLQETSQ W TO^KE NA NOWOJ STROKE,W OKRUVENII ZNAKOW TABULQCII
WNUTRI OGRANI^ITELEJ KOMMENTARIQ.kAK PRAWILO,[email protected] OBY^NYE DLQ TEKU]EGO
REVIMA STROKI DLQ NA^ALA I ZAWER[ENIQ KOMMENTARIQ,NO W NEKOTORYH REVIMAH DLQ\TOJ
CELI ESTX OSOBYE OGRANI^ITELI KOMMETARIEW;IH OPREDELQET PEREMENNAQ vc-comment-alist.
kAVDYJ\LEMENT W\TOM SPISKE IMEET FORMU (REVIM NA^ALO KONEC).
pEREMENNAQ vc-static-header-alist UKAZYWAET,KAKIE E]E STROKI DOLVNY DOBAWLQTX-
SQ W ZAWISIMOSTI OT IMENI BUFERA.eE ZNA^ENIE DOLVNO BYTX SPISKOM\LEMENTOW W FOR-
ME (regexp.FORMAT).kOGDA regexp SOOTWETSTWUET IMENI BUFERA,KAK ^ASTX ZAGLOWKA
WSTAWLQETSQ FORMAT.sTROKA ZAGLOWKA WSTAWLQETSQ DLQ KAVDOGO\LEMENTA,[email protected]]EGO
S IMENEM BUFERA,I DLQ KAVDOJ STROKI,UKAZANNOJ W vc-header-alist.sTROKA ZAGLOW-
KA POLU^AETSQ PUTEM FORMATIROWANIQ STROKI IZ vc-header-alist S FORMATOM,WZQTYM IZ
\LEMENTA vc-static-header-alist.pO UMOL^[email protected] vc-static-header-alist IMEET SLEDU-
@]EE ZNA^ENIE:
(("\\.c$".
"\n#ifndef lint\nstatic char vcid[] =\"\%s\";\n\
#endif/* lint */\n"))
|TO OPREDELQET WSTAWKU TEKSTA W TAKOJ FORME:
#ifndef lint
static char vcid[] ="STROKA";
#endif/* lint */
zAMETXTE,^TO TEKST WY[E NA^INAETSQ S PUSTOJ STROKI.
eSLI WY HOTITE ISPOLXZOWATX W FAJLE BOLEE ODNOGO ZAGOLOWKA WERSII,POME]AJTE IH
RQDOM.mEHANIZM SOHRANENIQ METOK W revert-buffer MOVET NE OBRABOTATX METKI,RASPO-
LOVENNYE MEVDU DWUMQ ZAGOLOWKAMI.
14.7.9 nASTROJKA VC
eSTX MNOGO SPOSOBOW NASTROJKI VC.pARAMETRY,KOTORYE WY MOVETE USTANOWITX,RAZDE-
[email protected] NA ^ETYRE KATAGORII,OPISANNYE W [email protected]]IH RAZDELAH.
130 rUKOWODSTWO PO GNU Emacs14.7.9.1 pARAMETRY DLQ POSTPROCESSORA VC
wY MOVETE SKAZATX RCS I CVS,DOLVNY LI ONI ISPOLXZOWATX DLQ FAJLA BLOKIROWANIE
ILI NE DOLVNY (SM.rAZDEL 14.7.1.2 [kONCEPCII VC],S.117,DLQ POLU^ENIQ OPISANIQ BLO-
KIROWANIQ).VC AWTOMATI^ESKI RASPOZNAET,^TO WY WYBRALI,I WEDET SEBQ SOOTWETSTWENNO.
w RCS PO UMOL^[email protected] PRIMENQETSQ BLOKIROWANIE,NO ESTX REVIM,NAZYWAEMYJ NESTRO-
GIM BLOKIROWANIEM,W KOTOROM WY MOVETE FIKSIROWATX IZMENENIQ BEZ PREDWARITELXNOGO
BLOKIROWANIQ FAJLA.iSPOLXZUJTE`rcs -U'DLQ [email protected]^ENIQ K NESTROGOMU [email protected]
DLQ NEKOTOROGO FAJLA,PODROBNOSTI SMOTRITE W DOKUMENTE Man`rcs'.
pOD CVS BLOKIROWANIE PO UMOL^[email protected] NE PRIMENQETSQ;KAVDYJ MOVET IZMENQTX RABO-
^IJ FAJL W [email protected] WREMQ.oDNAKO,ESTX SPOSOBY OGRANI^ITX\TO,[email protected]]IE W REZULXTATE
POWEDENIE,POHOVEE NA BLOKIROWANIE.
s ODNOJ STORONY,WY MOVETE USTANOWITX [email protected] SREDY CVSREAD W PROIZWOLXNOE
ZNA^ENIE.eSLI\TA PEREMENNAQ OPREDELENA,CVS DELAET WA[I RABO^IE FAJLY DOSTUPNYMI
TOLXKO DLQ ^TENIQ PO UMOL^[email protected] Emacs WY DOLVNY NABRATX C-x C-q,^TOBY SDELATX
FAJL DOSTUPNYM DLQ ZAPISI,TAK ^TO REDAKTIROWANIE RABO^IH FAJLOW FAKTI^ESKI POHOVE
NA REDAKTIROWANIE S PRIMENENIEM BLOKIROWANIQ.zAMETXTE ODNAKO,^TO FAKTI^ESKI BLOKI-
ROWKI NE PROISHODIT,PO\TOMU NESKOLXKO POLXZOWATELEJ MOGUT ODNOWREMENNO SDELATX SWOI
RABO^IE FAJLY ZAPISYWAEMYMI.kOGDA WY USTANAWLIWAETE CVSREAD PERWYJ RAZ,OBQZATELX-
NO ZANOWO IZWLEKITE WSE WA[I MODULI,^TOBY ZA]ITA FAJLOW BYLA PRAWILXNO WYSTAWLENA.
dRUGOJ SPOSOB DOSTI^X ^EGO-TO POHOVEGO NA BLOKIROWKU | WOSPOLXZOWATXSQ SREDSTWOM
[email protected] W CVS.eSLI NAD FAJLOM USTANOWLENO [email protected],CVS PO UMOL^[email protected] DE-
LAET EGO DOSTUPNYM TOLXKO DLQ ^TENIQ,I WY TAKVE DOLVNY ISPOLXZOWATX W Emacs C-x
C-q,^TOBY SDELATX EGO ZAPISYWAEMYM.~TOBY SDELATX FAJL DOSTUPNYM DLQ ZAPISI,VC
WYZYWAET cvs edit,I CVS ZABOTITSQ O TOM,^TOBY DRUGIE RAZRABOT^IKI BYLI OPOWE]ENY
O WA[EM NAMERENII IZMENITX\TOT FAJL.pODROBNOSTI OB ISPOLXZOWANII SREDSTWA [email protected]
DENIQ SMOTRITE W DOKUMENTACII PO CVS.
wY MOVETE PODAWITX ISPOLXZOWANIE VC DLQ FAJLOW,UPRAWLQEMYH CVS,USTANOWIW PERE-
[email protected] vc-handle-cvs W nil.eSLI WY SDELAETE TAK,Emacs S^ITAET\TI FAJLY NEZAREGI-
STRITOWANNYMI,I KOMANDY VC STANOWQTSQ W NIH NEDOSTUPNYMI.tOGDA WY DOLVNY DELATX
WSE OPERACII CVS WRU^[email protected]
14.7.9.2 uPRAWLENIE RABO^IMI FAJLAM W VC
oBY^NO Emacs NE SOHRANQET REZERWNYE KOPII DLQ ISHODNYH FAJLOW,KOTORYE NAHODQTSQ
POD KONTROLEM SISTEMY UPRAWLENIQ WERSIQMI.eSLI WY HOTITE DELATX REZERWNYE KOPII
DAVE DLQ TAKIH FAJLOW,USTANOWITE [email protected] vc-make-backup-files W OTLI^NOE OT nil
ZNA^ENIE.
kAK PRAWILO RABO^IE FAJLY SU][email protected] WSEGDA,BLOKIROWANY ONI ILI NET.eSLI WY
USTANOWITE vc-keep-workfiles W nil,TO PRI FIKSIROWANII NOWOJ WERSII S POMO][email protected] C-x
C-q RABO^IJ FAJL BUDET UDALQTXSQ;NO [email protected] POPYTKA OBRATITXSQ K\TOMU FAJLU IZ Emacs
SOZDAST EGO SNOWA.(pOD CVS RABO^IE FAJLY [email protected] WSEGDA.)
rEDAKTIROWANIE FAJLA W UPRAWLENIEM WERSIQMI ^EREZ [email protected] SSYLKU MOVET BYTX
OPASNYM.|TO OBHODIT SISTEMU UPRAWLENIQ WERSIQMI | WY MOVETE REDAKTIROWATX FAJLY,
NE BLOKIRUQ IH,I U WAS MOVET NE POLU^ITXSQ ZAFIKSIROWATX SWOI IZMENENIQ.tAKVE,WA[I
IZMENENIQ MOGUT PEREZAPISATX [email protected] DRUGOGO POLXZOWATELQ.~TOBY PREDOSTAWITX ZA]ITU
OT\TOGO,VC PROWERQET [email protected] [email protected] SSYLKU,K KOTOROJ WY OBRA]AETSX,^TOBY
UZNATX,NE UKAZYWAET LI ONA NA FAJL POD KONTROLEM SISTEMY UPRAWLENIQ WERSIQMI.
pEREMENNAQ vc-follow-symlinks GOWORIT,^TO NUVNO DELATX,KOGDA SIMWOLXNAQ SSYLKA
UKAZYWAET NA FAJL S UPRAWLENIEM WERSIQMI.eSLI ONA RAWNA nil,VC LI[X POKAZYWAET
[email protected]]EE SOOB]ENIE.eSLI\TO t,VC AWTOMATI^ESKI SLEDUET PO SSYLKE I OBRA-
]AETSQ K NASTOQ]EMU FAJLU,SOOB]AQ WAM OB\TOM W\HO-OBLASTI.eSLI\TO ZNA^ENIE RAWNO
ask (PO UMOL^[email protected]),VC WSQKIJ RAZ SPRA[IWAET WAS,NUVNO LI PROSLEDOWATX PO SSYLKE.
gLAWA 14:rABOTA S FAJLAMI 13114.7.9.3 kAK VC UZNAET STATUS FAJLA
pRI WY^ISLENII STATUSA BLOKIROWKI FAJLA,VC SNA^ALA I]ET W NEM STROKU ZAGOLOWKA
WERSII RCS (SM.rAZDEL 14.7.8.3 [zAGOLOWKI WERSII],S.128).eSLI STROKI ZAGOLOWKA NET,
ILI ESLI WY POLXZUETESX SCCS,VC OBY^NO SMOTRIT NA RAZRE[ENIQ,USTANOWLENNYE DLQ
RABO^EGO FAJLA;\TO BYSTRO.nO MOGUT BYTX SITUACII,KOGDA RAZRE[ENIQM NELXZQ DOWERQTX.
w TAKOM SLU^AE DELAETSQ OBRA]ENIE K MASTER-FAJLU,^TO DOWOLXNO DOROGO.kROME TOGO,
MASTER-FAJL MOVET TOLXKO SKAZATX,ZABLOKIROWAN LI FAJL KEM-TO,NO NE TO,^TO WA[
RABO^IJ FAJL SODERVIT IMENNO\TU [email protected] [email protected]
wY MOVETE UKAZATX VC NE ISPOLXZOWATX ZAGOLOWKI WERSII DLQ OPREDELENIQ STATUSA BLO-
KIROWKI,USTANOWIW vc-consult-headers W nil.tOGDA VC WSEGDA ISPOLXZUET DLQ\TOGO
BITY RAZRE[ENIJ DLQ FAJLA (ESLI ONA MOVET IM DOWERQTX) ILI PROWERQET MASTER-FAJL.
wY MOVETE ZADATX KRITERIJ,PO KOTOROMU SLEDUET DOWERQTX RAZRE[ENIQM DLQ FAJLA,
S POMO][email protected] PEREMENNOJ vc-mistrust-permissions.eE ZNA^ENIEM MOVET BYTX t (NIKOGDA
NE DOWERQTX BITAM RAZRE[ENIJ I WSEGDA PROWERQTX MASTER-FAJL),nil (WSEGDA DOWERQTX
RAZRE[ENIQM) ILI FUNKCIQ S ODNIM ARGUMENTOM,KOTORAQ PRINIMAET RE[ENIE.aRGUMENT
|\TO IMQ PODKATALOGA`RCS',`CVS'ILI`SCCS'.oTLI^NOE OT nil ZNA^ENIE IZ\TOJ FUNKCII
GOWORIT,^TO BITAM RAZRE[ENIJ DOWERQTX NELXZQ.eSLI WY OBNARUVILI,^TO RAZRE[ENIQ
DLQ RABO^EGO FAJLA WYSTANOWLENY O[IBO^NO,USTANOWITE vc-mistrust-permissions W t.
tOGDA VC WSEGDA BUDET PROWERQTX MASTER-FAJL DLQ OPREDELENIQ STATUSA FAJLA.
14.7.9.4 wYPOLNENIE KOMAND W VC
eSLI vc-suppress-confirm OTLI^NA OT nil,TO C-x C-q I C-x v i MOGUT SOHRANQTX TE-
KU]IJ BUFER BEZ ZAPROSA,I C-x v u TAKVE RABOTAET BEZ PODTWERVDENIQ.(|TA PEREMENNAQ
NE WLIQET NA C-x v c;DANNAQ OPERACIQ NASKOLXKO ZNA^ITELXNA,^TO DLQ NEE WSEGDA NUVNO
SPRA[IWATX PODTWERVDENIE.)
rEVIM VC DELAET BOLX[[email protected] ^ASTX RABOTY,ZAPUSKAQ KOMANDY OBOLO^KI DLQ RCS,CVS
I SCCS.eSLI vc-command-messages OTLI^NA OT nil,VC WYWODIT SOOB]ENIQ,[email protected]
]IE,KAKIE KOMANDY OBOLO^KI [email protected],I DOPOLNITELXNYE SOOB]ENIQ,KOGDA KOMANDA
ZAWER[AETSQ.
wY MOVETE ZADATX DOPOLNITELXNYE KATALOGI DLQ POISKA PROGRAMM UPRAWLENIQ WERSI-
QMI,USTANAWLIWAQ [email protected] vc-path.|TI KATALOGI [email protected] PERED OBY^NYM
PUTEM POISKA.nO OBY^NO PRAWILXNYE FAJLY NAHODQTSQ AWTOMATI^ESKI.
14.8 kATALOGI FAJLOW
fAJLOWAQ SISTEMA GRUPPIRUET FAJLY PO KATALOGAM.rASPE^ATKA KATALOGA |\TO SPISOK
WSEH FAJLOW W KATALOGE.Emacs PREDOSTAWLQET KOMANDY DLQ SOZDANIQ I UDALENIQ KATALOGOW
I DLQ WYDA^I RASPE^ATKI KATALOGOW W KRATKOM FORMATE (TOLXKO IMENA FAJLOW) I W PO-
DROBNOM FORMATE ([email protected]^[email protected]]EM RAZMERY,DATY I AWTOROW).eSTX TAKVE BROUZER KATALOGOW,
NAZYWAEMYJ Dired;SMOTRITE gLAWA 28 [Dired],S.291.
C-x C-d KAT-ILI-OBRAZEC
h RETi
wYWODIT [email protected] RASPE^ATKU KATALOGA (list-directory).
C-u C-x C-d KAT-ILI-OBRAZEC hRETi
wYWODIT [email protected] RASPE^ATKU KATALOGA.
M-x make-directory h RETi IMQ-KAT hRETi
sOZDAET NOWYJ KATALOG S IMENEM IMQ-KAT.
M-x delete-directory h RETi IMQ-KAT hRETi
uDALQET KATALOG S IMENEM IMQ-KAT.oN DOLVEN BYTX PUST,INA^E WY POLU^ITE
O[IBKU.
132 rUKOWODSTWO PO GNU EmacskOMANDA DLQ WYWODA RASPE^ATKI KATALOGA |\TO C-x C-d (list-directory).oNA S^I-
TYWAET,ISPOLXZUQ MINIBUFER,IMQ FAJLA,KOTORYJ QWLQETSQ LIBO KATALOGOM,KOTORYJ
NUVNO RASPE^ATATX,LIBO [ABLONOM IMEN FAJLOW,KOTORYE NUVNO PERE^ISLITX.nAPRIMER,
C-x C-d/u2/emacs/etc
hRETi
PERE^ISLQET WSE FAJLY W KATALOGE`/u2/emacs/etc'.wOT PRIMER OPISANIQ OBRAZCA IMEN
FAJLOW:
C-x C-d/u2/emacs/src/*.c hRETi
oBY^NO C-x C-d PE^ATAET KRATKIJ PERE^ENX KATALOGA,SODERVA]IJ TOLXKO IMENA FAJ-
LOW.~ISLOWOJ ARGUMENT (NEZAWISIMO OT ZNA^ENIQ) WELIT POKAZYWATX [email protected] RASPE^AT-
KU (KAK`ls -l').
tEKST RASPE^ATKI KATALOGA POLU^AETSQ OT ls,ZAPU]ENNOJ W POD^INENNOM PROCESSE.
dWE PEREMENNYE Emacs [email protected] [email protected]^AMI,PEREDAWAEMYMI ls:list-directory-brief-
switches |\TO STROKA,[email protected]]AQ [email protected]^I DLQ ISPOLXZOWANIQ W KRATKIH RASPE^ATKAH ("-CF"
PO UMOL^[email protected]),I list-directory-verbose-switches |[email protected]^I DLQ PODROBNOJ RASPE^ATKI
("-l"PO UMOL^[email protected]).
14.9 sRAWNENIE FAJLOW
kOMANDA M-x diff SRAWNIWAET DWA FAJLA,POKAZYWAQ RAZLI^IQ W BUFERE Emacs S IMENEM
`*Diff*'.oNA ZAPUSKAET PROGRAMMU diff,ISPOLXZUQ [email protected]^I,POLU^AEMYE IZ PEREMENNOJ
diff-switches,^XE ZNA^ENIE DOLVNO BYTX STROKOJ.
bUFER`*Diff*'IMEET W KA^ESTWE OSNOWNOGO REVIM Compilation,PO\TOMU WY MOVETE
ISPOLXZOWATX C-x`,^TOBY POSLEDOWATELXNO OBRATITXSQ K IZMENIW[IMSQ MESTAM W DWUH
ISHODNYH FAJLAH.wY TAKVE MOVETE PEREJTI K KONKRETNOMU [email protected] IZMENENIJ I NAVATX
h RETi ILI C-c C-c,ILI ]ELKNUTX NA NEM Mouse-2,^TOBY PEREJTI K [email protected]]EJ PO-
ZICII W ISHODNOM TEKSTE.wY TAKVE MOVETE ISPOLXZOWATX DRUGIE OSOBYE KOMANDY REVIMA
Compilation:hSPCi I hDELi DLQ PROKRUTKI I M-p I M-n DLQ PEREDWIVENIQ KURSORA.sM.rAZDEL 23.1 [kOMPILQCIQ],S.247.
kOMANDA M-x diff-backup SRAWNIWAET ZADANNYJ FAJL S EGO SAMOJ POSLEDNEJ REZERWNOJ
KOPIEJ.eSLI WY ZADALI IMQ REZERWNOGO FAJLA,diff-backup SRAWNIWAET EGO S ISHODNYM
FAJLOM.
kOMANDA M-x compare-windows SRAWNIWAET TEKST W TEKU]EM OKNE S TEKSTOM [email protected]]EGO
OKNA.sRAWNENIE NA^INAETSQ OT TO^KI W KAVDOM OKNE,I OBE NA^ALXNYE POZICII WTALKI-
[email protected] W SPISOK POMETOK [email protected]]EGO BUFERA.zATEM TO^KA PEREME]AETSQ W KAVDOM
OKNE WPERED PO ODNOMU ZNAKU,POKA NE BUDET NAJDENO NESOWPADENIE.tOGDA\TA KOMANDA OSTA-
NAWLIWAETSQ.dLQ POLU^ENIQ BOLX[EJ INFORMACII OB OKNAH W Emacs SMOTRITEgLAWA 16
[oKNA],S.141.
s ^ISLOWYM ARGUMENTOM,compare-windows IGNORIRUET IZMENENIQ W PROPUSKAH.eSLI
PEREMENNAQ compare-ignore-case NE nil,ONA IGNORIRUET TAKVE I RAZLI^IQ W REGISTRE
BUKW.
sMOTRITE TAKVErAZDEL 22.14 [Emerge],S.231,OPISANIE UDOBNYH SREDSTW DLQ SLIQNIQ
DWUH POHOVIH FAJLOW.
14.10 rAZNOOBRAZNYE DEJSTWIQ NAD FAJLAMI
w Emacs ESTX KOMANDY DLQ PROIZWEDENIQ MNOGIH DRUGIH OPERACIJ NAD FAJLAMI.wSE
ONI [email protected] NA ODIN FAJL;ONI NE [email protected] IMENA FAJLOW S [ABLONAMI.
M-x view-file POZWOLQET WAM PROSMOTRETX ILI PRO^ITATX FAJL PO CELYM\KRANAM.oNA
S^ITYWAET IMQ FAJLA,ISPOLXZUQ MINIBUFER.pOSLE ZAGRUZKI FAJLA W BUFER Emacs,view-
file POKAZYWAET EGO NA^ALO.tEPERX WY MOVETE NAVATX
hSPCi,^TOBY PROKRUTITX WPERED NA
gLAWA 14:rABOTA S FAJLAMI 133CELOE OKNO,ILI hDELi DLQ PROKRUTKI [email protected] I DRUGIE RAZLI^NYE KOMANDY
DLQ PEREME]ENIQ PO FAJLU,NO NE DLQ EGO IZMENENIQ;NABERITE WO WREMQ PROSMOTRA?,^TOBY
POLU^ITX IH PERE^ENX.|TO PRAKTI^ESKI TE VE OBY^NYE KOMANDY Emacs DLQ PEREDWIVENIQ
KURSORA.~TOBY WYJTI IZ PROSMOTRA,NABERITE q.kOMANDY PROSMOTRA [email protected]
OSOBYM OSNOWNYM REVIMOM,NAZYWAEMOM REVIMOM View.
eSTX RODSTWENNAQ KOMANDA,M-x view-buffer,DLQ PROSMOTRA BUFERA,UVE SU][email protected]
]EGO W Emacs.sM.rAZDEL 15.3 [bUFERY rAZNOE],S.136.
M-x insert-file WSTAWLQET [email protected] SODERVIMOGO ZADANNOGO FAJLA W TEKU]IJ BUFER W
POZICII TO^KI,OSTAWLQQ TO^KU NEIZMENNOJ PERED WSTAWLENNYM I METKU POSLE NEGO.
M-x write-region |\TO OBRA]ENIE M-x insert-file;ONA KOPIRUET SODERVIMOE OBLASTI
W UKAZANNYJ FAJL.M-x append-to-file DOBAWLQET TEKST OBLASTI W KONEC ZADANNOGO FAJLA.
sM.rAZDEL 9.3 [nAKOPLENIE TEKSTA],S.73.
M-x delete-file UDALQET UKAZANNYJ FAJL,KAK KOMANDA OBOLO^KI rm.eSLI WY HOTITE
UDALITX MNOGO FAJLOW W ODNOM KATALOGE,MOVET OKAZATXSQ UDOBNEE WOSPOLXZOWATXSQ Dired
(SM.gLAWA 28 [Dired],S.291).
M-x rename-file S^ITYWAET,ISPOLXZUQ MINIBUFER,DWA IMENI FAJLA,STARYJ I NOWYJ,A
ZATEM PEREIMENOYWAET FAJL STARYJ W NOWYJ.eSLI FAJL S IMENEM NOWYJ UVE SU]ESTWUET,
WY DOLVNY PODTWERDITX PEREIMENOWANIE WWODOM yes,ILI PEREIMENOWANIE NE PROIZWODITSQ;
\TO SDELANO,POTOMU ^TO TAKOE PEREIMENOWANIE PRIWEDET K POTERE STAROGO ZNA^ENIQ IMENI
NOWYJ.eSLI STARYJ I NOWYJ NAHODQTSQ NA RAZNYH FAJLOWYH SISTEMAH,FAJL STARYJ
KOPIRUETSQ I UDALQETSQ.
pOHOVAQ KOMANDA M-x add-name-to-file ISPOLXZUETSQ DLQ DOBAWLENIQ E]E ODNOGO IMENI
SU][email protected]]EMU FAJLU BEZ UDALENIQ STAROGO IMENI.nOWOE IMQ OBQZANO PRINADLEVQTX TOJ
VE FAJLOWOJ SISTEME,GDE NAHODITSQ SAM FAJL.
M-x copy-file S^ITYWAET FAJL STARYJ I ZAPISYWAET NOWYJ FAJL S IMENEM NOWYJ S TEM
VE SODERVIMYM.eSLI FAJL S IMENEM NOWYJ UVE SU]ESTWUET,TREBUETSQ PODTWERVDENIE,
POTOMU ^TO KOPIROWANIE ZATIRAET STAROE SODERVIMOE FAJLA NOWYJ.
M-x make-symbolic-link S^ITYWAET DWA IMENI FAJLA,CELX I IMQ-SSYLKI,A ZATEM SOZ-
DAET [email protected] SSYLKU S IMENEM IMQ-SSYLKI,[email protected]][email protected] NA CELX.|TO PROQWITSQ
W TOM,^TO BUDU]IE POPYTKI OTKRYTX FAJL IMQ-SSYLKI POLU^AT TOT FAJL,KOTORYJ NA-
ZYWAETSQ CELX WO WREMQ OTKRYTIQ,ILI POLU^AT O[IBKU,ESLI IMQ CELX W\TO WREMQ NE
ISPOLXZUETSQ.|TA KOMANDA NE RASKRYWAET ARGUMENT CELX,PO\TOMU ONA POZWOLQET WAM
UKAZATX OTNOSITELXNOE IMQ W KA^ESTWE FAJLA NAZNA^ENIQ SSYLKI.
eSLI IMQ-SSYLKI ZANQTO,TREBUETSQ PODTWERVDENIE.oBRATITE WNIMANIE,NE WSE SISTEMY
[email protected] SIMWOLXNYE SSYLKI.
14.11 dOSTUP K SVATYM FAJLAM
Emacs POSTAWLQETSQ S BIBLIOTEKOJ,KOTORAQ AWTOMATI^ESKI RASPAKOWYWAET SVATYE FAJ-
LY,KOGDA WY K NIM OBRA]AETESX,I AWTOMATI^ESKI SVIMAET IH SNOWA,ESLI WY IH IZ-
MENILI I SOHRANQETE.~TOBY ZADEJSTWOWATX\TU WOZMOVNOSTX,NABERITE KOMANDU M-x
auto-compression-mode.
kOGDA [email protected]^ENO AWTOMATI^ESKOE SVATIE (^TO PODRAZUMEWAET I AWTOMATI^[email protected] RASPA-
KOWKU),Emacs RASPOZNAET SVATYE FAJLY PO IMENAM.iMENA FAJLOW,ZAWER[[email protected]]IESQ NA
`.gz',[email protected],^TO\TOT FAJL SVAT PROGRAMMOJ gzip.dRUGIE OKON^ANIQ OBOZNA^[email protected]
DRUGIE METODY SVATIQ.
aWTOMATI^ESKAQ RASPAKOWKA I SVATIE [email protected] KO WSEM OPERACIQM,W KOTORYH
Emacs ISPOLXZUET SODERVIMOE FAJLOW.|TO [email protected]^AET OBRA]ENIE,SOHRANENIE,WSTAWKU
SODERVIMOGO W BUFER,ZAGRUZKU I [email protected]
134 rUKOWODSTWO PO GNU Emacs14.12 uDALENNYE FAJLY
wY MOVETE SOSLATXSQ NA FAJLY NA DRUGIH MA[INAH,ISPOLXZUQ OSOBYJ SINTAKSIS IMEN:
/MA[INA:IMQ-FAJLA
/[email protected][INA:IMQ-FAJLA
kOGDA WY DELAETE TAK,Emacs ISPOLXZUET DLQ ^TENIQ I ZAPISI FAJLOW NA UKAZANNOJ MA[INE
PROGRAMMU FTP.oN ZAHODIT ^EREZ FTP,ISPOLXZUQ WA[E POLXZOWATELXSKOE IMQ ILI IMQ
POLXZOWATELX.oN MOVET SPRA[IWATX U WAS PAROLX WREMQ OT WREMENI;\TO ISPOLXZUETSQ DLQ
ZAHODA NA MA[INU.
oBY^NO,ESLI WY NE ZADALI IMQ POLXZOWATELQ W IMENI UDALENNOGO FAJLA,\TO OZNA^AET,
^TO NUVNO ISPOLXZOWATX WA[E SOBSTWENNOE POLXZOWATELXSKOE IMQ.nO ESLI WY USTANOWITE
[email protected] ange-ftp-default-user RAWNOJ KAKOJ-TO STROKE,TO BUDET ISPOLXZOWATXSQ\TA
STROKA.(pAKET Emacs,KOTORYJ REALIZUET DOSTUP K FAJLAM PO FTP,NAZYWAETSQ ange-ftp.)
wY MOVETE [email protected] [email protected]^ITX OBRABOTKU IMEN FTP-FAJLOW,USTANOWIW [email protected]
file-name-handler-alist W ZNA^ENIE nil.
14.13 bUKWALXNYE IMENA FAJLOW
wY MOVETE OTMENITX OSOBYJ SMYSL [email protected] IMENI FAJLA,^TOBY BLOKIROWATX DEJ-
STWIE SPECIALXNYH SIMWOLOW I SINTAKSISA.|TO MOVNO SDELATX,DOBAWIW`/:'W NA^ALE.
nAPRIMER,WY MOVETE OTMENITX OSOBYJ SMYSL IMENI LOKALXNOGO FAJLA,KOTORYJ WY-
GLQDIT KAK UDALENNYJ,^TOBY PREDOTWRATITX EGO TRAKTOWKU KAK IMENI UDALENNOGO FAJLA.
tAKIM OBRAZOM,ESLI U WAS ESTX KATALOG S IMENEM`/foo:'I W NEM FAJL S IMENEM`bar',WY
MOVETE SOSLATXSQ W Emacs NA\TOT FAJL KAK NA`/:/foo:/bar'.
`/:'TAKVE MOVET PREDOTWRATITX PONIMANIE`~'KAK SPECIALXNOGO SIMWOLA,OBOZNA^A-
@]EGO NA^ALXNYJ KATALOG\TOGO POLXZOWATELQ.nAPRIMER,`/:/tmp/~hack'SSYLAETSQ NA
FAJL S IMENEM`~hack'W KATALOGE`/tmp'.
aNALOGI^NO,ISPOLXZOWANIE`/:'|\TO ODIN IZ SPOSOBOW WWESTI W MINIBUFERE IMQ FAJLA,
SODERVA]EE`$'.oDNAKO,`/:'OBQZANA BYTX W NA^ALE\TOGO BUFERA,^TOBY BLOKIROWATX
\FFEKT`$'.
s POMO][email protected]`/:'WY TAKVE MOVETE PODAWITX\FFEKT SIMWOLOW PODSTANOWKI PRI OBRA]E-
NII K FAJLAM.nAPRIMER,`/:/tmp/foo*bar'OBRA]AETSQ K FAJLU`/tmp/foo*bar'.oDNAKO,
^A]E WSEGO WY PROSTO MOVETE WWESTI SIMWOLY PODSTANOWKI KAK ESTX.nAPRIMER,ESLI EDIN-
STWENNOE IMQ FAJLA W`/tmp',KOTOROE NA^INAETSQ NA`foo'I ZAWER[AETSQ NA`bar'|\TO
`foo*bar',TO UKAZAW`/tmp/foo*bar'WY OBRATITESX TOLXKO K`/tmp/foo*bar'.
gLAWA 15:iSPOLXZOWANIE MNOVESTWA BUFEROW 13515 iSPOLXZOWANIE MNOVESTWA BUFEROW
tEKST,KOTORYJ WY REDAKTIRUETE W Emacs,NAHODITSQ W OB_EKTE,NAZYWAEMOM BUFEROM.
kAVDYJ RAZ,KOGDA WY OBRA]AETESX K FAJLU,DLQ HRANENIQ EGO TEKSTA SOZDAETSQ BUFER.
kAVDYJ RAZ,KOGDA WY ZAPUSKAETE Dired,SOZDAETSQ BUFER,SODERVA]IJ SPISOK KATALOGA.
eSLI WY POSYLAETE SOOB]ENIE S POMO][email protected] C-x m,TO DLQ TEKSTA\TOGO SOOB]ENIQ ISPOLX-
ZUETSQ BUFER S IMENEM`*mail*'.kOGDA WY ZAPRA[IWAETE [email protected] KOMANDY,ONA
POQWITSQ W BUFERE S IMENEM`*Help*'.
w [email protected] MOMENT ODIN I TOLXKO ODIN BUFER QWLQETSQ WYBRANNYM.oN TAKVE NAZYWAETSQ
TEKU]IM BUFEROM.~ASTO MY GOWORIM,^TO KOMANDA DEJSTWUET W\BUFERE",KAK ESLI BY
ON BYL TOLXKO ODIN;NO NA SAMOM DELE\TO OZNA^AET,^TO KOMANDA DEJSTWUET W WYBRANNOM
BUFERE (BOLX[INSTWO KOMAND TAK I [email protected]).
kOGDA Emacs SOZDAET MNOVESTWO OKON,KAVDOE OKNO IMEET SWOJ WYBRANNYJ BUFER,NO
W [email protected] MOMENT WREMENI TOLXKO ODNO IZ OKON QWLQETSQ WYBRANNYM,I EGO BUFER |\TO
WYBRANNYJ BUFER.sTROKA REVIMA KAVDOGO OKNA POKAZYWAET IMQ BUFERA,KOTORYJ W NEM
OTOBRAVEN (SM.gLAWA 16 [oKNA],S.141).
u KAVDOGO BUFERA ESTX IMQ,KOTOROE MOVET BYTX PROIZWOLXNOJ DLINY,I WY MOVETE WY-
BRATX [email protected] BUFER PO IMENI.bOLX[INSTWO BUFEROW [email protected] PRI OBRA]ENII K FAJLAM,
I IH IMENA PROIZWODQTSQ IZ IMENI FAJLA.nO WY MOVETE TAKVE SOZDATX PUSTOJ BUFER S [email protected]
BYM IMENEM,KAKIM ZAHOTITE.tOLXKO ^TO ZAPU]ENNYJ Emacs NESET ODIN BUFER S IMENEM
`*scratch*',KOTORYJ MOVET BYTX ISPOLXZOWAN DLQ WY^ISLENIQ WYRAVENIJ lISPA W Emacs.
w IMENAH BUFEROW IMEET ZNA^ENIE RAZLI^IE MEVDU WERHNIM I NIVNIM REGISTRAMI.
kAVDYJ BUFER ZAPISYWAET OTDELXNO,K KAKOMU FAJLU ON OBRA]AETSQ,IZMENEN LI ON,
I KAKIE OSNOWNOJ I WTOROSTEPENNYE REVIMY W NEM [email protected] (SM.gLAWA 19 [oSNOWNYE
REVIMY],S.175 )[email protected] PEREMENNAQ Emacs MOVET BYTX SDELANA LOKALXNOJ DLQ KONKRETNOGO
BUFERA;IMEETSQ W WIDU,^TO EE ZNA^ENIE W\TOM BUFERE MOVET OTLI^ATXSQ OT EE ZNA^ENIQ W
DRUGIH BUFERAH.sM.rAZDEL 31.2.4 [lOKALXNYE PEREMENNYE],S.350.
15.1 sOZDANIE I WYBOR BUFEROW
C-x b BUFER h RETi
wYBRATX ILI SOZDATX BUFER S IMENEM BUFER (switch-to-buffer).
C-x 4 b BUFER h RETi
aNALOGI^NO,NO WYBIRAET BUFER W DRUGOM OKNE (switch-to-buffer-other-
window).
C-x 5 b BUFER h RETi
aNALOGI^NO,NO WYBIRAET BUFER W DRUGOM FREJME (switch-to-buffer-other-
frame).
~TOBY WYBRATX BUFER S IMENEM IMQ-BUFERA,NABERITE C-x b IMQ-BUFERA hRETi.|TO
ZAPUSTIT KOMANDU switch-to-buffer S ARGUMENTOM IMQ-BUFERA.wY MOVETE PRIMENITX
ZAWER[ENIE SOKRA]ENNOGO IMENI VELAEMOGO BUFERA (SM.rAZDEL 5.3 [zAWER[ENIE],S.47).
pUSTOJ ARGUMENT DLQ C-x b ZADAET POSLEDNIJ WYBRANNYJ BUFER,KOTORYJ NE OTOBRAVEN NI
W ODNOM OKNE.
bOLX[INSTWO BUFEROW [email protected] PRI OBRA]ENII K FAJLAM ILI VE KOMANDAMI Emacs,
KOTORYE HOTQT POKAZATX NEKOTORYJ TEKST,NO WY TAKVE MOVETE QWNO SOZDATX BUFER,NABRAW
C-x b IMQ-BUFERA
h RETi.|TA KOMANDA SOZDAET NOWYJ,PUSTOJ BUFER,KOTORYJ NE OBRA]ETSQ
NI K KAKOMU FAJLU,I WYBERET EGO DLQ REDAKTIROWANIQ.tAKIE BUFERY [email protected] DLQ
ZAMETOK.eSLI WY POPYTAETESX SOHRANITX\TOT BUFER,TO U WAS SPROSQT IMQ FAJLA DLQ
ZAPISI.oSNOWNOJ REVIM W NOWOM BUFERE OPREDELQETSQ ZNA^ENIEM PEREMENNOJ default-
major-mode (SM.gLAWA 19 [oSNOWNYE REVIMY],S.175).
136 rUKOWODSTWO PO GNU EmacsoTMETIM,^TO C-x C-f I [email protected] DRUGAQ KOMANDA DLQ OBRA]ENIQ K FAJLU TAKVE MOGUT
ISPOLXZOWATXSQ DLQ [email protected]^ENIQ K SU][email protected]]EMU BUFERU,OBRA][email protected]]EMUSQ K FAJLU.
sM.rAZDEL 14.2 [oBRA]ENIE],S.106.
Emacs ISPOLXZUET BUFERY S IMENAMI,NA^[email protected]]IMISQ S PROBELA,DLQ WNUTRENNIH CELEJ.
oT^ASTI ON OBRA]AETSQ S BUFERAMI S TAKIMI IMENAMI OSOBENNYM OBRAZOM | NAPRIMER,
PO UMOL^[email protected] W NIH NE ZAPISYWAETSQ INFORMACIQ DLQ OTMENY IZMENENIJ.wAM LU^[E
IZBEGATX ISPOLXZOWANIQ TAKIH IMEN DLQ BUFEROW.
15.2 pERE^ISLENIE SU][email protected]]IH BUFEROW
C-x C-b pERE^ISLQET SU][email protected]]IE BUFERY (list-buffers).
~TOBY NAPE^ATATX SPISOK WSEH SU][email protected]]IH BUFEROW,NABERITE C-x C-b.kAVDAQ STRO-
KA W SPISKE POKAZYWAET IMQ ODNOGO BUFERA,EGO OSNOWNOJ REVIM I FAJL,K KOTOROMU ON OB-
RA]AETSQ.bUFERY PERE^[email protected] W TOM PORQDKE,W KOTOROM ONI BYLI TEKU]IMI;BUFERY,
KOTORYE BYLI TEKU]IMI NEDAWNO,IDUT PERWYMI.
zNAK`*'W NA^ALE STROKI UKAZYWAET,^TO BUFER\MODIFICIROWAN".eSLI MODIFICIROWANY
NESKOLXKO BUFEROW,TO MOVET BYTX PORA ZAPISATX NEKOTORYE IZ NIH PRI POMO]I C-x s (SM.rAZDEL 14.3 [sOHRANENIE],S.108).zNAKOM`%'OBOZNA^[email protected] BUFERY,DOSTUPNYE TOLXKO DLQ
^TENIQ.zNAK`.'OTME^AET WYBRANNYJ BUFER.wOT PRIMER PERE^NQ BUFEROW:
MR Buffer Size Mode File
- ---- --- --- ---
.* emacs.tex 383402 Texinfo/u2/emacs/man/emacs.tex
*Help* 1287 Fundamental
files.el 23076 Emacs-Lisp/u2/emacs/lisp/files.el
% RMAIL 64042 RMAIL/u/rms/RMAIL
*% man 747 Dired/u2/emacs/man/
net.emacs 343885 Fundamental/u/rms/net.emacs
fileio.c 27691 C/u2/emacs/src/fileio.c
NEWS 67340 Text/u2/emacs/etc/NEWS
*scratch* 0 Lisp Interaction
oTMETIM,^TO BUFER`*Help*'SOZDAETSQ PRI ZAPROSE SPRAWKI,I\TO NE QWLQETSQ OBRA]ENIEM
K KAKOMU-LIBO FAJLU.bUFER`man'BYL SOZDAN Dired DLQ KATALOGA`/u2/emacs/man/'.
15.3 rAZNOOBRAZNYE OPERACII NAD BUFEROM
C-x C-q [email protected]^ITX DOSTUP NA ZAPISX W BUFER (vc-toggle-read-only).
M-x rename-buffer
h RETi IMQ hRETi
iZMENITX IMQ TEKU]EGO BUFERA.
M-x rename-uniquely
pEREIMENOWATX BUFER DOBAWLENIEM`<^ISLA>'W KONEC IMENI.
M-x view-buffer
h RETi BUFER hRETi
pROSMOTRETX BUFER.
bUFER MOVET BYTX DOSTUPEN TOLXKO DLQ ^TENIQ,^TO OZNA^AET,^TO KOMANDY DLQ IZMENE-
NIQ EGO SODERVIMOGO NE RAZRE[ENY.sTROKA REVIMA UKAZYWAET NA TO,^TO BUFER DOSTUPEN
TOLXKO DLQ ^TENIQ,ZNAKAMI`%%'ILI`%*'OKOLO LEWOGO KRAQ.bUFERY TOLXKO DLQ ^TE-
NIQ OBY^NO [email protected] PODSISTEMAMI WRODE Dired I Rmail,KOTORYE [email protected] SPECIALXNYE
KOMANDY DLQ DEJSTWIJ NAD TEKSTOM;BUFER TOLXKO DLQ ^TENIQ SOZDAETSQ TAKVE,ESLI WY
OBRA]AETESX K FAJLU,DLQ KOTOROGO U WAS NET DOSTUPA NA ZAPISX.
gLAWA 15:iSPOLXZOWANIE MNOVESTWA BUFEROW 137eSLI WY HOTITE SDELATX IZMENENIQ W BUFERE,PREDNAZNA^ENNOM TOLXKO DLQ ^TENIQ,IS-
POLXZUJTE KOMANDU C-x C-q (vc-toggle-read-only).oNA DELAET BUFER,DOSTUPNYJ TOLXKO
DLQ ^TENIQ,DOSTUPNYM DLQ ZAPISI,A BUFER,DOSTUPNYJ DLQ ZAPISI | DOSTUPNYM TOLX-
KO DLQ ^TENIQ.w BOLX[INSTWE SLU^AEW\TA KOMANDA RABOTAET,USTANAWLIWAQ [email protected]
buffer-read-only,KOTORAQ IMEET LOKALXNOE ZNA^ENIE W KAVDOM BUFERE I DELAET BUFER ZA-
KRYTYM DLQ ZAPISI,ESLI EE ZNA^ENIE NE nil.eSLI\TOT FAJL SOPROWOVDAETSQ S KONTROLEM
WERSIJ,TO C-x C-q RABOTAET ^EREZ SISTEMU UPRAWLENIQ WERSIQMI I IZMENQET SOSTOQNIQ DO-
STUPA NA ZAPISX KAK DLQ FAJLA,TAK I DLQ BUFERA.sM.rAZDEL 14.7 [uPRAWLENIE WERSIQMI],
S.116.
M-x rename-buffer IZMENQET IMQ TEKU]EGO BUFERA.nOWOE IMQ ZADAETSQ KAK ARGUMENT
MINIBUFERA.zNA^ENIQ PO UMOL^[email protected] NET.eSLI WY NAPI[ETE IMQ,KOTOROE ISPOLXZUETSQ
DLQ KAKOGO-TO DRUGOGO BUFERA,TO PROISHODIT O[IBKA,I PEREIMENOWANIE NE DELAETSQ.
M-x rename-uniquely PEREIMENOWYWAET TEKU]IJ BUFER W POHOVEE IMQ S DOBAWLENNYM
^ISLOWYM OKON^ANIEM I DELAET\TO IMQ ODNOWREMENNO UNIKALXNYM I OTLI^NYM OT DRUGIH.
|TOJ KOMANDE NE NUVEN ARGUMENT.oNA POLEZNA DLQ SOZDANIQ NESKOLXKIH BUFEROW S OBOLO^-
KOJ:ESLI WY PEREIMENUETE BUFER`*Shell*'I SNOWA SDELAETE M-x shell,TO SOZDASTSQ NOWYJ
BUFER OBOLO^KI S IMENEM`*Shell*';TEM WREMENEM STARYJ BUFER OBOLO^KI PRODOLVAET
SU]ESTWOWATX POD SWOIM NOWYM IMENEM.|TOT METOD TAKVE POLEZEN DLQ BUFEROW PO^TO-
WYH SOOB]ENIJ,BUFEROW KOMPILQCII I BOLX[INSTWA PROGRAMM W Emacs,KOTORYE [email protected]
SPECIALXNYE BUFERY S KONKRETNYMI IMENAMI.
M-x view-buffer O^ENX POHOVA NA M-x view-file (SM.rAZDEL 14.10 [fAJLY rAZNOE],
S.132 ),ZA [email protected]^ENIEM TOGO,^TO ONA POKAZYWAET UVE SU][email protected]]IJ BUFER Emacs.rEVIM
View PREDUSMATRIWAET KOMANDY DLQ UDOBNOJ PROKRUTKI BUFERA,NO NE DLQ EGO IZMENENIQ.
kOGDA WY WYHODITE IZ REVIMA View S POMO][email protected] q,WY [email protected]^AETESX NAZAD K TOMU BUFERU
(I POZICII),KOTORYJ PREVDE OTOBRAVALSQ W\TOM OKNE.iLI WY MOVETE WYJTI IZ REVIMA
View S POMO][email protected] e,W REZULXTATE POSLE PRO^TENIQ SOHRANQTSQ BUFER I ZNA^ENIE TO^KI.
kOMANDY M-x append-to-buffer and M-x insert-buffer MOVNO ISPOLXZOWATX DLQ KOPI-
ROWANIQ TEKSTA IZ ODNOGO BUFERA W DRUGOJ.sM.rAZDEL 9.3 [nAKOPLENIE TEKSTA],S.73.
15.4 uNI^TOVENIE BUFEROW
eSLI WY PRODOLVAETE RABOTU W Emacs DOWOLXNO DOLGO,WY MOVETE NAKOPITX BOLX[OE KO-
LI^ESTWO BUFEROW.tOGDA WY MOVETE POS^ITATX UDOBNYM UNI^TOVITX TE IZ NIH,W KOTORYH
WY BOLX[E NE NUVDAETESX.w BOLX[INSTWE OPERACIONNYH SISTEM UNI^TOVENIE BUFERA OSWO-
BOVDAET ZANIMAEMOE IM PROSTRANSTWO,TAK ^TO EGO SMOGUT ISPOLXZOWATX DRUGIE PROCESSY.
wOT NESKOLXKO KOMAND DLQ UNI^TOVENIQ BUFEROW:
C-x k IMQ-BUFERA h RETi
uNI^TOVAET BUFER IMQ-BUFERA (kill-buffer).
M-x kill-some-buffers
pREDLAGAET UNI^TOVITX KAVDYJ BUFER ODIN ZA DRUGIM.
C-x k (kill-buffer) UNI^TOVAET ODIN BUFER,^XE IMQ ZADANO W MINIBUFERE.pO UMOL-
^[email protected],ESLI WY NABERETE W MINIBUFERE PROSTO
hRETi,UNI^TOVITSQ TEKU]IJ BUFER.eSLI
UNI^TOVAETSQ TEKU]IJ BUFER,TO WYBRANNYM STANOWITSQ DRUGOJ BUFER | TOT,KOTORYJ
WYBRALI NEDAWNO,NO SEJ^AS ON NE WIDEN NI W ODNOM OKNE.eSLI WY POPROSILI UNI^TOVITX
BUFER,KOTORYJ OBRA]AETSQ K FAJLU I BYL MODIFICIROWAN (SODERVIT NESOHRANENNYE IZME-
NENIQ),TOGDA WAS SPROSQT O PODTWERVDENII S yes PERED TEM,KAK BUFER BUDET UNI^TOVEN.
kOMANDA M-x kill-some-buffers SPRA[IWAET O KAVDOM BUFERE,ODIN ZA DRUGIM.oTWET
y OZNA^AET UNI^TOVITX BUFER.uNI^TOVENIE TEKU]EGO BUFERA ILI BUFERA,SODERVA]EGO
NEZAPISANNYE IZMENENIQ,WYBIRAET NOWYJ BUFER ILI TREBUET TAKOGO VE PODTWERVDENIQ,
KAK I kill-buffer.
138 rUKOWODSTWO PO GNU [email protected] BUFEROW (SM.rAZDEL 15.5 [nESKOLXKO BUFEROW],S.138) TAKVE PREDOSTAWLQET UDOB-
NYJ SPOSOB UNI^TOVENIQ RAZLI^NYH BUFEROW.
eSLI WY HOTITE DELATX ^TO-TO OSOBENNOE KAVDYJ RAZ,KOGDA UNI^TOVAETSQ BUFER,WY
MOVETE DOBAWITX SWOI FUNKCII W LOWU[KU kill-buffer-hook (SM.rAZDEL 31.2.3 [lOWU[KI],
S.349 ).
eSLI WY PRODOLVAETE ODIN SEANS Emacs W TE^ENII MNOGIH DNEJ,KAK [email protected] MNOGIE,ON
MOVET NAPOLNITXSQ BUFERAMI,KOTORYE WY ISPOLXZOWALI NESKOLXKO DNEJ NAZAD.kOMANDA
M-x clean-buffer-list |\TO UDOBNYJ SPOSOB O^ISTITX IH;ONA UNI^TOVAET WSE NEIZMENEN-
NYE BUFERY,KOTORYE WY NE ISPOLXZOWALI DOLGOE WREMQ.oBY^NYE BUFERY UNI^[email protected],
ESLI ONI NE OTOBRAVALISX W TE^ENII TREH DNEJ;ODNAKO,WY MOVETE UKAZATX OPREDELEN-
NYE BUFERY,KOTORYE NIKOGDA NE DOLVNY UNI^TOVATXSQ AWTOMATI^ESKI,I DRUGIE,KOTORYE
NUVNO UNI^TOVATX,ESLI IH NE ISPOLXZOWALI HOTQ BY ^AS.
wY TAKVE MOVETE SDELATX TAK,^TOBY\TI BUFERY O^I]ALISX DLQ WAS SAMI EVEDNEWNO
W POLNO^X,[email protected]^IW REVIM Midnight.rEVIM Midnight RABOTAET KAVDYJ DENX W POLNO^X;W
\TO WREMQ ON ZAPUSKAET clean-buffer-list ILI DRUGIE FUNKCII,KOTORYE WY POMESTITE W
OBY^[email protected] LOWU[KU midnight-hook (SM.rAZDEL 31.2.3 [lOWU[KI],S.349).
~TOBY [email protected]^ITX REVIM Midnight,ISPOLXZUJTE BUFER Customization DLQ USTANOWKI PE-
REMENNOJ midnight-mode W ZNA^ENIE t.sM.rAZDEL 31.2.2 [pROSTAQ NASTROJKA],S.344.
15.5 dEJSTWIQ NAD NESKOLXKIMI BUFERAMI
[email protected] BUFEROW POHOVE NA\Dired DLQ BUFEROW".oNO POZWOLQET WAM ZAPRA[IWATX DEJ-
STWIQ DLQ RAZLI^NYH BUFEROW Emacs PRI POMO]I REDAKTIROWANIQ BUFERA,SODERVA]EGO IH
SPISOK.wY MOVETE SOHRANQTX BUFERY,UNI^TOVATX IH (ZDESX\TO NAZYWAETSQ UDALENIEM
DLQ SOGLASOWANIQ S Dired) ILI POKAZYWATX IH.
M-x buffer-menu
nA^ATX REDAKTIROWANIE BUFERA,SODERVA]EGO SPISOK WSEH BUFEROW Emacs.
kOMANDA buffer-menu ZAPISYWAET SPISOK WSEH BUFEROW Emacs W BUFER S IMENEM`*Buffer
List*'I WYBIRAET\TOT BUFER W REVIME BuпЂ‹er Menu.|TOT BUFER PREDNAZNA^EN TOLXKO DLQ
^TENIQ I MOVET BYTX IZMENEN TOLXKO PRI POMO]I SPECIALXNYH KOMAND,OPISANNYH W\TOM
RAZDELE.w BUFERE`*Buffer List*'MOGUT ISPOLXZOWATXSQ OBY^NYE KOMANDY Emacs DLQ
DWIVENIQ [email protected]]IE SPECIALXNYE KOMANDY [email protected] K BUFERU,OPISANNOMU
W TEKU]EJ STROKE:
d zAPROSITX UDALENIE (UNI^TOVENIE) BUFERA,I ZATEM SDWINUTXSQ WNIZ.zAPROS
POKAZYWAETSQ KAK`D'NA STROKE PERED IMENEM BUFERA.zATREBOWANNYE UDALENIQ
PROISHODQT,KOGDA WY PE^ATAETE KOMANDU x.
C-d kAK d,NO SDWIGAET WWERH,A NE WNIZ.
s zAPROSITX SOHRANENIE BUFERA.zAPROS POKAZYWAETSQ KAK`S'NA STROKE.tRE-
BUEMYE SOHRANENIQ PROISHODQT,KOGDA ISPOLXZUETSQ KOMANDA x.wY MOVETE
ZAPROSITX I ZAPISX,I UDALENIE DLQ ODNOGO I TOGO VE BUFERA.
x wYPOLNITX RANEE ZAPRO[ENNYE UDALENIQ I SOHRANENIQ.
u uNI^TOVITX [email protected] ZAPROS,SDELANNYJ DLQ TEKU]EJ STROKI,I SDWINUTX KURSOR
WNIZ.
h DELi sDWINUTX KURSOR K PREDYDU]EJ STROKE I UNI^TOVITX [email protected] ZAPROS,SDELANNYJ
DLQ\TOJ STROKI.
kOMANDY d,C-d,s I u DLQ DOBAWLENIQ ILI SBROSA FLAGOW TAKVE PEREME][email protected] WNIZ (ILI
WWERH) NA ODNU STROKU.oNI [email protected] ^ISLOWOJ ARGUMENT W KA^ESTWE S^ET^IKA POWTOROW.
|TI KOMANDY [email protected] SRAZU NA BUFER,PERE^ISLENNYJ W TEKU]EJ STROKE:
gLAWA 15:iSPOLXZOWANIE MNOVESTWA BUFEROW 139~ pOMETITX BUFER KAK\NEIZMENENNYJ".kOMANDA ~ DELAET\TO NEMEDLENNO POSLE
TOGO,KAK WY EE WWELI.
% [email protected]^AET FLAG DOSTUPNOSTI NA ZAPISX DLQ BUFERA.kOMANDA % DEJSTWUET
SRAZU POSLE WWODA.
t oBRATITXSQ K BUFERU KAK K TABLICE TEGOW.sM.rAZDEL 22.13.3 [wYBOR TABLICY
TEGOW],S.228.
eSTX TAKVE KOMANDY DLQ WYBORA DRUGOGO BUFERA ILI NESKOLXKIH BUFEROW:
q wYJTI IZ [email protected] BUFEROW |SRAZU OTOBRAZITX POSLEDNIJ BUFER,BYW[IJ PREVDE
WIDIMYM NA EGO MESTE.
h RETi
f nEMEDLENNO WYBRATX BUFER NA\TOJ STROKE NA MESTO BUFERA`*Buffer List*'.
o nEMEDLENNO WYBRATX BUFER NA\TOJ STROKE W DRUGOM OKNE,KAK ESLI BY\TO BYLO
SDELANO PRI POMO]I C-x 4 b,OSTAWLQQ`*Buffer List*'WIDIMYM.
C-o nEMEDLENNO OTOBRAZITX BUFER NA\TOJ STROKE W DRUGOM OKNE,NO NE WYBIRATX
\TO OKNO.
1 nEMEDLENNO WYBRATX BUFER NA\TOJ STROKE W POLNO\KRANNOM OKNE.
2 nEMEDLENNO SOZDATX DWA OKNA,ODNO S BUFEROM NA\TOJ STROKE,A WTOROE S PRE-
DYDU]IM WYBRANNYM BUFEROM (POMIMO BUFERA`*Buffer List*').
b sPRQTATX BUFER,PERE^ISLENNYJ W TEKU]EJ STROKE.
m pOMETITX\TOT BUFER DLQ POKAZA W DRUGOM OKNE,ESLI WY WYJDITE S POMO][email protected]
KOMANDY q.tAKOJ ZAPROS POKAZYWAETSQ KAK`>'W NA^ALE STROKI.(oDIN I TOT
VE BUFER NE MOVET IMETX I ZAPROS NA POKAZ,I ZAPROS NA UDALENIE.)
v nEMEDLENNO WYBRATX BUFER NA\TOJ STROKE,A TAKVE POKAZATX W DRUGIH OKNAH
[email protected] BUFERY,PREVDE POME^ENNYE S POMO][email protected] KOMANDY m.eSLI TAKIH BUFEROW
NET,TO\TA KOMANDA\KWIWALENTNA 1.
wSE,^TO buffer-menu DELAET NEPOSREDSTWENNO,|\TO SOZDAET I WYBIRAET PODHODQ]IJ
BUFER I [email protected]^AET REVIM BuпЂ‹er Menu.wSE OSTALXNOE IZ OPISANNOGO WY[E OSU]ESTWLQETSQ
PRI POMO]I SPECIALXNYH KOMAND,PREDOSTAWLQEMYH W REVIME BuпЂ‹er Menu.oDNIM IZ
SLEDSTWIJ\TOGO QWLQETSQ TO,^TO WY MOVETE [email protected]^ITXSQ IZ BUFERA`*Buffer List*'W
DRUGOJ BUFER Emacs I REDAKTIROWATX TAM.wY MOVETE WYBRATX ZANOWO BUFER`*Buffer
List*'POZVE,^TOBY ISPOLNITX UVE ZAPRO[ENNYE DEJSTWIQ,ILI WY MOVETE UNI^TOVITX
EGO ILI BOLX[E NE OBRA]ATX NA NEGO WNIMANIQ.
sU]ESTWUET TOLXKO ODNO RAZLI^IE MEVDU buffer-menu I list-buffers |\TO TO,^TO
buffer-menu WYBIRAET BUFER`*Buffer List*'W TEKU]EM OKNE,A list-buffers OTOBRAVAET
EGO W DRUGOM OKNE.eSLI WY ZAPUSKAETE list-buffers (\TO PROISHODIT PRI NABORE C-x C-b)
I WYBIRAETE SPISOK BUFEROW WRU^[email protected],TO WY MOVETE ISPOLXZOWATX WSE OPISANNYE ZDESX
KOMANDY.
bUFER`*Buffer List*'NE OBNOWLQETSQ AWTOMATI^ESKI,KOGDA [email protected] ILI UNI^TO-
[email protected] BUFERY;EGO SODERVIMOE |\TO PROSTO TEKST.eSLI WY SOZDAWALI,UDALQLI ILI
PEREIMENOWYWALI BUFERY,WY MOVETE OBNOWITX`*Buffer List*',^TOBY ON POKAZYWAL TO,
^TO WY SDELALI,NAPE^ATAW g (revert-buffer) ILI POWTORIW KOMANDU buffer-menu.
15.6 kOSWENNYE BUFERY
kOSWENNYJ BUFER RAZDELQET TEKST S KAKIM-TO DRUGIM BUFEROM,NAZYWAEMYM BAZOWYM
BUFEROM KOSWENNOGO BUFERA.|TO SWOEGO RODA ANALOG SIMWOLXNYH SSYLOK NA FAJLY,NO DLQ
BUFEROW.
140 rUKOWODSTWO PO GNU EmacsM-x make-indirect-buffer BAZOWYJ-BUFER hRETi KOSWENNOE-IMQ hRETi
sOZDAET KOSWENNYJ BUFER S IMENEM KOSWENNOE-IMQ,^EJ BAZOWYJ BUFER |\TO
BAZOWYJ-BUFER.
tEKST W KOSWENNOM BUFERE WSEGDA IDENTI^EN TEKSTU EGO BAZOWOGO BUFERA;IZMENENIQ,
SDELANNYE W ODNOM,SRAZU VE STANOWQTSQ WIDNY W DRUGOM.nO WO WSEM OSTALXNOM KOSWENNYJ
BUFER I EGO BAZOWYJ BUFER [email protected] RAZLI^NY.u NIH RAZNYE IMENA,RAZNYE ZNA^ENIQ
TO^KI,RAZNOE SUVENIE,RAZNYE POMETKI,RAZNYE OSNOWNYE REVIMY I RAZNYE LOKALXNYE
PEREMENNYE.
kOSWENNYE BUFERY NE MOGUT OBRA]ATXSQ K FAJLAM,NO IH BAZOWYE BUFERY MOGUT.eS-
LI WY PYTAETESX ZAPISATX KOSWENNYJ BUFER,\TO W DEJSTWITELXNOSTI RABOTAET KAK ZAPISX
BAZOWOGO BUFERA.uNI^TOVENIE BAZOWOGO BUFERA UNI^TOVAET KOSWENNYJ BUFER,NO UNI^TO-
VENIE KOSWENNOGO BUFERA NE WLIQET NA BAZOWYJ BUFER.
oDIN IZ SPOSOBOW PRIMENENIQ KOSWENNYH BUFEROW |OTOBRAVENIE NESKOLXKIH RAZLI^NYH
WIDOW SHEMY TEKSTA.sM.rAZDEL 21.8.4 [nESKOLXKO WIDOW DLQ Outline],S.193.
gLAWA 16:mNOVESTWO OKON 14116 mNOVESTWO OKON
Emacs MOVET DELITX FREJMY NA DWA ILI BOLEE OKNA.nESKOLXKO OKON MOGUT OTRAVATX
^ASTI RAZNYH BUFEROW ILI RAZNYE ^ASTI ODNOGO BUFERA.iSPOLXZOWANIE NESKOLXKIH FREJ-
MOW WSEGDA PODRAZUMEWAET MNOVESTWO OKON,POTOMU ^TO W KAVDOM FREJME SWOJ NABOR OKON.
kAVDOE OKNO PRINADLEVIT ODNOMU I TOLXKO ODNOMU FREJMU.
16.1 pONQTIE OKNA W Emacs
kAVDOE OKNO Emacs OTOBRAVAET W ODNO WREMQ ODIN BUFER.oDIN I TOT VE BUFER MOVET
POQWITXSQ BOLEE ^EM W ODNOM OKNE;ESLI\TO PROIZO[LO,TO [email protected] IZMENENIQ W EGO TEKSTE
[email protected] WO WSEH OKNAH,GDE ON OTOBRAVEN.nO OKNA,[email protected]]IE ODIN I TOT VE BU-
FER,MOGUT POKAZYWATX RAZLI^NYE EGO ^ASTI,TAK KAK KAVDOE OKNO HRANIT SWOE SOBSTWENNOE
ZNA^ENIE TO^KI.
w [email protected] MOMENT ODNO IZ OKON QWLQETSQ WYBRANNYM OKNOM;BUFER,OTOBRAVAEMYJ\TIM
OKNOM,QWLQETSQ TEKU]IM BUFEROM.kURSOR TERMINALA POKAZYWAET [email protected] TO^KI W\TOM
OKNE.wSE DRUGIE OKNA TAKVE [email protected] [email protected] TO^KI,NO TAK U TERMINALA ESTX TOLXKO ODIN
KURSOR,NELXZQ POKAZATX,GDE NAHODQTSQ\TI POZICII.kOGDA ESTX NESKOLXKO WIDIMYH FREJ-
MOW W X Windows,W KAVDOM FREJME IZOBRAVAETSQ ODIN KURSOR,NAHODQ]IJSQ W WYBRANNOM
OKNE\TOGO FREJMA.kURSOR W WYBRANNOM FREJME ZAKRA[EN;KURSORY W DRUGIH FREJMAH
WYGLQDQT KAK PUSTYE KLETKI.
kOMANDY DWIVENIQ TO^KI [email protected] TOLXKO NA ZNA^ENIE TO^KI DLQ WYBRANNOGO OKNA
Emacs.oNI NE [email protected] ZNA^ENIE TO^KI W KAKOM-LIBO DRUGOM OKNE Emacs,DAVE W POKA-
[email protected]]EM TOT VE SAMYJ BUFER.|TO WERNO I DLQ TAKIH KOMAND,KAK C-x b DLQ IZMENENIQ
WYBRANNOGO BUFERA W WYBRANNOM OKNE,NA DRUGIE OKNA ONI NE [email protected] WOOB]E.oDNAKO,
SU][email protected] DRUGIE KOMANDY,NAPRIMER C-x 4 b,KOTORYE [email protected] DRUGOE OKNO I PERE-
[email protected]^[email protected] BUFERY W NEM.tAKVE,WSE KOMANDY,KOTORYE [email protected] [email protected] W OKNE,
[email protected]^AQ (NAPRIMER) C-h f (discribe-function) I C-x C-b (list-bufers),[email protected] PRI
POMO]I [email protected]^ENIQ BUFEROW W NEWYBRANNOM OKNE,NE ZATRAGIWAQ WYBRANNOE.
kOGDA NESKOLXKO OKON [email protected] ODIN I TOT VE BUFER,W NIH MOGUT BYTX RAZNYE
OBLASTI,POTOMU ^TO ONI MOGUT IMETX RAZNYE ZNA^ENIQ TO^KI.oDNAKO,WSE ONI [email protected] ODNO
I TO VE ZNA^ENIE METKI,POTOMU ^TO W KAVDOM BUFERE MOVET BYTX TOLXKO ODNA POZICIQ
METKI.
kAVDOE OKNO IMEET [email protected] [email protected] STROKU REVIMA,KOTORAQ POKAZYWAET IMQ BUFERA,
STATUS MODIFIKACII I OSNOWNOJ I WTOROSTEPENNYE REVIMY BUFERA,KOTORYJ OTRAVEN W
DANNOM OKNE.sM.rAZDEL 1.3 [sTROKA REVIMA],S.25,DLQ BOLEE PODROBNOJ INFORMACII O
STROKE REVIMA.
142 rUKOWODSTWO PO GNU Emacs16.2 rAZDELENIE OKON
C-x 2 rAZDELITX WYBRANNOE OKNO NA DWA,NAHODQ]IHSQ ODNO POD DRUGIM (split-
window-vertically).
C-x 3 rAZDELITX WYBRANNOE OKNO NA DWA OKNA,NAHODQ]IHSQ ODNO RQDOM S DRUGIM
(split-window-horizontally).
C-Mouse-2
w STROKE REVIMA ILI POLOSE PROKRUTKI,RAZDELQET\TO OKNO.
kOMANDA C-x 2 (split-window-vertically) RAZBIWAET WYBRANNOE OKNO NA DWA,ODNO POD
DRUGIM.oBA OKNA cNA^ALA [email protected] ODIN I TOT VE BUFER S ODNIM I TEM VE ZNA^ENIEM
TO^KI.pO UMOL^[email protected] KAVDOE IZ DWUH OKON POLU^AET POLOWINU WYSOTY OKNA,KOTOROE
BYLO RAZDELENO;^ISLOWOJ ARGUMENT OPREDELQET KOLI^ESTWO STROK,KOTOROE NEOBHODIMO DATX
WERHNEMU OKNU.
C-x 3 (split-window-horizontally) RAZBIWAET WYBRANNOE OKNO NA DWA RQDOM STOQ]IH
OKNA.~ISLOWOJ ARGUMENT OPREDELQET,SKOLXKO STOLBCOW DATX LEWOMU OKNU.oKNA RAZDELQ-
@TSQ STROKOJ WERTIKALXNYH [TRIHOW.oKNA,KOTORYE NE [email protected] [email protected] [IRINU FREJMA,
[email protected] STROKI REVIMA,NO ONI USE^ENY.nA TERMINALAH,GDE Emacs NE PODDERVIWAET POD-
SWETKU,USE^ENNYE STROKI REVIMA INOGDA [email protected] NE W INWERSNOM IZOBRAVENII.
wY MOVETE RAZDELITX OKNO GORIZONTALXNO,]ELKNUW C-Mouse-2 NA STROKE REVIMA ILI
POLOSE PROKRUTKI.lINIQ RAZDELA PROHODIT OT MESTA,GDE WY ]ELKNULI:ESLI WY ]ELKNULI
NA STROKE REVIMA,OT\TOGO MESTA OTOJDET NOWAQ POLOSA PROKRUTKI;ESLI WY ]ELKNULI NA
POLOSE PROKRUTKI,W MESTE WA[EGO ]EL^KA POQWITSQ STROKA REVIMA NOWOGO OKNA.
kOGDA OKNO MENX[E POLNOJ [IRINY\KRANA,^ASTO WSTRE^[email protected] SLI[KOM DLINNYE STRO-
KI TEKSTA,KOTORYE NE POME][email protected] W OKNE.pRODOLVENIE WSEH\TIH STROK MOVET PRIWESTI
K PUTANICE.pEREMENNAQ truncate-partial-width-windows MOVET BYTX USTANOWLENA NE
RAWNOJ nil,\TO PRINUDITELXNO DELAET WO WSEH OKNAH USE^ENIE STROK DO MENX[EGO,^EM POL-
NAQ [IRINA OKNA,RAZMERA NEZAWISIMO OT OTOBRAVAEMOGO BUFERA I ZNA^ENIQ PEREMENNOJ
truncate-lines W NEM.sM.rAZDEL 4.8 [sTROKI PRODOLVENIQ],S.40.
gORIZONTALXNAQ PROKRUTKA ^ASTO ISPOLXZUETSQ W OKNAH,RASPOLOVENNYH RQDOM WERTI-
KALXNO.sM.gLAWA 11 [iZOBRAVENIE],S.81.
eSLI split-window-keep-point NE RAWNA nil,KAK PO UMOL^[email protected],TO OBA OKNA,POLU-
^[email protected]]IESQ POSLE C-x 2,[email protected] ZNA^ENIE TO^KI OT RAZDELQEMOGO OKNA.|TO OZNA^AET,
^TO NEOBHODIMA PROKRUTKA.eSLI\TA PEREMENNAQ RAWNA nil,TO C-x 2 PYTAETSQ IZBEVATX
SDWIGA TEKSTA NA\KRANE,POME]AQ TO^KU W KAVDOM OKNE W UVE WIDIMOM MESTE.oNA TAK-
VE WYBIRAET TO OKNO,KOTOROE SODERVIT STROKU TEKSTA,NA KOTOROJ KURSOR BYL RANX[E.
nEKOTORYE POLXZOWATELI PREDPO^[email protected] TAKOJ REVIM NA MEDLENNYH TERMINALAH.
16.3 iSPOLXZOWANIE DRUGIH OKON
C-x o wYBRATX DRUGOE OKNO (other-window).|TO BUKWA o,NE NOLX.
C-M-v pROKRUTITX [email protected]]EE OKNO (scroll-other-window).
M-x compare-windows
nAJTI [email protected]]EE MESTO,GDE TEKST WYBRANNOGO OKNA NE SOWPADAET S TEKSTOM W
[email protected]]EM OKNE.
Mouse-1 Mouse-1 NA STROKE REVIMA KAKOGO-NIBUDX OKNA WYBIRAET\TO OKNO,NO NE PERE-
ME]AET W NEM TO^KU (mouse-select-window).
~TOBY WYBRATX DRUGOE OKNO,]ELKNITE Mouse-1 NA EGO STROKE REVIMA.s POMO][email protected] KLA-
WIATURY WY MOVETE [email protected]^ATX OKNA,NABIRAQ C-x o (other-window).|TO BUKWA O,OT
gLAWA 16:mNOVESTWO OKON 143SLOWA`other'(`DRUGOE'),A NE NOLX.kOGDA IMEETSQ BOLEE DWUH OKON,\TA KOMANDA PRODWI-
GAETSQ ^EREZ WSE OKNA PO KRUGU,OBY^NO SWERHU WNIZ I SLEWA NAPRAWO.oT SAMOGO PRAWOGO
NIVNEGO OKNA ONA IDET OBRATNO W TO,KOTOROE NAHODITSQ W WERHNEM LEWOM UGLU.~ISLOWOJ
ARGUMENT OZNA^AET DWIVENIE NA NESKOLXKO [AGOW PO KRUGOWOMU PORQDKU OKON.oTRICATELX-
NYJ ARGUMENT PRODWIGAET PO KRUGU W OBRATNOM PORQDKE.kOGDA MINIBUFER AKTIWEN,ON
QWLQETSQ POSLEDNIM OKNOM W KOLXCE;WY MOVETE [email protected]^ITXSQ IZ OKNA MINIBUFERA W ODNO
IZ DRUGIH OKON I POZVE [email protected]^ITXSQ OBRATNO I ZAWER[ITX W MINIBUFERE ZAPRA[IWAEMYJ
ARGUMENT.sM.rAZDEL 5.2 [rEDAKTIROWANIE W MINIBUFERE],S.46.
oBY^NYE KOMANDY PROKRUTKI (SM.gLAWA 11 [iZOBRAVENIE],S.81) OTNOSQTSQ TOLXKO K
WYBRANNOMU OKNU,NO SU]ESTWUET ODNA KOMANDA DLQ PROKRUTKI [email protected]]EGO OKNA.C-M-v
(scroll-other-window) PROKRU^IWAET OKNO,KOTOROE WYBRALA BY C-x o.oNA PRINIMAET
POLOVITELXNYE I OTRICATELXNYE ARGUMENTY TAK VE,KAK I C-v.(w MINIBUFERE,C-M-v
PROKRU^IWAET OKNO,SODERVA]EE SPRAWKU DLQ MINIBUFERA,ESLI ONO ESTX,A NE [email protected]]EE
OKNO W STANDARTNOM KRUGOWOM PORQDKE.)
kOMANDA M-x compare-windows POZWOLQET WAM SRAWNITX DWA FAJLA ILI BUFERA,WIDIMYE
W DWUH OKNAH,PRODWIGAQSX PO NIM DO [email protected]]EGO NESOWPADENIQ.sM.rAZDEL 14.9 [sRAWNENIE
FAJLOW],S.132,DLQ PODROBNOSTEJ.
16.4 iZOBRAVENIE W DRUGOM OKNE
C-x 4 |\TO PREFIKSNYJ [email protected]^ DLQ KOMAND,KOTORYE [email protected] DRUGOE OKNO (RAZDELQQ
TEKU]EE OKNO,ESLI ONO BYLO EDINSTWENNYM) I [email protected] BUFER\TOM OKNE.rAZNYE KOMANDY
NA C-x 4 [email protected] RAZNYE SPOSOBY NAHOVDENIQ BUFERA DLQ WYBORA.
C-x 4 b IMQ-BUFERA hRETi
wYBRATX BUFER IMQ-BUFERA W DRUGOM OKNE.pRI\TOM ZAPUSKAETSQ switch-to-
buffer-other-window.
C-x 4 C-o IMQ-BUFERA h RETi
oTOBRAZITX BUFER IMQ-BUFERA W DRUGOM OKNE,NO NE WYBIRATX W NEM\TOT BUFER.
|TO ZAPUSKAET display-buffer.
C-x 4 f IMQ-FAJLA h RETi
oBRATITXSQ K FAJLU IMQ-FAJLA I WYBRATX EGO BUFER W DRUGOM OKNE.pRI\TOM
ZAPUSKAETSQ find-file-other-window.sM.rAZDEL 14.2 [oBRA]ENIE],S.106.
C-x 4 d KATALOG h RETi
wYBRATX BUFER Dired DLQ KATALOGA W DRUGOM OKNE.pRI\TOM ZAPUSKAETSQ dired-
other-window.sM.gLAWA 28 [Dired],S.291.
C-x 4 m nA^ATX SOSTAWLENIE PO^TOWOGO SOOB]ENIQ W DRUGOM OKNE.pRI\TOM ZAPUSKAETSQ
mail-other-window;ANALOG\TOJ KOMANDY,[email protected]]IJ W TOM VE OKNE |C-x m
(SM.gLAWA 26 [pOSYLKA PO^TY],S.267).
C-x 4.nAJTI TEG W TEKU]EJ TABLICE TEGOW W DRUGOM OKNE.pRI\TOM ZAPUSKAETSQ find-
tag-other-window,MNOGOOKONNYJ WARIANT M-.(SM.rAZDEL 22.13 [tEGI],S.224).
C-x 4 r IMQ-FAJLA h RETi
oBRATITXSQ K FAJLU IMQ-FAJLA W REVIME TOLXKO DLQ ^TENIQ I WYBRATX EGO
BUFER W DRUGOM OKNE.|TOT [email protected]^ ZAPUSKAET KOMANDU find-file-read-only-
other-window.sM.rAZDEL 14.2 [oBRA]ENIE],S.106.
16.5 pRINUDITELXNOE IZOBRAVENIE W TOM VE OKNE
nEKOTORYE KOMANDY Emacs [email protected]^[email protected] W OPREDELENNYJ BUFER S OSOBYM SODERVIMYM.
nAPRIMER,M-x shell [email protected]^AET W BUFER,NAZYWAEMYJ`*Shell*'.pO SOGLA[[email protected],WSE
144 rUKOWODSTWO PO GNU Emacs\TI KOMANDY NAPISANY TAK,^TOBY WYDAWATX\TOT BUFER W OTDELXNOM OKNE.nO WY MOVETE
UKAZATX,^TO NEKOTORYE IZ\TIH BUFEROW DOLVNY POQWLQTXSQ W WYBRANNOM OKNE.
eSLI WY DOBAWLQETE IMQ BUFERA W SPISOK same-window-buffer-names,TO W REZULXTATE
TAKIE KOMANDY [email protected]\TOT BUFER,[email protected]^AQSX K NEMU W TOM VE OKNE.nAPRIMER,
ESLI WY DOBAWITE W\TOT SPISOK\LEMENT"*grep*",TO KOMANDA grep BUDET POKAZYWATX
BUFER S WYWODOM W TEKU]EM OKNE.
zNA^ENIE same-window-buffer-names PO UMOL^[email protected] NE RAWNO nil:ONO ZADAET IMENA
BUFEROW`*info*',`*mail*'I`*shell*'(A TAKVE DRUGIH BUFEROW,ISPOLXZUEMYH BOLEE TU-
MANNYMI PAKETAMI Emacs).pO\TOMU M-x shell OBY^NO [email protected]^AET W BUFER`*shell*'
W WYBRANNOM OKNE.eSLI WY UDALITE\TOT\LEMENT IZ SPISKA same-window-buffer-names,
POWEDENIE M-x shell IZMENITSQ |WMESTO\TOGO ONA BUDET WYDAWATX BUFER W DRUGOM OKNE.
wY MOVETE ZADATX\TI BUFERY W BOLEE OB]EJ FORME S POMO][email protected] PEREMENNOJ same-
window-regexps.uSTANOWITE EE RAWNOJ SPISKU REGULQRNYH WYRAVENIJ;TEPERX [email protected]
BUFER,^XE IMQ SOWPADAET S ODNIM IZ\TIH REGULQRNYH WYRAVENIJ,BUDET OTOBRAVATXSQ
S [email protected]^ENIEM K NEMU W WYBRANNOM OKNE.(e]E RAZ,\TO OTNOSITSQ TOLXKO K TEM BUFE-
RAM,KOTORYE OBY^NO [email protected] WAM W OTDELXNOM OKNE.) zNA^ENIE\TOJ PEREMENNOJ PO
UMOL^[email protected] ZADAET BUFERY Telnet I rlogin.
aNALOGI^NAQ WOZMOVNOSTX POZWOLQET WAM ZADATX BUFERY,KOTORYE DOLVNY OTOBRAVATX-
SQ W PRINADLEVA]IH TOLXKO IM FREJMAH.sM.rAZDEL 17.9 [fREJMY SPECIALXNYH BUFEROW],
S.152.
16.6 uDALENIE I PEREUPORQDO^ENIE OKON
C-x 0 uDALITX WYBRANNOE OKNO (delete-window).pOSLEDNIJ ZNAK W\TOJ POSLEDOWA-
TELXNOSTI [email protected]^EJ |NOLX.
C-x 1 uDALITX W WYBRANNOM FREJME WSE OKNA,KROME WYBRANNOGO (delete-other-
windows).
C-x 4 0 uDALITX WYBRANNOE OKNO I UNI^TOVITX BUFER,KOTORYJ BYL W NEM POKAZAN
(kill-buffer-and-window).pOSLEDNIJ ZNAK W\TOJ POSLEDOWATELXNOSTI [email protected]^EJ
|NOLX.
C-x ^ sDELATX WYBRANNOE OKNO WY[E (enlarge-window).
C-x } rAS[IRITX WYBRANNOE OKNO (enlarge-window-horizontally).
C-x { sUZITX WYBRANNOE OKNO (shrink-window-horizontally).
C-x - uMENX[ITX\TO OKNO,ESLI BUFER W NEM NE TREBUET STOLXKO STROK (shrink-
window-if-larger-than-buffer).
C-x + wYROWNQTX WYSOTY WSEH OKON (balance-windows).
Drag-Mouse-1
pEREME]ENIE STROKI REVIMA OKNA S POMO][email protected] mouse-1 IZMENQET WYSOTU OKON.
Mouse-2 Mouse-2 NA STROKE REVIMA OKNA UDALQET WSE OSTALXNYE OKNA W\TOM FREJME
(mouse-delete-other-windows).
Mouse-3 Mouse-3 NA STROKE REVIMA KAKOGO-NIBUDX OKNA UDALQET\TO OKNO (mouse-delete-
window).
~TOBY UDALITX OKNO,NABERITE C-x 0 (delete-window).(|TO NOLX).pROSTRANSTWO,
ZANIMAEMOE UDALENNYM OKNOM,DOSTAETSQ SOSEDNEMU OKNU (NO NE OKNU MINIBUFERA,DAVE
ESLI ONO AKTIWNO W\TOT MOMENT).kAK TOLXKO OKNO UDALENO,EGO ATRIBUTY [email protected];
IH MOVET WERNUTX TOLXKO WOSSTANOWLENIE KONFIGURACII OKNA.uDALENIE OKNA NE WLIQET
gLAWA 16:mNOVESTWO OKON 145NA BUFER,KOTORYJ ONO OTOBRAVALO;\TOT BUFER PRODOLVAET SU]ESTWOWATX,I WY MOVETE
WYBRATX EGO W [email protected] OKNE KOMANDOJ C-x b.
C-x 4 0 (kill-buffer-and-window) |BOLEE SILXNAQ KOMANDA,^EM C-x 0;ONA UNI^TOVA-
ET TEKU]IJ BUFER I ZATEM UDALQET WYBRANNOE OKNO.
C-x 1 (delete-other-windows) | BOLEE MO]NAQ W DRUGOM SMYSLE;ONA UDALQET WSE OKNA
ZA [email protected]^ENIEM WYBRANNOGO (I MINIBUFERA).wYBRANNOE OKNO RAS[IRQETSQ,^TOBY ISPOLX-
ZOWATX WESX FREJM,ZA [email protected]^ENIEM\HO-OBLASTI.
wY TAKVE MOVETE UDALITX OKNO,]ELKNUW NA EGO STROKE REVIMA Mouse-2,I UDALITX WSE
OKNA WO FREJME,KROME ODNOGO,]ELKNUW NA STROKE REVIMA\TOGO OKNA Mouse-3.
pROSTEJ[IJ SPOSOB NASTROITX WYSOTU OKON | SDELATX\TO S POMO][email protected] MY[I.eSLI WY
NAVMETE Mouse-1 NA STROKE REVIMA,WY MOVETE PERETA]ITX EE WWERH ILI WNIZ,IZMENQQ
WYSOTU OKON SWERHU I SNIZU OT NEE.
~TOBY PERENASTROITX DELENIE PROSTRANSTWA MEVDU WERTIKALXNO SOSEDNIMI OKNAMI,IS-
POLXZUJTE C-x ^ (enlarge-window).oNA DELAET TEKU]EE WYBRANNOE OKNO BOLX[E NA ODNU
STROKU ILI NA STOLXKO STROK,SKOLXKO OPREDELENO ^ISLOWYM ARGUMENTOM.s OTRICATELXNYM
ARGUMENTOM,ONA DELAET WYBRANNOE OKNO MENX[E.C-x } (enlarge-window-horizontally)
DELAET WYBRANNOE OKNO [IRE,A C-x { (shrink-window-horizontally) | UVE NA ZADANNOE
^ISLO STOLBCOW.
kOGDA WY UWELI^IWAETE OKNO,ONO ZABIRAET PROSTRANSTWO OT ODNOGO IZ SWOIH SOSEDEJ.eS-
LI\TO DELAET KAKIE-TO OKNA SLI[KOM MALENXKIMI,TO\TI OKNA [email protected] I IH PROSTRAN-
STWO DELITSQ MEVDU SOSEDNIMI OKNAMI.mINIMALXNYJ RAZMER OPREDELQETSQ PEREMENNYMI
window-min-height I window-min-width.
kOMANDA C-x - (shrink-window-if-larger-than-buffer) UMENX[AET WYSOTU WYBRANNO-
GO OKNA,ESLI ONO WY[E,^EM NEOBHODIMO DLQ POKAZA WSEGO TEKSTA OTOBRAVAEMOGO W NEM
BUFERA.oNA PEREDAET OSWOBODIW[IESQ STROKI DRUGIM OKNAM W\TOM FREJME.
wY TAKVE MOVETE ISPOLXZOWATX C-x + (balance-windows),^TOBY WYROWNQTX WYSOTY WSEH
OKON W WYBRANNOM FREJME.
sM.rAZDEL 5.2 [rEDAKTIROWANIE W MINIBUFERE],S.46,PODROBNOE OPISANIE REVIMA
Resize-MinibuпЂ‹er,KOTORYJ AWTOMATI^ESKI IZMENQET RAZMER OKNA MINIBUFERA,^TOBY W NEM
WME]ALSQ TEKST MINIBUFERA.
146 rUKOWODSTWO PO GNU Emacs
gLAWA 17:fREJMY I X Windows 14717 fREJMY I X Windows
pRI ISPOLXZOWANII X Window System WY MOVETE SOZDAWATX W ODNOM SEANSE Emacs
NESKOLXKO OKON UROWNQ OKONNOJ SISTEMY.kAVDOE PRINADLEVA]EE Emacs X-OKNO POKAZY-
WAET ODIN FREJM,KOTORYJ MOVET SODERVATX ODNO ILI NESKOLXKO OKON Emacs.iZNA^ALXNO
FREJM SODERVIT ODNO OKNO Emacs OB]EGO NAZNA^ENIQ,KOTOROE WY MOVETE PODELITX WERTI-
KALXNO ILI GORIZONTALXNO NA MENX[IE.oBY^NO FREJM IMEET [email protected]\HO-OBLASTX I
MINIBUFER,NO WY MOVETE SDELATX FREJMY BEZ NIH | ONI BUDUT ISPOLXZOWATX\HO-OBLASTX
I MINIBUFER DRUGOGO FREJMA.
rEDAKTIROWANIE W ODNOM FREJME ZATRAGIWAET I DRUGIE FREJMY.k PRIMERU,ESLI WY
POMESTITE TEKST W SPISOK UNI^TOVENIJ W ODNOM FREJME,WY MOVETE WOSSTANOWITX EGO W
DRUGOM.eSLI WY WYHODITE IZ Emacs ^EREZ C-x C-c W ODNOM FREJME,\TO UDALIT WSE FREJMY.
~TOBY UDALITX TOLXKO ODIN FREJM,ISPOLXZUJTE C-x 5 0.
~TOBY IZBEVATX PUTANICY,MY REZERWIRUEM SLOWO\OKNO"DLQ TEH OKON,KOTORYE REALI-
ZUET SAM Emacs,I NIKOGDA NE ISPOLXZUEM EGO DLQ OBOZNA^ENIQ FREJMA.
Emacs,SKOMPILIROWANNYJ DLQ MS-DOS,\MULIRUET NEKOTORYE ASPEKTY OKONNOJ SISTE-
MY,TAK ^TO WY SMOVETE ISPOLXZOWATX MNOGIE WOZMOVNOSTI IZ OPISANNYH W\TOJ GLAWE.sM.rAZDEL C.1 [MS-DOS wWOD],S.403,DLQ DALXNEJ[EJ INFORMACII.
17.1 kOMANDY MY[I DLQ REDAKTIROWANIQ
kOMANDY MY[I DLQ WYDELENIQ I KOPIROWANIQ OBLASTI W OSNOWNOM SOWMESTIMY S KOMAN-
DAMI PROGRAMMY xterm.wY MOVETE POLXZOWATXSQ ODNIMI I TEMI VE KOMANDAMI MY[I DLQ
OBMENA TEKSTOM MEVDU Emacs DRUGIMI X-KLIENTAMI.
eSLI WY WYDELITE OBLASTX S POMO][email protected] [email protected] IZ\TIH KOMAND I SRAZU VE POSLE\TOGO
NAVMETE [email protected] KLAWI[U hDELETEi,ONA UDALIT [email protected] OBLASTX.fUNKCIO-
NALXNAQ KLAWI[A h BACKSPACEi ILI ASCII-ZNAK hDELi NE [email protected]\TOGO;I ESLI WY NAVMETE
MEVDU KOMANDOJ MY[I I h DELETEi [email protected] [email protected] KLAWI[U,hDELETEi NE PODEJSTWUET
TAKIM OBRAZOM.
Mouse-1 pEREME]AET TO^KU TUDA,GDE WY ]ELKNULI (mouse-set-point).oBY^NO\TO
LEWAQ KNOPKA.
Drag-Mouse-1
uSTANAWLIWAET OBLASTX WOKRUG TEKSTA,PO KOTOROMU WY PROWELI,I KOPIRUET
\TOT TEKST W SPISOK UNI^TOVENIJ (mouse-set-region).s POMO][email protected]\TOJ KOMAN-
DY WY MOVETE UKAZATX OBA KONCA OBLASTI.
eSLI PRI PROWEDENII MY[[email protected] WY PEREMESTITE EE ZA WERHNIJ ILI NIVNIJ PREDEL
OKNA,\TO OKNO NEPRERYWNO PROKRU^IWAETSQ,POKA WY NE WERNETE W NEGO MY[X.
tAKIM SPOSOBOM WY MOVETE WYDELQTX OBLASTI,NE UME][email protected]]IESQ NA\KRANE.
~ISLO PROKRU^IWAEMYH ZA ODIN [AG STROK ZAWISIT OT TOGO,NASKOLXKO DALEKO
ZA KRAJ OKNA U[LA MY[X;MINIMALXNYJ RAZMER [AGA OPREDELQET PEREMENNAQ
mouse-scroll-min-lines.
Mouse-2 wOSSTANAWLIWAET POSLEDNIJ UNI^TOVENNYJ TEKST W TOM MESTE,GDE WY ]ELKNULI
(mouse-yank-at-click).oBY^NO\TO SREDNQQ KNOPKA.
Mouse-3 |TA KOMANDA,mouse-save-then-kill,IMEET NESKOLXKO NAZNA^ENIJ W ZAWISIMO-
STI OT TOGO,GDE WY ]ELKNULI,I OT SOSTOQNIQ OBLASTI.
sAMYJ OSNOWNOJ SLU^AJ |\TO KOGDA WY ]ELKAETE Mouse-1 W ODNOM MESTE,A
ZATEM Mouse-3 W DRUGOM.|TO WYDELQET TEKST MEVDU DWUMQ\TIMI POZICIQMI W
KA^ESTWE OBLASTI.|TO TAKVE KOPIRUET [email protected] OBLASTX W SPISOK UNI^TOVENIJ,
^TOBY WY MOGLI SKOPIROWATX EGO W DRUGOE MESTO.
148 rUKOWODSTWO PO GNU EmacseSLI WY ]ELKNITE W TEKSTE Mouse-1,PROKRUTITE OKNO S POMO][email protected] POLOSKI PRO-
KRUTKI I ZATEM ]ELKNITE Mouse-3,Emacs ZAPOMNIT,GDE BYLA TO^KA PERED PRO-
KRUTKOJ (GDE WY POMESTILI EE S POMO][email protected] Mouse-1),I ISPOLXZUET\TU [email protected]
KAK DRUGOJ KONEC OBLASTI.|TO SDELANO,^TOBY WY MOGLI WYDELQTX OBLASTI,
KOTORYE NE UME][email protected] [email protected] NA\KRANE.
w BOLEE OB]EM WIDE,ESLI U WAS NET PODSWE^ENNOJ OBLASTI,Mouse-3 WYDELQET
W KA^ESTWE OBLASTI TEKST MEVDU TO^KOJ I MESTOM ]EL^KA.oNA DELAET\TO,
USTANAWLIWAQ METKU TAM,GDE BYLA TO^KA,I PEREME]AQ TO^KU K TOJ POZICII,
GDE WY ]ELKNULI.
eSLI U WAS ESTX PODSWE^ENNAQ OBLASTX,ILI ESLI OBLASTX BYLA USTANOWLENA NEPO-
SREDSTWENNO PERED\TIM S POMO][email protected] PROWEDENIQ KNOPKOJ 1,Mouse-3 PODSTRAI-
WAET BLIVAJ[IJ KONEC OBLASTI,PEREME]AQ EGO K MESTU ]EL^KA.tAKVE,TEKST
PODSTROENNOJ OBLASTI ZAME]AET W SPISKE UNI^TOVENIJ TEKST STAROJ OBLASTI.
eSLI WY IZNA^ALXNO ZADALI OBLASTX,ISPOLXZUQ DWOJNOJ ILI TROJNOJ ]EL^OK
Mouse-1,^TOBY OPREDELITX OBLASTX KAK SOSTOQ][email protected] IZ CELYH SLOW ILI STROK,
TO PODSTROJKA OBLASTI S POMO][email protected] Mouse-3 TAKVE PROHODIT PO CELYM SLOWAM
ILI STROKAM.
eSLI WY PRIMENITE Mouse-3 DWA RAZ PODRQD NA ODNOM MESTE,WY UNI^TOVITE
UVE [email protected] OBLASTX.
Double-Mouse-1
|TOT [email protected]^ USTANAWLIWAET OBLASTX WOKRUG SLOWA,NA KOTOROM WY ]ELKNULI.
eSLI WY ]ELKNULI NA ZNAKE S SINTAKSI^ESKOJ KATEGORIEJ\symbol"(NAPRIMER,
NA POD^ERKE W REVIME C),ON USTANAWLIWAET OBLASTX WOKRUG SIMWOLA,KOTOROMU
PRINADLEVIT\TOT ZNAK.
eSLI WY ]ELKNULI NA ZNAKE S SINTAKSI^ESKOJ KATEGORIEJ [email protected]]EJ ILI
[email protected]]EJ KRUGLOJ SKOBKI,OBLASTX USTANAWLIWAETSQ WOKRUG GRUPPY (s-
WYRAVENIQ),KOTORAQ ZAWER[AETSQ ILI NA^INAETSQ NA\TOM ZNAKE.eSLI WY
]ELKNULI NA ZNAKE S SINTAKSI^ESKOJ KATEGORIEJ RAZDELITELQ STROK (TAKOM KAK
KAWY^KA ILI DWOJNYE KAWY^KI W sI),OBLASTX BUDET USTANOWLENA WOKRUG\TOJ
STROKOWOJ KONSTANTY (S ISPOLXZOWANIEM\WRISTIKI,^TOBY WYQSNITX,QWLQETSQ
LI\TOT ZNAK NA^[email protected]]IM ILI ZAWER[[email protected]]IM).
Double-Drag-Mouse-1
|TOT [email protected]^ WYDELQET OBLASTX,SOSTOQ][email protected] IZ SLOW,PO KOTORYM WY PROWELI.
Triple-Mouse-1
|TOT [email protected]^ USTANAWLIWAET OBLASTX WOKRUG STROKI,NA KOTOROJ WY ]ELKNULI.
Triple-Drag-Mouse-1
|TOT [email protected]^ WYDELQET OBLASTX,SOSTOQ][email protected] IZ STROK,PO KOTORYM WY PROWELI.
pROSTEJ[IJ SPOSOB UNI^TOVITX TEKST S POMO][email protected] MY[I | NAVATX Mouse-1 W OD-
NOM KONCE,A ZATEM DWAVDY NAVATX Mouse-3 NA DRUGOM.sM.rAZDEL 9.1 [uNI^TOVENIE],
S.69.~TOBY SKOPIROWATX TEKST W SPISOK UNI^TOVENIJ,NE UDALQQ EGO IZ BUFERA,NAVMI-
TE Mouse-3 TOLXKO ODIN RAZ ILI PROSTO PROWEDITE PO\TOMU TEKSTU S PRIVATOJ Mouse-1.
pOTOM WY MOVETE SKOPIROWATX\TOT TEKST W DRUGOE MESTO WOSSTANOWLENIEM.
~TOBY WOSSTANOWITX UNI^TOVENNYJ ILI SKOPIROWANNYJ TEKST W DRUGOE MESTO,PEREWE-
DITE TUDA MY[X I NAVMITE Mouse-2.sM.rAZDEL 9.2 [wOSSTANOWLENIE],S.71.oDNAKO,
ESLI mouse-yank-at-point NE RAWNA nil,Mouse-2 WOSSTANAWLIWAET W TO^KE.tOGDA NE IME-
ET ZNA^ENIQ,GDE WY ]ELKAETE,ILI DAVE W KAKOM IZ OKON FREJMA WY ]ELKAETE.zNA^ENIE
PO UMOL^[email protected] RAWNO nil.|TA PEREMENNAQ WLIQET TAKVE NA WOSSTANOWLENIE WTORI^NOGO
WYDELENIQ.
~TOBY SKOPIROWATX TEKST W DRUGOE X-OKNO,UNI^TOVXTE EGO ILI SOHRANITE W SPISKE
UNI^TOVENIJ.pOD X\TO KROME TOGO USTANOWIT PERWI^NOE WYDELENIE.zATEM ISPOLXZUJ-
gLAWA 17:fREJMY I X Windows 149TE W PROGRAMME,[email protected]]EJ W DRUGOM OKNE,KOMANDU\WSTAWITX",^TOBY WSTAWITX TEKST
WYDELENIQ.
~TOBY SKOPIROWATX TEKST IZ DRUGOGO X-OKNA,ISPOLXZUJTE W PROGRAMME,[email protected]]EJ W
DRUGOM OKNE,KOMANDY\WYREZATX"ILI\KOPIROWATX",^TOBY WYDELITX NUVNYJ WAM TEKST.
zATEM WOSSTANOWITE EGO W Emacs S POMO][email protected] C-y ILI Mouse-2.
|TI KOMANDY WYREZANIQ I WSTAWKI [email protected] TAKVE I W MS-Windows.
kOGDA Emacs POME]AET TEKST W SPISOK UNI^TOVENIJ ILI PEREKLADYWAET TEKST NA WER-
[INU SPISKA UNI^TOVENIJ,ON USTANAWLIWAET PERWI^NOE WYDELENIE X-SERWERA.iMENNO
TAKIM OBRAZOM DRUGIE X-KLIENTY MOGUT POLU^ITX DOSTUP K\TOMU TEKSTU.Emacs TAKVE
SOHRANQET TEKST W BUFERE WYREZOK,NO TOLXKO ESLI\TOT TEKST DOSTATO^NO KOROTKIJ (x-
cut-buffer-max ZADAET MAKSIMALXNOE ^ISLO ZNAKOW);POME]ENIE W BUFER WYREZOK DLINNYH
STROK MOVET BYTX MEDLENNYM.
kOMANDY WOSSTANOWLENIQ PERWOGO WHOVDENIQ SPISKA UNI^TOVENIJ NA SAMOM DELE SNA^A-
LA [email protected],NET LI PERWI^NOGO WYDELENIQ IZ DRUGIH PROGRAMM;POSLE\TOGO ONI PROWE-
[email protected],NET LI TEKSTA W BUFERE WYREZOK.eSLI NI TOT,NI DRUGOJ ISTO^NIK NE [email protected]
TEKSTA DLQ WOSSTANOWLENIQ,ISPOLXZUETSQ SODERVIMOE SPISKA UNI^TOVENIJ.
17.2 wTORI^NOE WYDELENIE
wTORI^NOE WYDELENIE |\TO DRUGOJ SPOSOB WYDELENIQ TEKSTA S ISPOLXZOWANIEM X Win-
dows.oNO NE ISPOLXZUET TO^KU ILI METKU,PO\TOMU WY MOVETE ISPOLXZOWATX EGO DLQ
UNI^TOVENIQ TEKSTA BEZ USTANOWKI TO^KI ILI METKI.
M-Drag-Mouse-1
uSTANAWLIWAET WTORI^NOE WYDELENIE S ODNIM KONCOM W TOM MESTE,GDE WY NA-
VALI KNOPKU,I DRUGIM | W TOM,GDE WY EE OTPUSTILI (mouse-set-secondary).
kOGDA WY PROWODITE MY[[email protected],POQWLQETSQ I IZMENQETSQ PODSWETKA.
eSLI PRI PROWEDENII MY[[email protected] WY SDWINETE EE ZA WERHNIJ ILI NIVNIJ PREDEL
OKNA,\TO OKNO NEPRERYWNO PROKRU^IWAETSQ,POKA WY NE WERNETE W NEGO MY[X.
tAKIM SPOSOBOM WY MOVETE WYDELQTX OBLASTI,NE UME][email protected]]IESQ NA\KRANE.
M-Mouse-1
uSTANAWLIWAET ODNU IZ GRANI^NYH TO^EK WTORI^NOGO WYDELENIQ (mouse-start-
secondary).
M-Mouse-3
sOZDAET WTORI^NOE WYDELENIE,ISPOLXZUQ MESTO,UKAZANNOE S POMO][email protected]
M-Mouse-1 KAK EGO WTOROJ KONEC (mouse-secondary-save-then-kill).wTOROJ
]EL^OK NA\TOM VE MESTE UNI^TOVAET TOLXKO ^TO SDELANNOE WTORI^NOE
WYDELENIE.
M-Mouse-2
wSTAWLQET W MESTE ]EL^KA WTORI^NOE WYDELENIE (mouse-yank-secondary).|TO
POME]AET TO^KU W KONEC WOSSTANOWLENNOGO TEKSTA.
dWOJNYE I TROJNYE ]EL^KI M-Mouse-1 [email protected] NA SLOWA I STROKI,WO MNOGOM KAK DLQ
Mouse-1.
eSLI mouse-yank-at-point NE RAWNA nil,M-Mouse-2 WOSSTANAWLIWAET W TO^KE.tOGDA
NE IMEET ZNA^ENIQ,GDE WY ]ELKNULI;GLAWNOE,W KAKOM OKNE.sM.rAZDEL 17.1 [kOMANDY
MY[I],S.147.
150 rUKOWODSTWO PO GNU Emacs17.3 sLEDOWANIE PO SSYLKAM S POMO][email protected] MY[I
nEKOTORYE BUFERY Emacs [email protected] RAZLI^NOGO RODA PERE^NI.|TO PERE^NI FAJLOW,
BUFEROW,WOZMOVNYH ZAWER[ENIJ,SOWPADENIJ S OBRAZCOM I TAK DALEE.
pOSKOLXKU WOSSTANOWLENIE W\TIH BUFERAH BESSMYSLENNO,W BOLX[INSTWE IZ NIH Mouse-2
OPREDELENA OSOBO,KAK KOMANDA DLQ ISPOLXZOWANIQ ILI PROSMOTRA PUNKTA,NA KOTOROM WY
]ELKNULI.
nAPRIMER,ESLI WY ]ELKNITE Mouse-2 NA IMENI FAJLA W BUFERE Dired,WY OBRATI-
TESX K\TOMU FAJLU.eSLI WY ]ELKNITE Mouse-2 NA SOOB]ENII OB O[IBKE W BUFERE
`*Compilation*',WY PEREJDETE K ISHODNOMU KODU DLQ\TOGO SOOB]ENIQ.eSLI WY ]ELKNITE
Mouse-2 NA ZAWER[ENII W BUFERE`*Completions*',WY WYBERETE\TO ZAWER[ENIE.
oBY^NO WY MOVETE SUDITX O TOM,IMEET LI Mouse-2 OSOBOE ZNA^ENIE,PO TOMU,^TO
^UWSTWITELXNYJ TEKST PODSWE^IWAETSQ,KOGDA WY PROWODITE NAD NIM MY[X.
17.4 }EL^KI MY[I DLQ [email protected]
}EL^KI MY[I,MODIFICIROWANNYE S POMO][email protected] KLAWI[ hCTRLi I hSHIFTi,WYWODQT [email protected]
C-Mouse-1
|TO [email protected] DLQ WYBORA BUFERA.
C-Mouse-2
|TO [email protected] DLQ ZADANIQ NA^ERTANIJ I DRUGIH SWOJSTW TEKSTA DLQ REDAKTIROWANIQ
FORMATIROWANNOGO TEKSTA.sM.rAZDEL 21.11 [fORMATIROWANNYJ TEKST],S.198.
C-Mouse-3
|TO [email protected] OPREDELQETSQ REVIMOM.dLQ BOLX[INSTWA REVIMOW DANNOE [email protected]
IMEET TE VE PUNKTY,^TO SODERVATSQ WO WSEH OPREDELQEMYH REVIMOM [email protected] IZ
POLOSKI [email protected] REVIMY MOGUT OPREDELQTX DLQ\TOJ KNOPKI DRUGOE
[email protected]
1
S-mouse-1
|TO [email protected] DLQ ZADANIQ OSNOWNOGO [RIFTA FREJMA.
17.5 kOMANDY MY[I DLQ STROKI REVIMA
wY MOVETE ISPOLXZOWATX MY[X NA STROKE REVIMA DLQ WYBORA OKON I MANIPULQCIJ S
NIMI.
Mouse-1 Mouse-1 NA STROKE REVIMA WYBIRAET OKNO SWERHU.pROWODQ MY[[email protected] S NAVATOJ
NA STROKE REVIMA Mouse-1,WY MOVETE PEREME]ATX\TU STROKU REVIMA,IZMENQQ
TAKIM OBRAZOM WYSOTU OKON SWERHU I SNIZU.
Mouse-2 Mouse-2 NA STROKE REVIMA RASKRYWAET OKNO NA WESX FREJM.
Mouse-3 Mouse-3 NA STROKE REVIMA UDALQET OKNO SWERHU.
C-Mouse-2
C-Mouse-2 NA STROKE REVIMA RAZBIWAET OKNO SWERHU PO WERTIKALI W TOM MESTE,
GDE WY ]ELKNULI.
C-Mouse-2 NA POLOSKE PROKRUTKI RAZBIWAET [email protected]]EE OKNO PO GORIZONTALI.sM.rAZDEL 16.2 [rAZDELENIE OKON],S.142.1
w NEKOTORYH SISTEMAH DLQ OPREDELQEMYH REVIMOM [email protected] ISPOLXZUETSQ Mouse-3.mY PROWELI OPROS SREDI
POLXZOWATELEJ I WYQSNILI,^TO ONI PREDPO^[email protected] OSTAWITX Mouse-3 DLQ WYDELENIQ I UNI^TOVENIQ
[email protected] RE[ENIE ISPOLXZOWATX DLQ\TOGO [email protected] C-Mouse-3.
gLAWA 17:fREJMY I X Windows 15117.6 sOZDANIE FREJMOW
pREFIKSNYJ [email protected]^ C-x 5 ANALOGI^EN C-x 4,I NA NIH OPREDELENY PARALLELXNYE PODKO-
MANDY.rAZNICA MEVDU NIMI W TOM,^TO KOMANDY S C-x 5 [email protected] NOWYJ FREJM,A NE
PROSTO NOWOE OKNO W WYBRANNOM FREJME (SM.rAZDEL 16.4 [[email protected]]IE OKNA],S.143).
eSLI ZAPRO[ENNYJ MATERIAL UVE POKAZYWAETSQ W SU][email protected]]EM WIDIMOM ILI MINIMIZI-
ROWANNOM FREJME,\TI KOMANDY [email protected] SU][email protected]]IJ FREJM POSLE EGO PODNIMANIQ
ILI DEMINIMIZACII PO NEOBHODIMOSTI.
kOMANDY NA C-x 5 RAZLI^[email protected] PO TOMU,KAK ONI NAHODQT ILI [email protected] BUFER DLQ WYBO-
RA:
C-x 5 2 sOZDAET NOWYJ FREJM (make-frame-command).
C-x 5 b IMQ-BUFERA h RETi
wYBIRAET BUFER IMQ-BUFERA W DRUGOM FREJME.|TO ZAPUSKAET switch-to-
buffer-other-frame.
C-x 5 f IMQ-FAJLA
h RETi
oBRA]AETSQ K FAJLU IMQ-FAJLA I WYBIRAET EGO BUFER W DRUGOM FREJME.|TO
ZAPUSKAET find-file-other-frame.sM.rAZDEL 14.2 [oBRA]ENIE],S.106.
C-x 5 d KATALOG h RETi
wYBIRAET BUFER Dired DLQ KATALOGA KATALOG W DRUGOM FREJME.|TO ZAPUSKAET
dired-other-frame.sM.gLAWA 28 [Dired],S.291.
C-x 5 m pOZWOLQET NA^ATX SOSTAWLENIE PO^TOWOGO SOOB]ENIQ W DRUGOM FREJME (mail-
other-frame).|TO WARIANT C-x m,[email protected]]IJ W DRUGOM FREJME.sM.gLAWA 26
[pOSYLKA PO^TY],S.267.
C-x 5.oBRA]AETSQ K TEGU IZ TEKU]EJ TABLICY TEGOW W DRUGOM FREJME.|TO ZAPUSKAET
find-tag-other-frame,WARIANT M-.,[email protected]]IJ S NESKOLXKIMI FREJMAMI.
sM.rAZDEL 22.13 [tEGI],S.224.
C-x 5 r IMQ-FAJLA h RETi
oBRA]AETSQ K FAJLU IMQ-FAJLA W REVIME TOLXKO DLQ ^TENIQ I WYBIRAET EGO
BUFER W DRUGOM FREJME.|TO ZAPUSKAET find-file-read-only-other-frame.
sM.rAZDEL 14.2 [oBRA]ENIE],S.106.
wY MOVETE UPRAWLQTX WIDOM WNOWX SOZDAWAEMYH FREJMOW,USTANAWLIWAQ PARAMETRY
FREJMA W default-frame-alist.dLQ ZADANIQ PARAMETROW,OTNOSQ]IHSQ TOLXKO K NA^ALX-
NOMU FREJMU,WY MOVETE ISPOLXZOWATX [email protected] initial-frame-alist.sM.RAZDEL
\Initial Parameters"W The Emacs Lisp Reference Manual,DLQ DALXNEJ[EJ INFORMACII.
pROSTEJ[IJ SPOSOB UKAZATX OSNOWNOJ [RIFT DLQ WSEH FREJMOW Emacs |^EREZ X-RESURS
(SM.rAZDEL A.7 [{RIFT X],S.392),NO WY TAKVE MOVETE SDELATX\TO,IZMENIW default-
frame-alist TAK,^TOBY W NEM ZADAWALSQ PARAMETR font,KAK POKAZANO ZDESX:
(add-to-list'default-frame-alist'(font."10x20"))
17.7 sOZDANIE I ISPOLXZOWANIE FREJMA Speedbar
fREJM Emacs MOVET IMETX speedbar,TO ESTX WERTIKALXNOE OKNO,SLUVA]EE KAK [email protected] S
[email protected] PROKRUTKI DLQ FAJLOW,K KOTORYM WY MOVETE OBRATITXSQ,I TEGOW WNUTRI
\TIH FAJLOW.~TOBY SOZDATX speedbar,WWEDITE M-x speedbar;\TO SOZDAET OKNO speedbar
DLQ WYBRANNOGO FREJMA.pOSLE\TOGO WY MOVETE ]ELKNUTX W speedbar NA IMENI FAJLA,
^TOBY OBRATITXSQ K NEMU W [email protected]]EM FREJME Emacs,ILI ]ELKNUTX NA IMENI TEGA,
^TOBY PERESKO^ITX K NEMU [email protected]]EM FREJME.
iZNA^ALXNO speedbar PERE^ISLQET NEPOSREDSTWENNOE SODERVANIE TEKU]EGO KATALOGA PO
ODNOMU FAJLU NA STROKE.w KAVDOJ STROKE TAKVE ESTX KNOPKA,`[+]'ILI`<+>',NA KOTOROJ
152 rUKOWODSTWO PO GNU EmacsWY MOVETE ]ELKNUTX Mouse-2,^TOBY\OTKRYTX"SODERVIMOE DANNOGO\LEMENTA.eSLI NA
\TOJ STROKE PERE^ISLEN KATALOG,TO PRI OTKRYTII K POKAZANNOMU W speedbar DOBAWLQETSQ
SODERVANIE\TOGO KATALOGA POD EGO SOBSTWENNOJ STROKOJ.eSLI NA STROKE PERE^ISLEN OBY^-
NYJ FAJL,PRI EGO OTKRYTII K SODERVIMOMU speedbar DOBAWLQETSQ SPISOK TEGOW IZ\TOGO
FAJLA.kOGDA FAJL OTKRYWAETSQ,`[+]'ZAMENQETSQ NA`[-]';WY MOVETE ]ELKNUTX NA\TOJ
KNOPKE,^TOBY\ZAKRYTX"\TOT FAJL (SKRYTX EGO SODERVANIE).
nEKOTORYE OSNOWNYE REVIMY,[email protected]^AQ REVIM Rmail,Info I GUD,[email protected] SPECIALIZIRO-
WANNYE SPOSOBY POMESTITX W speedbar DRUGIE POLEZNYE WE]I.nAPRIMER,W REVIME Rmail
speedbar POKAZYWAET PERE^ENX Rmail-FAJLOW I POZWOLQET WAM PERENESTI TEKU]EE SOOB]ENIE
W DRUGOJ Rmail-FAJL,]ELKNUW NA KNOPKE`<M>'.
Speedbar PRINADLEVIT ODNOMU FREJMU Emacs I WSEGDA RABOTAET S\TIM FREJMOM.eSLI
WY ISPOLXZUETE NESKOLXKO FREJMOW,WY MOVETE SDELATX speedbar DLQ NEKOTORYH ILI DLQ
WSEH IZ NIH;^TOBY SDELATX speedbar DLQ [email protected] DANNOGO FREJMA,NABERITE W NEM M-x
speedbar.
17.8 mNOVESTWO DISPLEEW
oDIN Emacs MOVET OB]ATXSQ BOLEE ^EM S ODNIM DISPLEEM X Windows.iZNA^ALXNO
Emacs ISPOLXZUET TOLXKO ODIN DISPLEJ | TOT,^TO UKAZAN W PEREMENNOJ SREDY DISPLAY
ILI S POMO][email protected] [email protected]^A`-display'(SM.rAZDEL A.2 [[email protected]^I ZAPUSKA],S.386).~TOBY PODSO-
EDINITXSQ K DRUGOMU [email protected],WOSPOLXZUJTESX KOMANDOJ make-frame-on-display:
M-x make-frame-on-display h RETi DISPLEJ hRETi
sOZDAET NOWYJ FREJM NA DISPLEE DISPLEJ.
oDIN X-SERWER MOVET OBRABATYWATX BOLEE ODNOGO\KRANA.kOGDA WY OTKRYWAETE FREJ-
MY NA\KRANAH,PRINADLEVA]IH ODNOMU SERWERU,Emacs ZNAET,^TO ONI [email protected] ODNU
KLAWIATURU I WOSPRINIMAET WSE KOMANDY,PRIHODQ]IE S\TIH\KRANOW,KAK ODIN POTOK
WWODA.
kOGDA WY OTKRYWAETE FREJMY NA RAZNYH X-SERWERAH,Emacs SOZDAET DLQ KAVDOGO SER-
WERA OTDELXNYJ POTOK WWODA.pO\TOMU DWA POLXZOWATELQ MOGUT ODNOWREMENNO PE^ATATX NA
DWUH DISPLEQH,I Emacs NE SME[IWAET IH WWOD.kAVDYJ SERWER IMEET TAKVE SOBSTWENNYJ
WYBRANNYJ FREJM.kOMANDY,KOTORYE WY WWODITE NA KONKRETNOM X-SERWERE,OTNOSQTSQ K
WYBRANNOMU FREJMU\TOGO SERWERA.
nESMOTRQ NA\TO,[email protected],[email protected]]IE ODNO I TO VE ZADANIE Emacs S RAZNYH DISPLEEW,
WSE VE MOGUT WME[IWATXSQ W DELA DRUG DRUGA,ESLI BUDUT NEOSTOROVNY.nAPRIMER,ESLI
[email protected] IH NIH NAPE^ATAET C-x C-c,\TO PREKRATIT ZADANIE Emacs DLQ WSEH!
17.9 fREJMY SPECIALXNYH BUFEROW
wY MOVETE SDELATX TAK,^TOBY OPREDELENNYE BUFERY,DLQ KOTORYH Emacs OBY^NO SOZ-
DAET WTOROE OKNO,ESLI U WAS ESTX TOLXKO ODNO,POQWLQLISX W OSOBYH SOBSTWENNYH FREJMAH.
~TOBY SDELATX\TO,USTANOWITE [email protected] special-display-buffer-names RAWNOJ SPIS-
KU IMEN BUFEROW;[email protected] BUFER,^XE IMQ SODERVITSQ W\TOM SPISKE,AWTOMATI^ESKI POLU^A-
ET SPECIALXNYJ FREJM,KOGDA KAKAQ-NIBUDX KOMANDA Emacs HO^ET POKAZATX EGO\W DRUGOM
OKNE".
nAPRIMER,ESLI WY USTANOWITE\TU [email protected] TAKIM OBRAZOM:
(setq special-display-buffer-names
'("*Completions*""*grep*""*tex-shell*"))
TO SPISKI ZAWER[ENIJ,WYWOD grep I BUFER OBOLO^KI REVIMA T
E
X POLU^AT SWOI SOBSTWEN-
NYE FREJMY.|TI FREJMY I OKNA W NIH NIKOGDA NE [email protected] AWTOMATI^ESKI I NE
[email protected] DLQ DRUGIH BUFEROW.oNI [email protected] POKAZYWATX BUFERY,DLQ KOTORYH
gLAWA 17:fREJMY I X Windows 153BYLI SOZDANY,POKA WY NE IZMENITE IH WRU^[email protected]^TOVENIE SPECIALXNOGO BUFERA AWTO-
MATI^ESKI UDALQET EGO FREJM.
w BOLEE OB]EM SLU^AE WY MOVETE USTANOWITX special-display-regexps RAWNOJ SPISKU
REGULQRNYH WYRAVENIJ;TOGDA BUFER POLU^AET SOBSTWENNYJ FREJM,ESLI EGO IMQ SOWPADAET
W [email protected] IZ NIH.(e]E RAZ,\TO OTNOSITSQ TOLXKO K BUFERAM,KOTORYE OBY^NO [email protected]
W OTDELXNOM OKNE.)
pEREMENNAQ special-display-frame-alist ZADAET PARAMETRY DLQ\TIH FREJMOW.u NEE
ESTX ZNA^ENIE PO UMOL^[email protected],PO\TOMU WAM NEOBQZATELXNO USTANAWLIWATX EE.
tE,KTO ZNAET lISP,MOGUT TAKVE SDELATX\LEMENT special-display-buffer-names ILI
special-display-regexps SPISKOM.tOGDA PERWYJ\LEMENT |\TO IMQ BUFERA ILI RE-
GULQRNOE WYRAVENIE,A OSTALXNYE [email protected],KAK SOZDAWATX FREJM.|TO MOVET BYTX
ASSOCIATIWNYJ SPISOK,[email protected]]IJ ZNA^ENIQ PARAMETROW FREJMA;\TI ZNA^ENIQ [email protected] PRI-
ORITET PERED ZNA^ENIQMI PARAMETROW,UKAZANNYH W special-display-frame-alist.iLI
VE OSTALXNYE\LEMENTY MOGUT IMETX [email protected] FORMU:
(FUNKCIQ ARGUMENTY...)
GDE FUNKCIQ |\TO SIMWOL.tOGDA FREJM KONSTRUIRUETSQ PUTEM WYZOWA FUNKCII;EE PER-
WYM ARGUMENTOM QWLQETSQ BUFER,A OSTALXNYMI ARGUMENTAMI |ARGUMENTY.
aNALOGI^NYMI SREDSTWAMI WY MOVETE UKAZATX BUFERY,KOTORYE DOLVNY OTOBRAVATXSQ
W WYBRANNOM OKNE.sM.rAZDEL 16.5 [iSPOLXZOWANIE TOGO VE OKNA],S.143.pOKAZ W TOM
VE OKNE OBLADAET PRIORITETOM PERED POKAZOM W SPECIALXNOM FREJME;SLEDOWATELXNO,ESLI
WY DOBAWILI IMQ BUFERA K special-display-buffer-names,NO\TO NE WOZYMELO NIKAKOGO
\FFEKTA,PROWERXTE,NE ISPOLXZUETSQ LI DLQ\TOGO VE IMENI BUFERA SREDSTWO POKAZA W TOM
VE OKNE.
17.10 uSTANOWKA PARAMETROW FREJMA
|TOT RAZDEL OPISYWAET KOMANDY DLQ IZMENENIQ STILQ OTOBRAVENIQ WYBRANNOGO FREJMA
I EGO POWEDENIQ W OKONNOJ SREDE.
M-x set-foreground-color h RETi CWET hRETi
zADAET CWET DLQ TEKSTA W WYBRANNOM FREJME.
M-x set-background-color h RETi CWET hRETi
zADAET CWET DLQ FONA W WYBRANNOM FREJME.tAKVE IZMENQET CWET TEKSTA W
NA^ERTANII modeline,^TOBY ONO OSTAWALOSX INWERSIEJ NA^ERTANIQ PO UMOL^A-
[email protected]
M-x set-cursor-color h RETi CWET hRETi
zADAET CWET KURSORA W WYBRANNOM FREJME.
M-x set-mouse-color h RETi CWET hRETi
zADAET CWET UKAZATELQ MY[I,KOGDA ON NAHODITSQ NAD WYBRANNYM FREJMOM.
M-x set-border-color h RETi CWET hRETi
zADAET CWET RAMKI WYBRANNOGO FREJMA.
M-x list-colors-display
wYWODIT OPREDELENNYE IMENA CWETOW I POKAZYWAET,KAK\TI CWETA WYGLQDQT.
|TO NESKOLXKO MEDLENNAQ KOMANDA.
M-x auto-raise-mode
[email protected]^AET AWTOMATI^ESKOE PODNQTIE WYBRANNOGO FREJMA.aWTOMATI^ESKOE
PODNQTIE OZNA^AET,^TO WSQKIJ RAZ,KOGDA WY PEREDWIGAETE MY[X W\TOT FREJM,
ON PODNIMAETSQ.
154 rUKOWODSTWO PO GNU EmacsoBRATITE WNIMANIE,\TO SREDSTWO AWTOMATI^ESKOGO PODNQTIQ REALIZOWANO SA-
MIM Emacs.nEKOTORYE PROGRAMMY UPRAWLENIQ OKNAMI TAKVE [email protected] AWTO-
PODNQTIE.eSLI WY [email protected]^ITE AWTOPODNQTIE DLQ FREJMOW Emacs W WA[EJ PRO-
GRAMME UPRAWLENIQ X-OKNAMI,\TO BUDET RABOTATX,NO NE POD KONTROLEM Emacs,
I SLEDOWATELXNO,auto-raise-mode NE BUDET IGRATX ROLI.
M-x auto-lower-mode
[email protected]^AET AWTOMATI^ESKOE OPUSKANIE WYBRANNOGO FREJMA.aWTOMATI^ESKOE
OPUSKANIE OZNA^AET,^TO WSQKIJ RAZ,KOGDA WY PEREDWIGAETE MY[X ZA PREDELY
\TOGO FREJMA,ON PERENOSITSQ WNIZ STEKA X-OKON.
kOMANDA auto-lower-mode NE WLIQET NA AWTOOPUSKANIE,REALIZOWANNOE PRO-
GRAMMOJ UPRAWLENIQ X-OKNAMI.~TOBY KONTROLIROWATX\TO,WY DOLVNY IS-
POLXZOWATX [email protected]]IE SREDSTWA SWOEJ PROGRAMMY UPRAWLENIQ OKNAMI.
M-x set-frame-font hRETi [RIFT hRETi
oPREDELQET [RIFT KAK OSNOWNOJ [RIFT W WYBRANNOM FREJME.oSNOWNOJ [RIFT
ISPOLXZUETSQ DLQ WSEGO OTOBRAVAEMOGO W\TOM FREJME TEKSTA,KROME SLU^AEW,
KOGDA DLQ KAKOGO-TO TEKSTA S POMO][email protected] NA^ERTANIQ (SM.rAZDEL 17.13 [nA^ERTA-
NIQ],S.155 ) OPREDELEN DRUGOJ [RIFT.sM.rAZDEL A.7 [{RIFT X],S.392,^TOBY
UZNATX O SPOSOBAH PERE^ISLENIQ DOSTUPNYH W WA[EJ SISTEME [RIFTOW.
wY TAKVE MOVETE USTANOWITX OSNOWNOJ [RIFT FREJMA ^EREZ [email protected]]EE ME-
[email protected]~TOBY WYZWATX\TO [email protected],NAVMITE S-Mouse-1.
w WERSIQH Emacs,KOTORYE [email protected] X toolkit,FUNKCII DLQ USTANOWKI CWETA I [RIF-
TOW NE [email protected] NA [email protected],TAK KAK [email protected] [email protected] SO SWOIMI SOBSTWENNYMI KLASSAMI
WIDVETOW.~TOBY SMENITX WID [email protected],WY DOLVNY ISPOLXZOWATX X-RESURSY (SM.rAZDEL A.13
[rESURSY X],S.396 ).sM.rAZDEL A.8 [cWETA X],S.393,SWEDENIQ O CWETAH,A TAKVErAZ-
DEL A.7 [{RIFT X],S.392,[email protected]]IJSQ WOPROSOW O WYBORE [RIFTA.
dLQ POLU^ENIQ INFORMACII O PARAMETRAH I NASTROJKAH FREJMOW SMOTRITERAZDEL
\Frame Parameters"W The Emacs Lisp Reference Manual.
17.11 pOLOSKI PROKRUTKI
pRI ISPOLXZOWANII X,Emacs OBY^NO SOZDAET POLOSKI PROKRUTKI SLEWA OT KAVDOGO OK-
NA.pOLOSKA PROKRUTKI PROHODIT PO WSEJ WYSOTE OKNA,A WNUTRI EE ESTX PRQMOUGOLXNIK,
[email protected]]IJ [email protected] W DANNYJ MOMENT ^ASTX BUFERA.pOLNAQ WYSOTA POLOSKI
PROKRUTKI PREDSTAWLQET [email protected] DLINU BUFERA.
wY MOVETE ISPOLXZOWATX NA POLOSKE PROKRUTKI Mouse-2 (OBY^NO\TO SREDNQQ KNOPKA),
^TOBY PEREDWINUTX ILI PERETA]ITX WNUTRENNIJ PRQMOUGOLXNIK WWERH ILI WNIZ.eSLI
WY PEREMESTITE EGO K WERHU POLOSKI PROKRUTKI,WY UWIDITE NA^ALO BUFERA.eSLI WY
PEREMESTITE EGO K NIZU POLOSKI PROKRUTKI,TO UWIDITE KONEC BUFERA.
pRAWAQ I LEWAQ KNOPKI MY[I PROKRU^[email protected] NA KONTROLIRUEMOE ^ISLO STROK.Mouse-1
(OBY^NO LEWAQ KNOPKA) PEREME]AET STROKU,NA UROWNE KOTOROJ WY ]ELKNULI,K WERHNEMU
[email protected] OKNA.Mouse-3 (OBY^NO PRAWAQ KNOPKA) PEREME]AET [email protected]@ STROKU OKNA WNIZ K
TOMU [email protected],GDE WY ]ELKNULI.}ELKAQ POSLEDOWATELXNO NA ODNOM MESTE,WY MOVETE
PROKRU^IWATX NA ODNO I TO VE RASSTOQNIE E]E I E]E.
pOMIMO PROKRUTKI,WY TAKVE MOVETE ]ELKNUTX NA POLOSKE PROKRUTKI S POMO][email protected]
C-Mouse-2,^TOBY RAZBITX OKNO PO GORIZONTALI.rAZBIENIE DELAETSQ W TOJ STROKE,GDE
WY ]ELKNULI.
wY MOVETE [email protected]^ITX ILI [email protected]^ITX REVIM Scroll Bar KOMANDOJ M-x scroll-bar-mode.
bEZ ARGUMENTA,ONA [email protected]^AET ISPOLXZOWANIE POLOSOK PROKRUTKI.s ARGUMENTOM,ONA
[email protected]^AET ISPOLXZOWANIE POLOSOK PROKRUTKI TOGDA I TOLXKO TOGDA,KOGDA ARGUMENT POLO-
VITELEN.|TA KOMANDA PRIMENQETSQ KO WSEM FREJMAM,[email protected]^AQ TE,^TO E]E BUDUT SOZDANY.
gLAWA 17:fREJMY I X Windows 155dLQ UPRAWLENIQ NA^ALXNOJ USTANOWKOJ REVIMA Scroll Bar WY MOVETE ISPOLXZOWATX X-RESURS
`verticalScrollBars'.sM.rAZDEL A.13 [rESURSY X],S.396.
~TOBY [email protected]^ITX ILI [email protected]^ITX POLOSKI PROKRUTKI TOLXKO DLQ WYBRANNOGO FREJMA,
WOSPOLXZUJTESX KOMANDOJ M-x toggle-scroll-bar.
17.12 pOLOSKI [email protected]
wY MOVETE [email protected]^ITX ILI [email protected]^ITX POKAZ POLOSOK [email protected] S POMO][email protected] KOMANDY M-x
menu-bar-mode.bEZ ARGUMENTOW,\TA KOMANDA [email protected]^AET REVIM Menu Bar;\TO WTORO-
STEPENNYJ REVIM.s ARGUMENTOM,\TA KOMANDA [email protected]^AET REVIM Menu Bar,ESLI ARGUMENT
POLOVITELEN,I [email protected]^AET,ESLI ARGUMENT NEPOLOVITELEN.dLQ UPRAWLENIQ NA^ALXNOJ
USTANOWKOJ REVIMA Menu Bar WY MOVETE ISPOLXZOWATX X-RESURS`menuBarLines'.sM.rAZ-
DEL A.13 [rESURSY X],S.396.pROFESSIONALXNYE POLXZOWATELI ^ASTO [email protected]^[email protected] POLOSKU
[email protected],OSOBENNO NA TEKSTOWYH TERMINALAH,GDE\TO OSWOBOVDAET ODNU [email protected] STRO-
KU DLQ TEKSTA.
sM.rAZDEL 1.4 [pOLOSKA [email protected]],S.26,DLQ POLU^ENIQ INFORMACII O TOM,KAK WYZYWATX
KOMANDY S POMO][email protected] POLOSKI [email protected]
17.13 iSPOLXZOWANIE RAZNYH NA^ERTANIJ
kOGDA WY ISPOLXZUETE Emacs S SISTEMOJ X,WY MOVETE NASTROITX NESKOLXKO STILEJ OTOB-
RAVENIQ ZNAKOW.wY MOVETE KONTROLIROWATX TAKIE ASPEKTY STILQ:[RIFT,CWET TEKSTA,
CWET FONA I POD^ERKIWANIE.Emacs ^ASTI^NO PODDERVIWAET NA^ERTANIQ W MS-DOS,POZWO-
LQQ WAM KONTROLIROWATX DLQ KAVDOGO NA^ERTANIQ CWETA TEKSTA I FONA (SM.pRILOVENIE C
[MS-DOS],S.403 ).
wY UPRAWLQETE STILEM OTOBRAVENIQ PUTEM OPREDELENIQ IMENOWANNYH NA^ERTANIJ.kAV-
DOE NA^ERTANIE MOVET ZADAWATX [RIFT,CWET TEKSTA,CWET FONA I FLAG POD^ERKIWANIQ;NO
ONO NE OBQZANO ZADAWATX IH WSE.zATEM,UKAZYWAQ NA^ERTANIE ILI NA^ERTANIQ DLQ ZADANNOJ
^ASTI TEKSTA W BUFERE,WY UPRAWLQETE WNE[NIM WIDOM\TOGO TEKSTA.
iSPOLXZUEMYJ DLQ KAVDOGO DANNOGO ZNAKA STILX OTOBRAVENIQ OPREDELQETSQ KOMBINACI-
EJ NESKOLXKIH NA^[email protected] ASPEKT STILQ,NE ZADANNYJ PEREKRYTIQMI ILI SWOJSTWA-
MI TEKSTA,PREDOSTAWLQETSQ SAMIM FREJMOM.
rEVIM Enriched,PREDNAZNA^ENNYJ DLQ REDAKTIROWANIQ FORMATIROWANNOGO TEKSTA,
[email protected]^AET NESKOLXKO KOMAND I [email protected] DLQ ZADANIQ NA^ERTANIJ.sM.rAZDEL 21.11.4 [nA-
^ERTANIQ W FORMATIROWANNOM TEKSTE],S.200,^TOBY UZNATX,KAK UKAZATX [RIFT DLQ TEKSTA
W BUFERE.sM.rAZDEL 21.11.5 [cWETA W FORMATIROWANNOM TEKSTE],S.201,O ZADANII CWETOW
TEKSTA I FONA.
dLQ IZMENENIQ WNE[NEGO WIDA NA^ERNANIQ ISPOLXZUJTE BUFER NASTROJKI.sM.rAZ-
DEL 31.2.2.3 [nASTROJKA NA^ERTANIJ],S.347.dLQ OPREDELENIQ ATRIBUTOW KONKRETNYH NA-
^ERTANIJ WY TAKVE MOVETE ISPOLXZOWATX X-RESURSY (SM.rAZDEL A.13 [rESURSY X],S.396).
~TOBY UZNATX,KAKIE NA^ERTANIQ OPREDELENY W DANNYJ MOMENT,I KAK ONI WYGLQDQT,
NABERITE M-x list-faces-display.oDNO NA^ERTANIE MOVET WYGLQDETX PO-RAZNOMU W RAZ-
NYH FREJMAH;DANNAQ KOMANDA POKAZYWAET EGO WID W TOM FREJME,GDE WY EE NABRALI.wOT
PERE^ENX STANDARTNYH OPREDELENNYH NA^ERTANIJ:
default |TO NA^ERTANIE ISPOLXZUETSQ DLQ OBY^NOGO TEKSTA,DLQ KOTOROGO NE OPREDELENO
DRUGOE NA^ERTANIE.
modeline |TO NA^ERTANIE ISPOLXZUETSQ DLQ STROK REVIMA.pO UMOL^[email protected] ONO USTANAW-
LIWAETSQ KAK INWERSIQ NA^ERTANIQ default.sM.rAZDEL 11.7 [pEREMENNYE
IZOBRAVENIQ],S.84.
156 rUKOWODSTWO PO GNU Emacshighlight
|TO NA^ERTANIE ISPOLXZUETSQ W RAZLI^NYH REVIMAH DLQ PODSWETKI ^ASTEJ TEK-
STA.
region |TO NA^ERTANIE PRIMENQETSQ DLQ OTOBRAVENIQ WYDELENNOJ OBLASTI (KOGDA
[email protected]^EN REVIM Transient Mark |SMOTRITE NIVE).
secondary-selection
|TO NA^ERTANIE ISPOLXZUETSQ DLQ OTOBRAVENIQ WTORI^NOGO WYDELENIQ (SM.rAZ-
DEL 17.2 [wTORI^NOE WYDELENIE],S.149 ).
bold |TO NA^ERTANIE ISPOLXZUET VIRNYJ WARIANT [RIFTA PO UMOL^[email protected],ESLI ON
ESTX.
italic |TO NA^ERTANIE ISPOLXZUET KURSIWNYJ WARIANT [RIFTA PO UMOL^[email protected],ESLI
ON ESTX.
bold-italic
|TO NA^ERTANIE ISPOLXZUET VIRNYJ KURSIWNYJ WARIANT [RIFTA PO UMOL^A-
[email protected],ESLI ON ESTX.
underline
|TO NA^ERTANIE POD^ERKIWAET TEKST.
eSLI [email protected]^EN REVIM Transient Mark,TEKST OBLASTI PODSWE^IWAETSQ,KOGDA METKA AK-
TIWNA.dLQ\TOGO ISPOLXZUETSQ NA^ERTANIE S IMENEM region;WY MOVETE UPRAWLQTX STILEM
PODSWETKI,MENQQ STILX\TOGO NA^ERTANIQ (SM.rAZDEL 31.2.2.3 [nASTROJKA NA^ERTANIJ],
S.347 ).sM.rAZDEL 8.2 [Transient Mark],S.64,DLQ POLU^ENIQ BOLX[EJ INFORMACII O
REVIME Transient Mark I AKTIWIZACII I DEAKTIWIZACII METKI.
oDIN PROSTOJ SPOSOB ISPOLXZOWATX RAZNYE NA^ERTANIQ | [email protected]^ITX REVIM Font Lock.
|TOT WTOROSTEPENNYJ REVIM,WSEGDA LOKALXNYJ DLQ KONKRETNOGO BUFERA,PODBIRAET NA-
^ERTANIQ W SOOTWETSTWII S SINTAKSISOM REDAKTIRUEMOGO TEKSTA.oN MOVET RASPOZNAWATX
KOMMENTARII I STROKI W BOLX[INSTWE QZYKOW;W NEKOTORYH QZYKAH ON UMEET DAVE RASPOZNA-
WATX I PRAWILXNO PODSWE^IWATX RAZLI^NYE DRUGIE WAVNYE KONSTRUKCII.sM.rAZDEL 17.14
[Font Lock],S.156,DLQ POLU^ENIQ BOLX[EJ INFORMACII O REVIME Font Lock I SINTAKSI^E-
SKOJ PODSWETKE.
wY MOVETE RASPE^ATATX BUFER S PODSWETKOJ,[email protected] WY WIDITE NA\KRANE,S POMO][email protected]
KOMANDY ps-print-buffer-with-faces.sM.rAZDEL 30.5 [Postscript],S.332.
17.14 rEVIM Font Lock
rEVIM Font Lock |\TO WTOROSTEPENNYJ REVIM,WSEGDA LOKALXNYJ DLQ KAVDOGO BUFE-
RA,KOTORYJ PODSWE^IWAET REDAKTIRUEMYJ WAMI TEKST,ISPOLXZUQ RAZLI^NYE NA^ERTANIQ
W SOOTWETSTWII S SINTAKSISOM TEKSTA.oN MOVET RASPOZNAWATX KOMMENTARII I STROKI
W BOLX[INSTWE QZYKOW;W NEKOTORYH QZYKAH ON MOVET TAKVE RASPOZNAWATX I PRAWILXNO
PODSWE^IWATX RAZLI^NYE DRUGIE WAVNYE KONSTRUKCII | NAPRIMER,IMENA OPREDELQEMYH
FUNKCIJ I ZAREZERWIROWANNYE [email protected]^EWYE SLOWA.
kOMANDA M-x font-lock-mode [email protected]^AET I [email protected]^AET REVIM Font Lock W SOOTWETSTWII
S ARGUMENTOM I [email protected]^AET,ESLI ARGUMENT NE ZADAN.fUNKCIQ turn-on-font-lock BEZ-
USLOWNO [email protected]^AET REVIM Font Lock.|TO POLEZNO W FUNKCIQH-LOWU[KAH REVIMA.nAPRIMER,
^TOBY ZADEJSTWOWATX REVIM Font Lock WSQKIJ RAZ,KOGDA WY REDAKTIRUETE FAJL NA sI,WY
MOVETE SDELATX TAK:
(add-hook'c-mode-hook'turn-on-font-lock)
~TOBY [email protected]^ITX REVIM Font Lock AWTOMATI^ESKI WO WSEH REVIMAH,KOTORYE EGO POD-
[email protected],ISPOLXZUJTE [email protected] global-font-lock-mode,KAK POKAZANO ZDESX:
gLAWA 17:fREJMY I X Windows 157(global-font-lock-mode 1)
kOGDA WY REDAKTIRUETE TEKST W REVIME Font Lock,PODSWETKA W IZMENENNOJ STROKE OB-
NOWLQETSQ AWTOMATI^ESKI.~A]E WSEGO IZMENENIQ NE [email protected] WLIQNIQ NA PODSWETKU PO-
[email protected]]IH STROK,NO INOGDA WSE VE [email protected]~TOBY OBNOWITX PODSWETKU NESKOLXKIH STROK,
ISPOLXZUJTE KOMANDU M-g M-g (font-lock-fontify-block).
w NEKOTORYH OSNOWNYH REVIMAH M-g M-g OBNOWLQET PODSWETKU WSEJ TEKU]EJ FUNKCII.
(kAK IMENNO MOVNO NAJTI TEKU][email protected] [email protected],UKAZYWAET PEREMENNAQ font-lock-mark-
block-function.) w DRUGIH OSNOWNYH REVIMAH M-g M-g OBNOWLQET PODSWETKU 16-TI STROK
NAD I POD TO^KOJ.
s ^ISLOWYM ARGUMENTOM n,M-g M-g OBNOWLQET PODSWETKU n STROK NAD I POD TO^KOJ,
NEZAWISIMO OT REVIMA.
~TOBY POLU^ITX WSE PREIMU]ESTWA REVIMA Font Lock,WAM PRIDETSQ WYBRATX TAKOJ
[RIFT PO UMOL^[email protected],U KOTOROGO ESTX VIRNYJ,KURSIWNYJ I VIRNYJ KURSIWNYJ WARIAN-
TY;ILI WAM PONADOBITSQ CWETNOJ MONITOR ILI MONITOR,[email protected]]IJ MNOGO GRADACIJ
SEROGO.
pEREMENNAQ font-lock-maximum-decoration ZADAET PREDPO^TITELXNYJ UROWENX OFORM-
LENIQ DLQ REVIMOW,KOTORYE [email protected] NESKOLXKO UROWNEJ.uROWENX 1 |\TO MINI-
MALXNOE OFORMLENIE;NEKOTORYE REVIMY [email protected] DO TREH UROWNEJ.oBY^NOE ZNA-
^ENIE PO UMOL^[email protected] OBOZNA^AET\KAK MOVNO BOLX[E".wY MOVETE UKAZATX CELOE ^ISLO,
KOTOROE PRIMENQETSQ KO WSEM REVIMAM,ILI ZADATX RAZNYE ^ISLA DLQ KONKRETNYH REVI-
MOW;NAPRIMER,^TOBY ISPOLXZOWATX UROWENX 1 DLQ REVIMOW C/C++ I UROWENX PO UMOL^[email protected]
W OSTALXNYH SLU^AQH,NAPI[ITE TAK:
(setq font-lock-maximum-decoration
'((c-mode.1) (c++-mode.1)))
w BOLX[IH BUFERAH PODSWETKA MOVET BYTX SLI[KOM MEDLENNOJ,PO\TOMU WY MOVETE
PODAWITX EE.pEREMENNAQ font-lock-maximum-size ZADAET RAZMER BUFERA,SWERH KOTOROGO
PODSWETKA NE DELAETSQ.
pODSWETKA KOMMENTARIEW I STROK (ILI\SINTAKSI^ESKAQ"PODSWETKA) OSNOWYWAETSQ NA
ANALIZE SINTAKSI^ESKOJ STRUKTURY TEKSTA BUFERA.w CELQH UWELI^ENIQ SKOROSTI NEKOTO-
RYE REVIMY,[email protected]^AQ REVIM C I REVIM Lisp [email protected] NA OSOBOE SOGLA[ENIE:OTKRY-
[email protected]]AQ SKOBKA W SAMOM LEWOM STOLBCE WSEGDA OBOZNA^AET NA^ALO OPREDELENIQ FUNKCII I,
TAKIM OBRAZOM,WSEGDA NAHODITSQ WNE [email protected] STROKI ILI KOMMENTARIQ.(sM.rAZDEL 22.4
[oPREDELENIQ FUNKCIJ],S.208.) eSLI WY NE SLEDUETE\TOMU SOGLA[[email protected],REVIM Font Lock
MOVET SDELATX [email protected] PODSWETKU TEKSTA POSLE [email protected]]EJ SKOBKI W LEWOM STOLB-
CE,KOTORAQ POPADAET W STROKU ILI KOMMENTARIJ.
pEREMENNAQ font-lock-beginning-of-syntax-function (WSEGDA LOKALXNAQ DLQ BUFERA)
UKAZYWAET,KAKIM OBRAZOM REVIM Font Lock MOVET NAJTI [email protected],KOTORAQ GARANTIROWAN-
NO NAHODITSQ WNE [email protected] KOMMENTARIQ ILI STROKI.w REVIMAH,[email protected]]IH SOGLA[ENIE
OB [email protected]]EJ SKOBKE W LEWOM STOLBCE,ZNA^ENIE\TOJ PEREMENNOJ PO UMOL^[email protected] |\TO
beginning-of-defun,^TO WELIT REVIMU Font Lock PRIMENQTX\TO SOGLA[ENIE.eSLI WY
USTANOWITE\TU [email protected] W nil,Font Lock BOLX[E NE STANET POLAGATXSQ NA\TO SOGLA-
[ENIE.|TO POZWOLQET IZBEVATX NEWERNYH REZULXTATOW,NO CENOJ\TOGO BUDET TO,^TO W
NEKOTORYH SLU^AQH DLQ PODSWETKI PRIDETSQ PROHODITX TEKST BUFERA S SAMOGO NA^ALA.
oBRAZCY PODSWETKI Font Lock UVE SU][email protected] DLQ MNOGIH REVIMOW,NO WY MOVETE
ZAHOTETX RASKRASITX ^TO-TO DOPOLNITELXNO.~TOBY DOBAWITX SWOI SOBSTWENNYE OBRAZCY
PODSWETKI DLQ OPREDELENNOGO REVIMA,WY MOVETE ISPOLXZOWATX [email protected] font-lock-add-
keywords.k PRIMERU,^TOBY WYDELITX W KOMMENTARIQH sI SLOWA`FIXME:',ISPOLXZUJTE
\TO:
(font-lock-add-keywords
'c-mode
'(("\\<\\(FIXME\\):"1 font-lock-warning-face t)))
158 rUKOWODSTWO PO GNU Emacs17.15 rEVIMY PODDERVKI Font Lock
rEVIMY PODDERVKI [email protected] REVIM Font Lock W BOLX[IH BUFERAH.eSTX DWA REVIMA
PODDERVKI:REVIM Fast Lock I REVIM Lazy Lock.oNI [email protected] DWA RAZNYH METODA
USKORENIQ REVIMA Font Lock.
17.15.1 rEVIM Fast Lock
~TOBY SDELATX REVIM Font Lock BOLEE BYSTRYM DLQ BUFEROW,OBRA][email protected]]IHSQ K BOLX-
[IM FAJLAM,WY MOVETE ISPOLXZOWATX REVIM Fast Lock.rEVIM Fast Lock SOHRANQET IN-
[email protected] O [RIFTAH DLQ KAVDOGO FAJLA W OTDELXNOM FAJLE KE[A;WSQKIJ RAZ,KOGDA WY
OBRA]AETESX K FAJLU,ON ZANOWO S^ITYWAET [email protected] O [RIFTAH IZ FAJLA KE[A WMESTO
TOGO,^TOBY WY^ISLQTX [RIFTY DLQ TEKSTA S NULQ.
kOMANDA M-x fast-lock-mode [email protected]^AET I [email protected]^AET REVIM Fast Lock W SOOTWETSTWII S
ARGUMENTOM (BEZ ARGUMENTA,REVIM [email protected]^AETSQ).wY TAKVE MOVETE SDELATX TAK,^TOBY
REVIM Fast Lock [email protected]^ALSQ WSQKIJ RAZ,KOGDA WY ISPOLXZUETE REVIM Font Lock,[email protected]]IM
OBRAZOM:
(setq font-lock-support-mode'fast-lock-mode)
zAPISYWATX FAJL KE[A DLQ MALENXKIH BUFEROW NE IMEET SMYSLA.pO\TOMU ESTX PE-
REMENNAQ,fast-lock-minimum-size,[email protected]]AQ NAIMENX[IJ RAZMER FAJLA,DLQ KOTOROGO
INFORMACIQ O [RIFTAH KE[IRUETSQ.
pEREMENNAQ fast-lock-cache-directories UKAZYWAET,GDE NUVNO RAZME]ATX FAJLY KE-
[A.eE ZNA^ENIE |\TO SPISOK KATALOGOW,KOTORYE BUDUT ISPROBOWANY;"."OZNA^AET TOT VE
KATALOG,GDE FAJL REDAKTIRUETSQ.zNA^ENIE PO UMOL^[email protected] RAWNO (".""~/.emacs-flc"),
^TO WELIT ISPOLXZOWATX TOT VE KATALOG,ESLI\TO WOZMOVNO,INA^E ISPOLXZOWATX KATALOG
`~/.emacs-flc'.
pEREMENNAQ fast-lock-save-others UKAZYWAET,DOLVEN LI REVIM Fast Lock SOHRANQTX
FAJLY KE[A DLQ FAJLOW,^XIM WLADELXCEM QWLQETESX NE WY.oTLI^NOE OT nil ZNA^ENIE
GOWORIT,^TO DOLVEN (I\TO ZNA^ENIE PO UMOL^[email protected]).
17.15.2 rEVIM Lazy Lock
~TOBY USKORITX REVIM Font Lock DLQ BOLX[IH BUFEROW,WY MOVETE ISPOLXZOWATX REVIM
Lazy Lock,KOTORYJ UMENX[AET KOLI^ESTWO TEKSTA,PODLEVA]EGO PODSWETKE.w REVIME Lazy
Lock PODSWETKA BUFERA DELAETSQ PO NEOBHODIMOSTI;ONA PROIZWODITSQ TOLXKO DLQ TEH ^ASTEJ
BUFERA,KOTORYE DOLVNY POQWITXSQ NA\KRANE.i PODSWETKA WA[IH IZMENENIJ ZAMEDLENA;
ONA PROIZWODITSQ,TOLXKO KOGDA Emacs BEZDEJSTWOWAL OPREDELENNYJ NEBOLX[OJ PROMEVUTOK
WREMENI.
kOMANDA M-x lazy-lock-mode [email protected]^AET I [email protected]^AET REVIM Lazy Lock W SOOTWETSTWII
S ARGUMENTOM (BEZ ARGUMENTA,REVIM [email protected]^AETSQ).wY TAKVE MOVETE SDELATX TAK,
^TOBY REVIM Lazy Lock [email protected]^ALSQ WSQKIJ RAZ,KOGDA WY ISPOLXZUETE REVIM Font Lock,
[email protected]]IM OBRAZOM:
(setq font-lock-support-mode'lazy-lock-mode)
iZBEGATX PODSWETKI MALENXKIH BUFEROW NE IMEET SMYSLA.mINIMALXNYJ RAZMER BUFERA,
DLQ KOTOROGO PODSWETKA DELAETSQ PO NEOBHODIMOSTI,OPREDELQETSQ PEREMENNOJ lazy-lock-
minimum-size.mENX[IE BUFERY RASCWE^[email protected] SRAZU,KAK W PROSTOM REVIME Font Lock.
kOGDA WY IZMENQETE BUFER,REVIM Lazy Lock OTKLADYWAET PODSWETKU IZMENENNOGO TEK-
STA.pEREMENNAQ lazy-lock-defer-time ZADAET ^ISLO SEKUND,KOTOROE Emacs DOLVEN OSTA-
WATXSQ NEZANQTYM,PREVDE ^EM NA^ATX PODSWETKU WA[IH IZMENENIJ.eSLI EE ZNA^ENIE RAWNO
0,IZMENENIQ PODSWE^[email protected] NEZAMEDLITELXNO,KAK W PROSTOM REVIME Font Lock.
gLAWA 17:fREJMY I X Windows 159oBY^NO REVIM Lazy Lock PODSWE^IWAET STAW[IE WIDIMYMI FRAGMENTY BUFERA PERED
TEM,KAK ONI WPERWYE [email protected] NA\KRANE.oDNAKO,ESLI ZNA^ENIE lazy-lock-defer-
on-scrolling NE RAWNO nil,WNOWX WIDIMYJ TEKST PODSWE^IWAETSQ TOLXKO POSLE TOGO,KAK
Emacs BEZDEJSTWOWAL lazy-lock-defer-time SEKUND.
w NEKOTORYH REVIMAH,[email protected]^AQ REVIM C I REVIM Emacs Lisp,IZMENENIE SODERVIMO-
GO ODNOJ STROKI IZMENQET KONTEKST [email protected]]IH STROK I,SLEDOWATELXNO,TU PODSWETKU,
KOTORAQ DOLVNA DLQ NIH ISPOLXZOWATXSQ.oBY^NO WY DOLVNY NABRATX M-g M-g,^TOBY
OBNOWITX PODSWETKU [email protected]]IH STROK.oDNAKO,ESLI WY USTANOWITE [email protected] lazy-
lock-defer-contextually NE RAWNOJ nil,REVIM Lazy Lock DELAET\TO AWTOMATI^ESKI PO
ISTE^ENII lazy-lock-defer-time SEKUND.
kOGDA Emacs BEZDEJSTWUET PRODOLVITELXNOE WREMQ,Lazy Lock PODSWE^IWAET DOPOLNI-
TELXNYE FRAGMENTY BUFERA,KOTORYE E]E NE POKAZANY,NA SLU^AJ,ESLI WY WYNESETE IH NA
\KRAN POZDNEE.|TO NAZYWAETSQ SKRYTOJ PODSWETKOJ.
pEREMENNAQ lazy-lock-stealth-time OPREDELQET,SKOLXKO MINUT Emacs DOLVEN OSTA-
WATXSQ NEZANQTYM,PREVDE ^EM NA^ATX [email protected] PODSWETKU.zNA^ENIE nil OZNA^AET OTSUT-
STWIE SKRYTOJ PODSWETKI.pEREMENNYE lazy-lock-stealth-lines I lazy-lock-stealth-
verbose [email protected] DIAPAZON I PODROBNOSTX SKRYTOJ PODSWETKI.
17.15.3 Fast Lock ILI Lazy Lock?
wOT PROSTYE UKAZANIQ,KOTORYE POMOGUT WAM WYBRATX ODIN IZ REVIMOW PODDERVKI Font
Lock.
пЂЏ rEVIM Fast Lock IGRAET ROLX TOLXKO PRI OBRA]ENII K FAJLAM I UNI^TOVENII BUFEROW
(I SWQZANNYH SOBYTIJ);SLEDOWATELXNO,REDAKTIROWANIE BUFERA I PROKRUTKA OKNA NE
BYSTREE I NE MEDLENNEE,^EM W PROSTOM REVIME Font Lock.
пЂЏ rEVIM Fast Lock MEDLENNEE PRI S^ITYWANII FAJLOW KE[A,^EM REVIM Lazy Lock PRI
PODSWETKE BUFERA;SLEDOWATELXNO,REVIM Fast Lock MEDLENNEE PRI OBRA]ENII K FAJLAM,
^EM REVIM Lazy Lock.
пЂЏ rEVIM Lazy Lock RABOTAET WO WREMQ PROKRUTKI OKNA,^TOBY RASKRASITX TEKST,WY-
NOSIMYJ NA\KRAN;SLEDOWATELXNO,PROKRUTKA MEDLENNEE,^EM W PROSTOM REVIME Font
Lock.
пЂЏ rEVIM Lazy Lock NE PODSWE^IWAET BUFER W PROCESSE REDAKTIROWANIQ (ON OTKLADYWAET
PODSWETKU IZMENENIJ);SLEDOWATELXNO,REDAKTIROWANIE W NEM BYSTREE,^EM W PROSTOM
REVIME Font Lock.
пЂЏ rEVIM Fast Lock MOVET BYTX SBIT S TOLKU FAJLOM,NAHODQ]IMSQ POD KONTROLEM SI-
STEMY UPRAWLENIQ WERSIQMI;SLEDOWATELXNO,PODSWETKA BUFERA MOVET PROIZWODITXSQ,
DAVE ESLI DLQ\TOGO FAJLA ESTX FAJL KE[A.
пЂЏ rEVIM Fast Lock RABOTAET TOLXKO S BUFERAMI,OBRA][email protected]]IMISQ K FAJLAM;REVIM Lazy
Lock RABOTAET S [email protected] BUFERAMI.
пЂЏ rEVIM Fast Lock SOZDAET FAJLY KE[A;REVIM Lazy Lock NE SOZDAET.
pEREMENNAQ font-lock-support-mode UKAZYWAET,KAKOJ IZ\TIH REVIMOW PODDERVKI SLE-
DUET ISPOLXZOWATX;NAPRIMER,^TOBY SKAZATX,^TO W REVIMAH C/C++ ISPOLXZUETSQ REVIM
Fast Lock,A W OSTALXNYH SLU^AQH |REVIM Lazy Lock,USTANOWITE\TU [email protected] TAK:
(setq font-lock-support-mode
'((c-mode.fast-lock-mode) (c++-mode.fast-lock-mode)
(t.lazy-lock-mode)))
160 rUKOWODSTWO PO GNU Emacs17.16 rEVIM Highlight Changes
iSPOLXZUJTE M-x highlight-changes-mode,^TOBY [email protected]^ITX WTOROSTEPENNYJ REVIM,
KOTORYJ POKAZYWAET S POMO][email protected] RAZNYH NA^ERTANIJ (W OSNOWNOM CWETOW),KAKIE ^ASTI TEK-
STA BUFERA IZMENQLISX NEDAWNO.
17.17 dRUGIE WOZMOVNOSTI X Windows
[email protected]]IE KOMANDY [email protected] WAM SOZDAWATX I UDALQTX FREJMY,A TAKVE DELATX DRU-
GIE OPERACII NAD NIMI:
C-z mINIMIZIRUET WYBRANNYJ FREJM (iconify-or-deiconify-frame).oBY^NOE
ZNA^ENIE C-z,PRIOSTANOWKA Emacs,BESPOLEZNO POD OKONNOJ SISTEMOJ,PO\TO-
MU W DANNOM SLU^AE U\TOGO [email protected]^A DRUGAQ PRIWQZKA.
eSLI WY WWEDETE\TU KOMANDU W PIKTOGRAMME FREJMA Emacs,ONA DEMINIMIZI-
RUET\TOT FREJM.
C-x 5 0 uDALQET WYBRANNYJ FREJM (delete-frame).|TO NE DOPUSKAETSQ,ESLI ESTX
TOLXKO ODIN FREJM.
C-x 5 o wYBIRAET DRUGOJ FREJM,PODNIMAET EGO I PERENOSIT W NEGO MY[X,^TOBY ON
OSTAWALSQ WYBRANNYM.eSLI WY POWTORQETE\TU KOMANDU,ONA CIKLI^ESKI PRO-
HODIT PO WSEM FREJMAM NA WA[EM TERMINALE.
17.18 nEOKONNYE TERMINALY
eSLI WA[ TERMINAL NE OBLADAET OKONNOJ SISTEMOJ,[email protected] PODDERVIWAET Emacs,TO
ON MOVET POKAZYWATX TOLXKO ODIN FREJM Emacs W ODIN MOMENT WREMENI.oDNAKO,WY WSE
VE MOVETE SOZDAWATX NESKOLXKO FREJMOW Emacs I [email protected]^ATXSQ MEVDU NIMI.nA TAKIH
TERMINALAH [email protected]^ENIE FREJMOW WO MNOGOM POHOVE NA [email protected]^ENIE MEVDU RAZLI^NYMI
KONFIGURACIQMI OKON.
~TOBY SOZDATX NOWYJ FREJM I [email protected]^ITXSQ W NEGO,ISPOLXZUJTE C-x 5 2;DLQ KRU-
GOWOGO PROHODA PO SU][email protected]]IM FREJMAM ISPOLXZUJTE C-x 5 o;^TOBY UDALITX TEKU]IJ
FREJM,ISPOLXZUJTE C-x 5 0.
kAVDYJ FREJM IMEET OTLI^ITELXNYJ NOMER.eSLI WA[ TERMINAL MOVET POKAZYWATX
W ODNO WREMQ TOLXKO ODIN FREJM,TO OKOLO NA^ALA STROKI REVIMA POQWLQETSQ NOMER n
TEKU]EGO FREJMA W FORME`Fn'.
`Fn'NA SAMOM DELE |\TO IMQ FREJMA.wY TAKVE MOVETE UKAZATX DRUGOE IMQ,ESLI
HOTITE,I WY MOVETE WYBIRATX FREJMY PO IMENAM.~TOBY ZADATX NOWOE IMQ DLQ TEKU]EGO
FREJMA,ISPOLXZUJTE KOMANDU M-x set-frame-name hRETi IMQ hRETi,A DLQ WYBORA FREJMA W
SOOTWETSTWII S EGO IMENEM ISPOLXZUJTE M-x select-frame-by-name hRETi IMQ hRETi.uKA-
ZANNOE WAMI IMQ POQWLQETSQ W STROKE REVIMA,KOGDA\TOT FREJM STANOWITSQ WYBRANNYM.
gLAWA 18:pODDERVKA RAZNYH QZYKOW 16118 pODDERVKA RAZNYH QZYKOW
Emacs PODDERVIWAET [IROKIJ SPEKTR NABOROW ZNAKOW RAZNYH QZYKOW,[email protected]^AQ EWROPEJ-
SKIE WARIANTY LATINSKOGO ALFAWITA,A TAKVE [email protected],DEWANGARI (HINDI I MARATHI),
\[email protected],GRE^[email protected],IPA,[email protected],[email protected],[email protected],[email protected],[email protected],TIBET-
[email protected] I [email protected] PISXMENNOSTI.|TI WOZMOVNOSTI BYLI WNESENY IZ IZMENENNOJ WERSII
Emacs,IZWESTNOJ KAK MULE (OT\MULti-lingual Enhancement to GNU Emacs".
1
)
18.1 wWEDENIE W NABORY ZNAKOW RAZNYH QZYKOW
pOLXZOWATELI\TIH SISTEM PISXMA WYRABOTALI MNOGO BOLEE ILI MENEE STANDARTNYH SI-
STEM KODIROWANIQ DLQ HRANENIQ FAJLOW.wNUTRENNE Emacs ISPOLXZUET [email protected] MNOGOBAJT-
[email protected] KODIROWKU,TAK ^TO W NEJ MOVNO PEREME[IWATX ZNAKI IZ WSEH\TIH SISTEM PISXMA W
ODNOM BUFERE ILI STROKE.|TA KODIROWKA PREDSTAWLQET KAVDYJ ZNAK,NE WHODQ]IJ W ASCII,
KAK POSLEDOWATELXNOSTX BAJT W PROMEVUTKE OT 0200 DO 0377.Emacs PEREWODIT IZ\TOJ MNO-
GOBAJTNOJ KODIROWKI W RAZLI^NYE DRUGIE SISTEMY KODIROWANIQ PRI S^ITYWANII I ZAPISI
FAJLOW,PRI OBMENE DANNYMI S PODPROCESSAMI I (W NEKOTORYH SLU^AQH) W KOMANDE C-q (SM.rAZDEL 18.6 [mNOGOBAJTNYE PREOBRAZOWANIQ],S.164).
kOMANDA C-h h (view-hello-file) WYWODIT FAJL`etc/HELLO',KOTORYJ POKAZYWAET,KAK
SKAZATX\ZDRAWSTWUJTE"NA RAZNYH QZYKAH.|TO [email protected] RAZLI^NYE WIDY PISXMENNO-
STI.
dAVE W STRANAH,GDE [email protected]\TI ZNAKI,NA KLAWIATURAH OBY^NO NET KLAWI[ DLQ
WSEH IZ NIH.pO\TOMU Emacs PODDERVIWAET RAZLI^NYE METODY WWODA,KAK PRAWILO,ODIN
DLQ KAVDOJ PISXMENNOSTI ILI QZYKA,^TOBY IH BYLO UDOBNO WWODITX.
pREFIKSNYJ [email protected]^ C-x h RETi ISPOLXZUETSQ DLQ KOMAND,KOTORYE [email protected] OTNO[ENIE K
MNOGOBAJTNYM ZNAKAM,SISTEMAM KODIROWANIQ I METODAM WWODA.
18.2 [email protected]^ENIE PODDERVKI MNOGOBAJTNYH ZNAKOW
wY MOVETE [email protected]^ITX ILI [email protected]^ITX PODDERVKU MNOGOBAJTNYH ZNAKOW LIBO DLQ WSEGO
Emacs,LIBO DLQ OTDELXNOGO BUFERA.kOGDA W BUFERE [email protected]^ENY MNOGOBAJTNYE ZNAKI,
KAVDYJ BAJT W NEM PREDSTAWLQET ODIN ZNAK,DAVE KODY OT 0200 DO 0377.sTARYE SREDSTWA
DLQ PODDERVKI EWROPEJSKIH NABOROW ZNAKOW,ISO Latin-1 I ISO Latin-2,[email protected] TAK VE,
KAK ONI RABOTALI W Emacs 19,I KROME TOGO,[email protected] DLQ DRUGIH NABOROW ZNAKOW ISO 8859.
oDNAKO,^TOBY ISPOLXZOWATX ISO Latin,NEOBQZATELXNO [email protected]^ATX PODDERVKU MNOGO-
BAJTNYH ZNAKOW;MNOGOBAJTNYJ NABOR ZNAKOW Emacs [email protected]^AET WSE\TI ZNAKI,I Emacs
MOVET AWTOMATI^ESKI PEREWODITX IZ NEGO W KODY ISO I NAOBOROT.
~TOBY OTREDAKTIROWATX OPREDELENNYJ FAJL W ODNOBAJTNOM PREDSTAWLENII,OBRATITESX
K NEMU ^EREZ find-file-literally.sM.rAZDEL 14.2 [oBRA]ENIE],S.106.~TOBY PREWRA-
TITX BUFER W MNOGOBAJTNOM PREDSTAWLENII W ODNOBAJTNOE PREDSTAWLENIE TEH VE ZNAKOW,
PRO]E WSEGO SOHRANITX SODERVIMOE\TOGO BUFERA W FAJLE,UNI^TOVITX EGO I SNOWA OBRA-
TITXSQ K\TOMU FAJLU S POMO][email protected] find-file-literally.wY TAKVE MOVETE ISPOLXZOWATX
C-x
h RETi c (universal-coding-system-argument) I UKAZATX`raw-text'W KA^ESTWE SISTEMY
KODIROWANIQ DLQ OBRA]ENIQ K FAJLU ILI DLQ EGO SOHRANENIQ.sM.rAZDEL 18.9 [zADANIE
KODIROWANIQ],S.168.oBRA]ENIE K FAJLU KAK K`raw-text'NE [email protected]^AET PREOBRAZOWA-
NIE FORMATA,[email protected] I AWTOMATI^ESKIJ WYBOR REVIMA,W OTLI^IE OT find-file-
literally.1
mNOGOQZYKOWOE RAS[IRENIE GNU Emacs.(pRIM.PEREWOD^IKA)
162 rUKOWODSTWO PO GNU Emacs~TOBY [email protected]^ITX PODDERVKU MNOGOBAJTNYH ZNAKOW PO UMOL^[email protected],ZAPUSTITE Emacs
S [email protected]^OM`-unibyte'(SM.rAZDEL A.2 [[email protected]^I ZAPUSKA],S.386) ILI USTANOWITE PEREMEN-
[email protected] SREDY EMACS_UNIBYTE.wY TAKVE MOVETE NASTROITX PARAMETR enable-multibyte-
characters ILI,^TO\KWIWALENTNO,PRQMO USTANOWITX [email protected] default-enable-
multibyte-characters W WA[EM FAJLE INICIALIZACII,\TO DAET W OSNOWNOM TOT VE\FFEKT,
^TO I`-unibyte'.
wO WREMQ INICIALIZACII NE [email protected] MNOGOBAJTNYE STROKI IZ ZNA^ENIJ PEREMENNYH
SREDY,WHOVDENIJ FAJLA`/etc/passwd',etc.,KOTORYE SODERVAT NE WHODQ]IE W ASCII WOSX-
MIBITNYE ZNAKI.oDNAKO,FAJL INICIALIZACII OBY^NO S^ITYWAETSQ KAK MNOGOBAJTNYJ |
KAK WSE FAJLY NA lISPE | DAVE ESLI ZADAN [email protected]^`-unibyte'.~TOBY IZBEVATX SOZDANIQ
MNOGOBAJTNYH STROK IZ NAHODQ]IHSQ W\TOM FAJLE STROK S NE-ASCII-ZNAKAMI,POMESTITE W
EGO PERWOJ STROKE KOMMENTARIJ S TEKSTOM`-*-unibyte:t;-*-'.dLQ FAJLOW INICIALIZACII
DRUGIH PAKETOW,WRODE Gnus,NUVNO SDELATX TO VE SAMOE.
w STROKE REVIMA POKAZANO,[email protected]^ENA LI PODDERVKA MNOGOBAJTNYH ZNAKOW W TEKU]EM
BUFERE.eSLI ONA [email protected]^ENA,PERED DWOETO^IEM W NA^ALE STROKI REVIMA STOQT DWA ILI
BOLEE ZNAKA (^A]E WSEGO DWA DEFISA).kOGDA MNOGOBAJTNYE ZNAKI NE [email protected]^ENY,PERED
DWOETO^IEM ESTX TOLXKO ODIN DEFIS.
18.3 qZYKOWYE SREDY
wSE PODDERVIWAEMYE NABORY ZNAKOW DOPUSTIMY W BUFERAH Emacs,ESLI [email protected]^ENY MNOGO-
BAJTNYE ZNAKI;NET NEOBHODIMOSTI WYBIRATX KONKRETNYJ QZYK,^TOBY UWIDETX EGO ZNAKI W
BUFERE Emacs.oDNAKO,WAVNO WYBRATX [email protected] SREDU,^TOBY POLU^ITX RAZLI^NYE USTA-
NOWKI PO UMOL^[email protected] SAMOM DELE QZYKOWAQ SREDA PREDSTAWLQET WYBOR PREDPO^TITELXNOJ
PISXMENNOSTI (W BOLX[EJ ILI MENX[EJ STEPENI),A NE WYBOR QZYKA.
qZYKOWAQ SREDA OPREDELQET,KAKIE SISTEMY KODIROWANIQ [email protected] PRI S^ITYWANII
TEKSTA (SM.rAZDEL 18.8 [rASPOZNAWANIE KODIROWANIQ],S.166).|TO OTNOSITSQ K FAJLAM,
PRIHODQ]EJ PO^TE,SETEWYM NOWOSTQM I [email protected] DRUGOMU TEKSTU,KOTORYJ WY S^ITYWAETE W
Emacs.oNA TAKVE MOVET ZADAWATX SISTEMU KODIROWANIQ,[email protected] PO UMOL^[email protected] DLQ
SOZDANIQ FAJLA.kAVDAQ QZYKOWAQ SREDA TAKVE UKAZYWAET PRINIMAEMYJ PO UMOL^[email protected]
METOD WWODA.
qZYKOWAQ SREDA WYBIRAETSQ KOMANDOJ M-x set-language-environment.nE IMEET ZNA^E-
NIQ,KAKOJ BUFER QWLQETSQ TEKU]IM WO WREMQ ZAPUSKA\TOJ KOMANDY,POTOMU ^TO EE DEJ-
STWIQ [email protected] GLOBALXNO KO WSEMU SEANSU Emacs.pODDERVIWAEMYE QZYKOWYE SREDY
[email protected]^[email protected]:
Chinese-BIG5,Chinese-CNS,Chinese-GB,Cyrillic-Alternativnyj,Cyrillic-ISO,
Cyrillic-KOI8,Devanagari,English,Ethiopic,Greek,Hebrew,Japanese,Korean,
Lao,Latin-1,Latin-2,Latin-3,Latin-4,Latin-5,Thai,Tibetan I Vietnamese.
nEKOTORYE OPERACIONNYE SISTEMY [email protected] WAM UKAZATX ISPOLXZUEMYJ WAMI QZYK PU-
TEM USTANOWKI PEREMENNYH SREDY,[email protected]]IH WA[U MESTNOSTX.Emacs MOVET OBRA-
BATYWATX ODIN RASPROSTRANENNYJ ^ASTNYJ SLU^AJ:ESLI NAZWANIE WA[EJ REGIONALXNOJ
USTANOWKI DLQ TIPOW ZNAKOW SODERVIT STROKU`8859-n',Emacs AWTOMATI^ESKI WYBIRAET
[email protected]][email protected] [email protected] SREDU.
~TOBY POLU^ITX SWEDENIQ OB\FFEKTAH OPREDELENNOJ QZYKOWOJ SREDY QZ-SREDA,ISPOLX-
ZUJTE KOMANDU C-h L QZ-SREDA
h RETi (describe-language-environment).|TO SOOB]IT WAM,
DLQ KAKIH QZYKOW POLEZNA DANNAQ QZYKOWAQ SREDA,I PERE^ISLIT PRIHODQ]IE S NEJ NABORY
ZNAKOW,SISTEMY KODIROWANIQ I METODY WWODA.|TA KOMANDA TAKVE POKAZYWAET OBRAZCY
TEKSTA,KOTORYE [email protected]@T ISPOLXZUEMYE W\TOJ QZYKOWOJ SREDE SISTEMY PISXMA.pO
UMOL^[email protected] ONA OPISYWAET [email protected] [email protected] SREDU.
wY MOVETE NASTROITX DLQ SEBQ [email protected]@ [email protected] SREDU S POMO][email protected] OBY^NOJ LOWU[KI
set-language-environment-hook.kOMANDA set-language-environment ZAPUSKAET\TU LO-
gLAWA 18:pODDERVKA RAZNYH QZYKOW 163WU[KU POSLE PODGOTOWKI NOWOJ QZYKOWOJ SREDY.fUNKCII\TOJ LOWU[KI MOGUT OPREDELITX
TEKU][email protected] [email protected] SREDU PO ZNA^[email protected] PEREMENNOJ current-language-environment.
dO NA^ALA PODGOTOWKI NOWOJ QZYKOWOJ SREDY,KOMANDA set-language-environment ZA-
PUSKAET LOWU[KU exit-language-environment-hook.|TA LOWU[KA POLEZNA DLQ OTMENY NA-
STROEK,SDELANNYH S POMO][email protected] set-language-environment-hook.k PRIMERU,ESLI WY USTA-
NOWILI S ISPOLXZOWANIEM set-language-environment-hook OSOBYE PRIWQZKI [email protected]^EJ DLQ
KONKRETNOJ QZYKOWOJ SREDY,WAM STOIT SDELATX TAK,^TOBY exit-language-environment-
hook WOSSTANAWLIWALA NORMALXNYE PRIWQZKI.
18.4 mETODY WWODA
mETOD WWODA |\TO RAZNOWIDNOSTX PREOBRAZOWANIQ ZNAKOW,RAZRABOTANNAQ SPECIALXNO
DLQ INTERAKTIWNOGO WWODA.w Emacs,KAK PRAWILO,KAVDYJ QZYK IMEET SWOJ METOD WWODA;
INOGDA NESKOLXKO QZYKOW,W KOTORYH [email protected] ODNI I TE VE ZNAKI,MOGUT RAZDELQTX
ODIN METOD WWODA.eSTX NEMNOGO QZYKOW,KOTORYE [email protected] NESKOLXKO METODOW WWODA.
w PROSTEJ[EM SLU^AE METOD WWODA RABOTAET ^EREZ OTOBRAVENIE ASCII-BUKW W DRUGOJ
ALFAWIT.tAKIM SPOSOBOM [email protected] METODY WWODA DLQ GRE^ESKOGO I RUSSKOGO.
bOLEE MO]NYJ SPOSOB |SOSTAWLENIE:PREOBRAZOWANIE POSLEDOWATELXNOSTI ZNAKOW W ODNU
BUKWU.sOSTAWLENIE ISPOLXZUETSQ WO MNOGIH EWROPEJSKIH METODAH WWODA DLQ SOZNANIQ ODNOJ
NE-ASCII-BUKWY IZ POSLEDOWATELXNOSTI,SOSTOQ]EJ IZ BUKWY,ZA KOTOROJ IDET ZNAK AKCENTA
(ILI NAOBOROT).nAPRIMER,NEKOTORYE METODY WWODA [email protected] POSLEDOWATELXNOSTX a'W
ODNU BUKWU S AKCENTOM.w\TIH METODAH WWODA NET SOBSTWENNYH SPECIALXNYH KOMAND;WS<,
^TO ONI [email protected],|[email protected] POSLEDOWATELXNOSTI PE^ATNYH ZNAKOW.
mETODY WWODA DLQ SILLABI^ESKIH SISTEM PISXMA OBY^NO [email protected] POSLEDOWATELXNO
OTOBRAVENIE I ZATEM SOSTAWLENIE.tAKIM SPOSOBOM [email protected] METODY WWODA DLQ TAJSKOGO
I KOREJSKOGO.sNA^ALA BUKWY [email protected] W SIMWOLY OTDELXNYH ZWUKOW ILI METOK TONA;
ZATEM TAKIE POSLEDOWATELXNOSTI,[email protected]]IE CELYJ SLOG,[email protected] W ODIN ZNAK
SLOGA.
dLQ KITAJSKOGO I QPONSKOGO [email protected] BOLEE SLOVNYE METODY.w KITAJSKIH METO-
DAH WWODA WY SNA^ALA WWODITE FONETI^ESKOE NAPISANIE KITAJSKOGO SLOWA (W METODE WWODA
chinese-py,POMIMO PRO^IH) ILI POSLEDOWATELXNOSTX ^ASTEJ ZNAKA (METODY WWODA chinese-
4corner,chinese-sw I DRUGIE).pOSKOLXKU ODNO FONETI^ESKOE NAPISANIE OBY^NO SOOTWET-
STWUET MNOGIM RAZLI^NYM KITAJSKIM ZNAKAM,WY DOLVNY WYBRATX ODNU IZ ALXTERNATIW
S POMO][email protected] OSOBYH KOMAND Emacs.tAKIE [email protected]^I,KAK C-f,C-b,C-n,C-p,I CIFRY [email protected]
W\TOJ SITUACII OSOBYE OPREDELENIQ,ISPOLXZUEMYE DLQ WYBORA SREDI ALXTERNATIW.
hTABi
WYWODIT BUFER,[email protected]]IJ WSE WOZMOVNYE WARIANTY.
w QPONSKIH METODAH WWODA WY SNA^ALA WWODITE CELOE SLOWO,ISPOLXZUQ FONETI^ESKOE NA-
PISANIE;POTOM,KOGDA\TO SLOWO UVE W BUFERE,Emacs PREOBRAZUET EGO W ODIN ILI NESKOLXKO
ZNAKOW,ISPOLXZUQ BOLX[OJ SLOWARX.oDNO FONETI^ESKOE NAPISANIE SOOTWETSTWUET MNOGIM
PO-RAZNOMU ZAPISANNYM QPONSKIM SLOWAM,PO\TOMU WY DOLVNY WYBRATX ODIN IZ NIH;DLQ
CIKLI^ESKOGO PROHODA PO ALXTERNATIWAM ISPOLXZUJTE C-n I C-p.
iNOGDA POLEZNO OSTANOWITX DEJSTWIE METODA WWODA,^TOBY TOLXKO ^TO WWEDENNYE WAMI
ZNAKI NE SLIWALISX S [email protected]]IMI.nAPRIMER,W METODE WWODA latin-1-postfix POSLE-
DOWATELXNOSTX e'KOMBINIRUETSQ W`e'S AKCENTOM.~TO ESLI WY HOTELI WWESTI IH KAK
RAZDELXNYE ZNAKI?
oDIN SPOSOB | NABRATX AKCENT DWAVDY;\TO SPECIALXNOE SREDSTWO DLQ WWODA BUKWY I
AKCENTA RAZDELXNO.nAPRIMER,e''DAET DWA ZNAKA`e''.dRUGOJ SPOSOB | NABRATX POSLE
`e'E]E ODNU BUKWU,KOTORAQ NE SKOMBINIRUETSQ S NEJ,I SRAZU UDALITX EE.nAPRIMER,WY
MOGLI BY NABRATX e e
h DELi',^TOBY POLU^ITX RAZDELXNYE`e'I`''.
e]E ODIN SPOSOB,BOLEE OB]IJ,NO NE TAKOJ LEGKIJ DLQ NABORA,| ISPOLXZOWATX MEV-
DU DWUMQ ZNAKAMI C-\C-\,^TOBY PREDOTWRATITX IH KOMBINIROWANIE.|TO KOMANDA C-\
(toggle-input-method),PRIMENENNAQ DWAVDY.
164 rUKOWODSTWO PO GNU EmacsC-\C-\OSOBENNO POLEZNA W NARA]IWAEMOM POISKE,POSKOLXKU ONA OSTANAWLIWAET OVIDA-
NIE DALXNEJ[IH ZNAKOW DLQ SOSTAWLENIQ I NA^INAET POISK TOGO,^TO WY UVE NABRALI.
pEREMENNYE input-method-highlight-flag I input-method-verbose-flag [email protected]
TEM,KAK METODY WWODA [email protected] PROISHODQ]EE.eSLI input-method-highlight-flag NE
RAWNA nil,^ASTI^NAQ POSLEDOWATELXNOSTX PODSWE^IWAETSQ W BUFERE.eSLI input-method-
verbose-flag NE RAWNA nil,W\HO-OBLASTI POKAZYWAETSQ SPISOK WOZMOVNYH [email protected]]IH
ZNAKOW (NO NE W TOM SLU^AE,KOGDA WY NAHODITESX W MINIBUFERE).
18.5 wYBOR METODA WWODA
C-\[email protected]^AET ILI [email protected]^AET ISPOLXZOWANIE WYBRANNOGO METODA WWODA.
C-x hRETi C-\METOD hRETi
wYBIRAET NOWYJ METOD WWODA DLQ TEKU]EGO BUFERA.
C-h I METOD h RETi
C-h C-\METOD h RETi
oPISYWAET METOD WWODA METOD (describe-input-method).pO UMOL^[email protected],ONA
OPISYWAET TEKU]IJ METOD WWODA (ESLI ON ESTX).tAKOE OPISANIE DOLVNO DAWATX
WAM WSE PODROBNOSTI O TOM,KAK ISPOLXZOWATX [email protected] KONKRETNYJ METOD WWODA.
M-x list-input-methods
wYWODIT PERE^ENX WSEH PODDERVIWAEMYH METODOW WWODA.
~TOBY WYBRATX METOD WWODA DLQ TEKU]EGO BUFERA,ISPOLXZUJTE C-x
hRETi C-\(set-
input-method).|TA KOMANDA S^ITYWAET IMQ METODA WWODA IZ MINIBUFERA;IMQ OBY^NO
NA^INAETSQ S QZYKOWOJ SREDY,DLQ KOTOROJ\TOT METOD PREDNAZNA^ALSQ.w PEREMENNOJ
current-input-method ZAPISYWAETSQ,KAKOJ METOD WWODA BYL WYBRAN.
mETODY WWODA [email protected] DLQ OBOZNA^ENIQ ZNAKOW,NE WHODQ]IH W ASCII,RAZLI^NYE PO-
SLEDOWATELXNOSTI ASCII-ZNAKOW.iNOGDA BYWAET POLEZNO WREMENNO [email protected]^ITX METOD WWODA.
~TOBY SDELATX\TO,NABERITE C-\(toggle-input-method).~TOBY OPQTX ZADEJSTWOWATX ME-
TOD WWODA,NABERITE C-\SNOWA.
eSLI WY NAPE^ATAETE C-\,NO METOD WWODA POKA NE WYBRAN,WAS POPROSQT UKAZATX EGO.
|TO IMEET TOT VE\FFEKT,^TO I ISPOLXZOWANIE C-x
h RETi C-\DLQ ZADANIQ METODA WWODA.
wYBOR QZYKOWOJ SREDY OPREDELQET METOD WWODA,ISPOLXZUEMYJ PO UMOL^[email protected] WY
MOVETE WYBRATX EGO W TEKU]EM BUFERE,NABIRAQ C-\.pEREMENNAQ default-input-method
ZADAET METOD WWODA,PRINIMAEMYJ PO UMOL^[email protected] (nil OZNA^AET,^TO TAKOGO NET).
nEKOTORYE METODY WWODA DLQ ALFAWITNYH SISTEM PISXMA [email protected] PUTEM
OTOBRAVENIQ KLAWIATURY DLQ\MULQCII RAZLI^NYH RASKLADOK,^ASTO ISPOLXZUEMYH
DLQ\TIH SISTEM PISXMA.kAK PRAWILXNO SDELATX\TO OTOBRAVENIE,ZAWISIT OT
DEJSTWITELXNOJ RASKLADKI WA[EJ KLAWIATURY.~TOBY UKAZATX EE,ISPOLXZUJTE KOMANDU
M-x quail-set-keyboard-layout.
~TOBY PROSMOTRETX PERE^ENX WSEH PODDERVIWAEMYH METODOW WWODA,NABERITE M-x
list-input-methods.pERE^ENX SOOB]AET SWEDENIQ O KAVDOM METODE WWODA,[email protected]^AQ STRO-
KU,OBOZNA^[email protected]][email protected]\TOT METOD WWODA W STROKE REVIMA.
18.6 oDNOBAJTNYE I MNOGOBAJTNYE NE-ASCII-ZNAKI
kOGDA [email protected]^ENY MNOGOBAJTNYE ZNAKI,ZNAKI S KODAMI OT 0240 (WOSXMIRI^NOE) DO 0377
(WOSXMIRI^NOE) NA SAMOM DELE NEDOPUSTIMY W BUFERE.dOPUSTIMYE PE^ATNYE ZNAKI,NE
WHODQ]IE W ASCII,[email protected] KODY,NA^[email protected]]IESQ OT 0400.
eSLI WY NABIRAETE [email protected]]IJSQ ZNAK W NEDOPUSTIMOM DIAPAZONE OT 0240 DO 0377,
Emacs PREDPOLAGAET,^TO WY NAMEREWALISX ISPOLXZOWATX ODIN IZ NABOROW ZNAKOW Latin-n,I
gLAWA 18:pODDERVKA RAZNYH QZYKOW 165PREOBRAZUET EGO W KOD Emacs,[email protected]]IJ\TOT ZNAK Latin-n.wY UKAZYWAETE,KAKOJ
NABOR ZNAKOW ISO NUVNO DLQ\TOGO PRIMENQTX,SWOIM WYBOROM QZYKOWOJ SREDY (SMOTRITE
WY[E).eSLI WY NE UKAZALI SWOJ WYBOR,PO UMOL^[email protected] ISPOLXZUETSQ Latin-1.
tO VE PROISHODIT,KOGDA WY ISPOLXZUETE C-q DLQ WWODA WOSXMIRI^NOGO KODA W\TOM
DIAPAZONE.
18.7 sISTEMY KODIROWANIQ
nOSITELI RAZLI^NYH QZYKOW WYRABOTALI MNOGO BOLEE ILI MENEE STANDARTNYH SISTEM
KODIROWANIQ DLQ IH PREDSTAWLENIQ.Emacs NE ISPOLXZUET\TI SISTEMY KODIROWANIQ WNU-
TRENNE;WMESTO\TOGO,PRI S^ITYWANII DANNYH ON PREOBRAZUET IH IZ RAZLI^NYH SISTEM
KODIROWANIQ W [email protected] [email protected]@,A PRI ZAPISI ON PREOBRAZUET DANNYE IZ WNUTRENNEJ SI-
STEMY KODIROWANIQ W DRUGIE SISTEMY.pREOBRAZOWANIE WOZMOVNO PRI S^ITYWANII I ZAPISI
FAJLOW,OTPRAWKE ILI POLU^ENII DANNYH S TERMINALA I PRI OBMENE DANNYMI S PODPROCES-
SAMI.
Emacs PRISWAIWAET KAVDOJ SISTEME KODIROWANIQ SWOE IMQ.bOLX[INSTWO SISTEM KODI-
ROWANIQ [email protected] DLQ ODNOGO QZYKA,I IMQ TAKOJ SISTEMY KODIROWANIQ NA^INAETSQ
S IMENI QZYKA.nEKOTORYE SISTEMY KODIROWANIQ [email protected] DLQ NESKOLXKIH QZYKOW;
IH IMENA OBY^NO NA^[email protected] S`iso'.eSTX TAKVE SPECIALXNYE SISTEMY KODIROWANIQ no-
conversion,raw-text I emacs-mule,KOTORYE NE [email protected] PREOBRAZOWANIQ PE^ATNYH ZNAKOW
WOOB]E.
pOMIMO PREOBRAZOWANIJ MEVDU RAZNYMI PREDSTAWLENIQMI NE-ASCII-ZNAKOW,SISTEMA KO-
DIROWANIQ MOVET PROIZWODITX PREOBRAZOWANIE POSLEDOWATELXNOSTI\KONEC-STROKI".Emacs
RABOTAET S TREMQ RAZLI^NYMI SOGLA[ENIQMI O TOM,KAK RAZDELQTX STROKI W FAJLE:PERE-
WODOM STROKI,WOZWRATOM KARETKI I PEREWODOM STROKI I PROSTO WOZWRATOM KARETKI.
C-h C KODIROWANIE hRETi
oPISYWAET SISTEMU KODIROWANIQ KODIROWANIE.
C-h C
h RETi
oPISYWAET SISTEMU KODIROWANIQ,[email protected] W DANNYJ MOMENT.
M-x list-coding-systems
wYWODIT PERE^ENX WSEH PODDERVIWAEMYH SISTEM KODIROWANIQ.
kOMANDA C-h C (describe-coding-system) WYWODIT SWEDENIQ O KONKRETNOJ SISTEME KO-
DIROWANIQ.wY MOVETE ZADATX IMQ SISTEMY KODIROWANIQ W KA^ESTWE ARGUMENTA;INA^E,S
PUSTYM ARGUMENTOM,ONA OPI[ET SISTEMY KODIROWANIQ,WYBRANNYE W DANNYJ MOMENT DLQ
RAZLI^NYH CELEJ KAK W TEKU]EM BUFERE,TAK I PRINIMAEMYE PO UMOL^[email protected],A TAKVE PERE-
^ENX PRIORITETOW DLQ RASPOZNAWANIQ SISTEM KODIROWANIQ (SM.rAZDEL 18.8 [rASPOZNAWANIE
KODIROWANIQ],S.166 ).
~TOBY WYWESTI PERE^ENX WSEH PODDERVIWAEMYH SISTEM KODIROWANIQ,NABERITE M-x
list-coding-systems.|TOT PERE^ENX DAET [email protected] O KAVDOJ SISTEME KODIROWANIQ,
[email protected]^AQ BUKWU,OBOZNA^[email protected]][email protected] EE W STROKE REVIMA (SM.rAZDEL 1.3 [sTROKA REVIMA],S.25).
kAVDAQ SISTEMA KODIROWANIQ IZ PERE^ISLENNYH W\TOM SPISKE |KROME no-conversion,
^TO OZNA^AET NE DELATX NIKAKIH PREOBRAZOWANIJ | UKAZYWAET,KAK PREOBRAZOWYWATX PE-
^ATNYE ZNAKI I NUVNO LI\TO DELATX,NO OSTAWLQET WYBOR PREOBRAZOWANIQ KONCA-STROKI DO
RE[ENIQ,OSNOWANNOM NA SODERVIMOM FAJLA.nAPRIMER,ESLI OKAZALOSX,^TO W FAJLE DLQ
RAZDELENIQ STROK ISPOLXZUETSQ POSLEDOWATELXNOSTX WOZWRAT KARETKI-PEREWOD STROKI,BUDET
ISPOLXZOWANO PREOBRAZOWANIE IZ KONCA-STROKI DOS.
kAVDAQ IZ PERE^ISLENNYH SISTEM KODIROWANIQ IMEET TRI WARIANTA,KOTORYE TO^NO UKA-
[email protected],^TO DELATX DLQ PREOBRAZOWANIQ KONCA-STROKI:
166 rUKOWODSTWO PO GNU Emacs...-unix nE PROIZWODITX PREOBRAZOWANIQ KONCA-STROKI;PREDPOLAGAETSQ,^TO W FAJLE DLQ
RAZDELENIQ STROK ISPOLXZUETSQ PEREWOD STROKI.(|TO SOGLA[ENIE OBY^NO IS-
POLXZUETSQ W SISTEMAH Unix I GNU.)
...-dos pREDPOLAGATX,^TO W FAJLE DLQ RAZDELENIQ STROK ISPOLXZUETSQ WOZWRAT
KARETKI-PEREWOD STROKI,I DELATX [email protected]]EE PREOBRAZOWANIE.(|TO
SOGLA[ENIE OBY^NO ISPOLXZUETSQ W SISTEMAH Microsoft.
2
)
...-mac pREDPOLAGATX,^TO W FAJLE DLQ RAZDELENIQ STROK ISPOLXZUETSQ WOZWRAT KA-
RETKI,I DELATX [email protected]]EE PREOBRAZOWANIE.(|TO SOGLA[ENIE OBY^NO
ISPOLXZUETSQ W SISTEME Macintosh.)
|TI WARIANTY SISTEM KODIROWANIQ [email protected] DLQ KRATKOSTI W WYWODE list-coding-
systems,POSKOLXKU ONI [email protected] PREDSKAZUEMY.nAPRIMER,SISTEMA KODIROWANIQ iso-
latin-1 IMEET WARIANTY iso-latin-1-unix,iso-latin-1-dos I iso-latin-1-mac.
sISTEMA KODIROWANIQ raw-text HORO[A DLQ FAJLOW,KOTORYE SODERVAT W OSNOWNOM
ASCII-TEKST,NO MOGUT [email protected]^ATX BAJTY SO ZNA^ENIQMI WY[E 127,KOTORYE NE PREDNAZNA-
^ALISX DLQ KODIROWANIQ NE-ASCII-ZNAKOW.s raw-text,Emacs KOPIRUET\TI BAJTY BEZ
IZMENENIJ I,^TOBY ONI INTERPRETIROWALISX PRAWILXNO,USTANAWLIWAET W TEKU]EM BU-
FERE enable-multibyte-characters RAWNOJ nil.raw-text OBRABATYWAET PREOBRAZOWANIE
KONCA-STROKI OBY^NYM SPOSOBOM,OSNOWYWAQSX NA UWIDENNYH DANNYH,I IMEET TRI OBY^NYH
WARIANTA DLQ UKAZANIQ NUVNOGO PREOBRAZOWANIQ KONCA-STROKI.
w PROTIWOPOLOVNOSTX\TOMU,SISTEMA KODIROWANIQ no-conversion NE ZADAET NIKAKOGO
PREOBRAZOWANIQ KODOW ZNAKOW WOOB]E | NI DLQ ZNA^ENIJ BAJT,WYHODQ]IH ZA PREDELY
ASCII,NI DLQ KONCA-STROKI.|TO POLEZNO DLQ S^ITYWANIQ I ZAPISI DWOI^NYH FAJLOW,
tar-FAJLOW I DRUGIH,KOTORYE NUVNO PROSMATRIWATX BUKWALXNO.oNA TOVE USTANAWLIWAET
enable-multibyte-characters W ZNA^ENIE nil.
pROSTEJ[IJ SPOSOB OTREDAKTIROWATX FAJL BEZ [email protected] PREOBRAZOWANIJ |WOSPOLXZOWATX-
SQ KOMANDOJ M-x find-file-literally.oNA ISPOLXZUET no-conversion,A TAKVE PODAWLQET
DRUGIE SREDSTWA Emacs,KOTORYE MOGLI BY PREOBRAZOWATX SODERVIMOE FAJLA DO TOGO,KAK
WY EGO UWIDITE.sM.rAZDEL 14.2 [oBRA]ENIE],S.106.
sISTEMA KODIROWANIQ emacs-mule POLAGAET,^TO FAJL SODERVIT NE-ASCII-ZNAKI WO WNU-
TRENNEJ KODIROWKE Emacs.oNA OBRABATYWAET PREOBRAZOWANIE KONCA-STROKI,OSNOWYWAQSX
NA UWIDENNYH DANNYH,I IMEET TRI OBY^NYH WARIANTA DLQ UKAZANIQ NUVNOGO PREOBRAZOWA-
NIQ KONCA-STROKI.
18.8 rASPOZNAWANIE SISTEM KODIROWANIQ
~A]E WSEGO Emacs MOVET RASPOZNATX,[email protected] SISTEMU KODIROWANIQ ON DOLVEN ISPOLXZO-
WATX DLQ [email protected] DANNOGO FAJLA,|ESLI WY UKAZALI SWOI PREDPO^TENIQ.
nEKOTORYE SISTEMY KODIROWANIQ MOGUT BYTX RASPOZNANY ILI WYDELENY PO TOMU,KAKIE
POSLEDOWATELXNOSTI ZNAKOW [email protected] SREDI DANNYH.oDNAKO,ESTX SISTEMY KODIROWANIQ,
KOTORYE NE MOGUT BYTX RAZLI^ENY,DAVE POTENCIALXNO.nAPRIMER,NET SPOSOBA OTLI^ITX
Latin-1 OT Latin-2;ONI [email protected] ODNI I TE VE ZNA^ENIQ BAJT S RAZNYMI SMYSLAMI.
Emacs SPRAWLQETSQ S TAKOJ SITUACIEJ PRI POMO]I SPISKA PRIORITETOW SISTEM KODI-
ROWANIQ.eSLI WY NE UKAZALI,[email protected] SISTEMU KODIROWANIQ NADO ISPOLXZOWATX,Emacs WO
WREMQ S^ITYWANIQ FAJLA SWERQET DANNYE S KAVDOJ SISTEMOJ KODIROWANIQ,NA^INAQ S PER-
WOJ PO PRIORITETU I PRODWIGAQSX WNIZ PO SPISKU,POKA NE NAJDET SISTEMU KODIROWANIQ,
PODHODQ][email protected] DLQ\TOGO FAJLA.zATEM ON PREOBRAZUET SODERVIMOE FAJLA,PREDPOLAGAQ,^TO
ONO PREDSTAWLENO W\TOJ SISTEME KODIROWANIQ.2
oNO TAKVE PREDPISANO DLQ TEL MIME`text/*'I DRUGIH KONTEKSTOW PERESYLKI PO SETI.|TO OTLI^AETSQ
OT FORMATA SINTAKSISA SSYLOK SGML NA^ALO-ZAPISI/KONEC-ZAPISI,KOTORYJ Emacs NE PODDERVIWAET
[email protected]
gLAWA 18:pODDERVKA RAZNYH QZYKOW 167sPISOK PRIORITETOW SISTEM KODIROWANIQ ZAWISIT OT WYBRANNOJ QZYKOWOJ SREDY (SM.rAZDEL 18.3 [qZYKOWYE SREDY],S.162).nAPRIMER,ESLI WY ISPOLXZUETE FRANCUZSKIJ,WY,
WEROQTNO,ZAHOTITE,^TOBY Emacs PREDPO^ITAL Latin-1,A NE Latin-2;A ESLI WY ISPOLXZU-
ETE ^E[SKIJ | ^TOBY PREDPO^TENIE OTDAWALOSX Latin-2.|TO ODNA IZ PRI^IN ZADAWATX
[email protected] SREDU.
oDNAKO,WY MOVETE DETALXNO IZMENQTX SPISOK PRIORITETOW S POMO][email protected] KOMANDY M-x
prefer-coding-system.|TA KOMANDA S^ITYWAET IMQ SISTEMY KODIROWANIQ W MINIBUFERE
I DOBAWLQET EE W NA^ALO SPISKA PRIORITETOW,TAK,^TOBY EJ OTDAWALOSX PREDPO^TENIE SREDI
OSTALXNYH.eSLI WY PRIMENQETE\TU KOMANDU NESKOLXKO RAZ,PRI KAVDOM ISPOLXZOWANII W
NA^ALO SPISKA PRIORITETOW DOBAWLQETSQ ODIN\LEMENT.
eSLI WY ISPOLXZUETE SISTEMU KODIROWANIQ,KOTORAQ OPREDELQET TIP PREOBRAZOWANIQ PO-
SLEDOWATELXNOSTI KONEC-STROKI,[email protected] KAK iso-8859-1-dos,TO\TO OZNA^AET,^TO Emacs
DOLVEN POPYTATXSQ RASPOZNATX PREDPO^TITELXNO iso-8859-1 I ISPOLXZOWATX PREOBRAZOWA-
NIE KONCA-STROKI DOS,ESLI iso-8859-1 BYLA RASPOZNANA.
iNOGDA IMQ FAJLA UKAZYWAET NA TO,KAKAQ SISTEMA KODIROWANIQ DOLVNA DLQ NEGO IS-
POLXZOWATXSQ.|TO SOOTWETSTWIE ZADAET PEREMENNAQ file-coding-system-alist.dLQ DO-
BAWLENIQ\LEMENTOW K\TOMU SPISKU ESTX OSOBAQ FUNKCIQ,modify-coding-system-alist.k
PRIMERU,^TOBY WSE`.txt'-FAJLY S^ITYWALISX I ZAPISYWALISX S ISPOLXZOWANIEM SISTEMY
KODIROWANIQ china-iso-8bit,WY MOVETE WYPOLNITX [email protected]]EE LISPOWSKOE WYRAVENIE:
(modify-coding-system-alist'file"\\.txt\\'"'china-iso-8bit)
pERWYM ARGUMENTOM DOLVEN BYTX file,WTORYM | REGULQRNOE WYRAVENIE,[email protected]]EE,
K KAKIM FAJLAM\TO OTNOSITSQ,A TRETIJ ARGUMENT GOWORIT,[email protected] SISTEMU KODIROWANIQ
PRIMENQTX DLQ\TIH FAJLOW.
Emacs UZNA<T,KAKOJ WID PREOBRAZOWANIQ KONCA-STROKI SLEDUET ISPOLXZOWATX,OSNOWYWA-
QSX NA SODERVIMOM FAJLA:ESLI ON WIDIT TOLXKO WOZWRATY KARETKI ILI TOLXKO POSLEDOWA-
TELXNOSTI WOZWRAT KARETKI-PEREWOD STROKI,TO WYBIRAET [email protected]]EE PREOBRAZOWANIE.
wY MOVETE PODAWITX AWTOMATI^ESKOE ISPOLXZOWANIE PREOBRAZOWANIQ KONCA-STROKI,USTANO-
WIW [email protected] inhibit-eol-conversion W ZNA^ENIE nil.
wY MOVETE UKAZATX SISTEMU KODIROWANIQ DLQ KONKRETNOGO FAJLA,PRIMENQQ KONSTRUK-
[email protected]`-*-...-*-'W NA^ALE\TOGO FAJLA ILI W SPISKE LOKALXNYH PEREMENNYH W EGO KONCE
(SM.rAZDEL 31.2.5 [pEREMENNYE FAJLA],S.351).wY DELAETE\TO,OPREDELQQ ZNA^ENIE DLQ
\PEREMENNOJ"S IMENEM coding.nA SAMOM DELE W Emacs NET PEREMENNOJ coding;WMESTO
USTANOWKI PEREMENNOJ ON ISPOLXZUET [email protected] SISTEMU KODIROWANIQ DLQ\TOGO FAJLA.
nAPRIMER,`-*-mode:C;coding:latin-1;-*-'WELIT ISPOLXZOWATX SISTEMU KODIROWANIQ
Latin-1 I REVIM C.eSLI WY QWNO UKAZALI SISTEMU KODIROWANIQ W FAJLE,ONA PEREKRYWAET
file-coding-system-alist.
pEREMENNAQ auto-coding-alist |\TO SAMYJ SILXNYJ SPOSOB UKAZATX SISTEMU KODIRO-
WANIQ DLQ OPREDELENNYH OBRAZCOW IMEN FAJLOW;\TA PEREMENNAQ DAVE PEREKRYWAET TEGI
`-*-coding:-*-'W SAMOM FAJLE.Emacs ISPOLXZUET\TO SREDSTWO DLQ tar-FAJLOW I ARHIWOW,
^TOBY IZBEVATX O[IBO^NOJ INTERPRETACII TEGA`-*-coding:-*-'W\LEMENTE ARHIWA KAK
OTNOSQ]EGOSQ KO WSEMU ARHIWNOMU FAJLU.
kOGDA Emacs WYBRAL SISTEMU KODIROWANIQ DLQ BUFERA,ON SOHRANQET EE W buffer-file-
coding-system I PO UMOL^[email protected] ISPOLXZUET\TU SISTEMU KODIROWANIQ DLQ OPERACIJ,KO-
TORYE [email protected]\TOT BUFER W FAJL.|TO [email protected]^AET KOMANDY save-buffer I write-
region.eSLI WY HOTITE ZAPISYWATX FAJLY IZ\TOGO BUFERA,ISPOLXZUQ [email protected] SISTEMU
KODIROWANIQ,WY MOVETE UKAZATX DLQ\TOGO FAJLA [email protected] SISTEMU KODIROWANIQ S POMO][email protected]
set-buffer-file-coding-system (SM.rAZDEL 18.9 [zADANIE KODIROWANIQ],S.168).
kOGDA WY POSYLAETE SOOB]ENIE S POMO][email protected] REVIMA Mail (SM.gLAWA 26 [pOSYLKA PO-
^TY],S.267 ),U Emacs ESTX ^ETYRE RAZNYH SPOSOBA UZNATX SISTEMU KODIROWANIQ DLQ TEKSTA
SOOB]ENIQ.oN PROBUET ZNA^ENIE buffer-file-coding-system,SOBSTWENNOE DLQ\TOGO BU-
FERA,ESLI ONO NE RAWNO nil.iNA^E,ON ISPOLXZUET ZNA^ENIE sendmail-coding-system,ESLI
168 rUKOWODSTWO PO GNU EmacsONO NE RAWNO nil.tRETIJ SPOSOB | ISPOLXZOWATX SISTEMU KODIROWANIQ,[email protected] PO
UMOL^[email protected] DLQ NOWYH FAJLOW,KOTORAQ UPRAWLQETSQ WA[EJ QZYKOWOJ SREDOJ,ESLI ONA NE
nil.eSLI WSE TRI\TI ZNA^ENIQ RAWNY nil,Emacs KODIRUET ISHODQ][email protected] PO^TU,ISPOLXZUQ
SISTEMU KODIROWANIQ Latin-1.
kOGDA WY POLU^AETE [email protected] PO^TU W Rmail,KAVDOE SOOB]ENIE AWTOMATI^ESKI PEREWODIT-
SQ IZ TOJ SISTEMY KODIROWANIQ,W KOTOROJ ONO BYLO NAPISANO | KAK ESLI BY ONO BYLO
OTDELXNYM FAJLOM.pRI\TOM ISPOLXZUETSQ ZADANNYJ WAMI SPISOK PRIORITETOW SISTEM
KODIROWANIQ.eSLI W SOOB]ENII W FORMATE MIME UKAZAN NABOR ZNAKOW,Rmail POD^INQETSQ
\TOMU [email protected],ESLI rmail-decode-mime-charset NE RAWNA nil.
dLQ S^ITYWANIQ I SOHRANENIQ SAMIH Rmail-FAJLOW Emacs ISPOLXZUET SISTEMU KODIRO-
WANIQ,[email protected] PEREMENNOJ rmail-file-coding-system.zNA^ENIE PO UMOL^[email protected] RAWNO
nil,^TO OZNA^AET,^TO Rmail-FAJLY NE PEREWODQTSQ (ONI S^[email protected] I [email protected] WO
WNUTRENNEJ KODIROWKE Emacs).
18.9 zADANIE SISTEMY KODIROWANIQ
w SLU^AQH,KOGDA Emacs NE MOVET AWTOMATI^ESKI PODOBRATX [email protected] SISTEMU KODI-
ROWANIQ,WY MOVETE UKAZATX EE QWNO S POMO][email protected] TAKIH KOMAND:
C-x
hRETi f KODIROWANIE hRETi
iSPOLXZOWATX SISTEMU KODIROWANIQ KODIROWANIE DLQ FAJLA,K KOTOROMU OBRA-
]AETSQ TEKU]IJ BUFER.
C-x h RETi c KODIROWANIE hRETi
zADAET SISTEMU KODIROWANIQ KODIROWANIE DLQ NEPOSREDSTWENNO [email protected]]EJ KO-
MANDY.
C-x h RETi k KODIROWANIE hRETi
iSPOLXZOWATX SISTEMU KODIROWANIQ KODIROWANIE DLQ WWODA S KLAWIATURY.
C-x
h RETi t KODIROWANIE hRETi
iSPOLXZOWATX SISTEMU KODIROWANIQ KODIROWANIE DLQ WYWODA NA TERMINAL.
C-x
h RETi p KOD-WWODA hRETi KOD-WYWODA hRETi
iSPOLXZOWATX SISTEMY KODIROWANIQ KOD-WWODA I KOD-WYWODA DLQ WWODA I WYWODA
PODPROCESSA TEKU]EGO BUFERA.
C-x h RETi x KODIROWANIE hRETi
iSPOLXZOWATX SISTEMU KODIROWANIQ KODIROWANIE DLQ PEREDA^I WYDELENIJ DRU-
GIM PROGRAMMAM I POLU^ENIQ IH IZ DRUGIH PROGRAMM ^EREZ [email protected] SISTEMU.
C-x h RETi X KODIROWANIE hRETi
iSPOLXZOWATX SISTEMU KODIROWANIQ KODIROWANIE DLQ PEREDA^I ILI POLU^ENIQ
ODNOGO WYDELENIQ |[email protected]]EGO |W [email protected] SISTEMU ILI IZ NEE.
kOMANDA C-x
h RETi f (set-buffer-file-coding-system) ZADAET SISTEMU KODIROWANIQ
FAJLA DLQ TEKU]EGO BUFERA | DRUGIMI SLOWAMI,UKAZYWAET,[email protected] SISTEMU KODIROWA-
NIQ SLEDUET ISPOLXZOWATX DLQ SOHRANENIQ ILI POWTORNOGO S^ITYWANIQ\TOGO FAJLA.wY
ZADAETE SISTEMU KODIROWANIQ W MINIBUFERE.tAK KAK\TA KOMANDA PRIMENQETSQ TOLXKO K
FAJLU,K KOTOROMU WY UVE OBRATILISX,ONA WLIQET LI[X NA SPOSOB SOHRANENIQ\TOGO FAJLA.
dRUGOJ SPOSOB UKAZATX SISTEMU KODIROWANIQ DLQ FAJLA |SDELATX\TO WO WREMQ OBRA]E-
NIQ.sNA^ALA ISPOLXZUJTE KOMANDU C-x hRETi c (universal-coding-system-argument);\TA
KOMANDA S^ITYWAET W MINIBUFERE IMQ SISTEMY KODIROWANIQ.pOSLE WYHODA IZ MINIBUFERA
ZADANNAQ SISTEMA KODIROWANIQ PRIMENQETSQ DLQ NEPOSREDSTWENNO [email protected]]EJ KOMANDY.
tAKIM OBRAZOM,ESLI NEPOSREDSTWENNO [email protected]]EJ KOMANDOJ BUDET,SKAVEM,C-x C-f,TO
ONA S^ITAET FAJL,ISPOLXZUQ [email protected] SISTEMU KODIROWANIQ (I ZAPOMINAET\TU SISTEMU
gLAWA 18:pODDERVKA RAZNYH QZYKOW 169KODIROWANIQ DLQ [email protected]]EJ ZAPISI FAJLA).iLI,ESLI [email protected]]EJ KOMANDOJ BUDET C-x
C-w,ONA ZAPI[ET FAJL,ISPOLXZUQ\TU SISTEMU KODIROWANIQ.dRUGIE KOMANDY RABOTY S
FAJLAMI,NA KOTORYE DEJSTWUET ZADANNAQ SISTEMA KODIROWANIQ,[email protected]^[email protected] C-x C-i I C-x
C-v,A TAKVE WARIANTY C-x C-f S POKAZOM W DRUGOM OKNE.
C-x hRETi c TAKVE WLIQET NA PROGRAMMY,NA^[email protected]]IE PODPROCESSY,[email protected]^AQ M-x shell
(SM.rAZDEL 30.2 [oBOLO^KA],S.323).
oDNAKO,ESLI NEPOSREDSTWENNO [email protected]]AQ KOMANDA NE ISPOLXZUET SISTEMU KODIROWANIQ,
TO C-x h RETi c W REZULXTATE NE IMEET\FFEKTA.
pROSTOJ SPOSOB OBRATITXSQ K FAJLU BEZ PREOBRAZOWANIQ PREDOSTAWLQET KOMANDA M-x
find-file-literally.sM.rAZDEL 14.2 [oBRA]ENIE],S.106.
pEREMENNAQ default-buffer-file-coding-system OPREDELQET WYBOR SISTEMY KODIROWA-
NIQ DLQ WNOWX SOZDAWAEMYH FAJLOW.oNA PRIMENQETSQ,KOGDA WY OBRA]AETESX K NOWOMU
FAJLU ILI SOZDAETE BUFER I ZATEM SOHRANQETE EGO W FAJL.pRI WYBORE QZYKOWOJ SREDY\TA
PEREMENNAQ KAK PRAWILO USTANAWLIWAETSQ W PODHODQ]EE ZNA^ENIE PO UMOL^[email protected]
kOMANDA C-x
h RETi t (set-terminal-coding-system) ZADAET SISTEMU KODIROWANIQ DLQ
TERMINALXNOGO WYWODA.eSLI WY ZADADITE SISTEMU KODIROWANIQ DLQ TERMINALXNOGO WYWO-
DA,WSE WYWODIMYE NA TERMINAL ZNAKI PEREWODQTSQ W\TU SISTEMU.
|TO SREDSTWO POLEZNO DLQ NEKOTORYH TEKSTOWYH TERMINALOW,SDELANNYH S PODDERVKOJ
KAKOGO-TO KONKRETNOGO QZYKA ILI NABORA ZNAKOW | NAPRIMER,EWROPEJSKIH TERMINALOW,
[email protected]]IH ODIN IZ NABOROW ZNAKOW ISO Latin.pRI ISPOLXZOWANII MNOGOBAJTNOGO
TEKSTA WAM NUVNO UKAZATX SISTEMU KODIROWANIQ,^TOBY Emacs ZNAL,KAKIE ZNAKI\TOT
TERMINAL MOVET NA SAMOM DELE OBRABOTATX.
pO UMOL^[email protected] WYWOD NA TERMINAL NE PREOBRAZUETSQ SOWSEM,ESLI TOLXKO Emacs NE MOVET
PREDUGADATX [email protected] SISTEMU KODIROWANIQ DLQ WA[EGO TIPA TERMINALA.
kOMANDA C-x h RETi k (set-keyboard-coding-system) ZADAET SISTEMU KODIROWANIQ DLQ
WWODA S KLAWIATURY.pEREWOD KODOW WWODIMYH S KLAWIATURY ZNAKOW POLEZEN DLQ TERMINA-
LOW,KLAWI[I KOTORYH [email protected] GRAFI^ESKIE NE-ASCII-ZNAKI,NAPRIMER,DLQ NEKOTORYH
TERMINALOW,RAZRABOTANNYH DLQ KODIROWKI ISO Latin-1 ILI EE PODMNOVESTW.
pO UMOL^[email protected] WWOD S KLAWIATURY NE PEREWODITSQ.
mEVDU ISPOLXZOWANIEM SISTEMY KODIROWANIQ DLQ PEREWODA WWODA S KLAWIATURY I IS-
POLXZOWANIEM METODA WWODA ESTX NEKOE SHODSTWO:W OBOIH SLU^AQH [email protected] WWODIMYE
S KLAWIATURY POSLEDOWATELXNOSTI,PREWRA][email protected]]IESQ S ODIN ZNAK.oDNAKO,METODY WWO-
DA RAZRABOTANY DLQ UDOBNOGO INTERAKTIWNOGO ISPOLXZOWANIQ [email protected],I PEREWODIMYE IMI
POSLEDOWATELXNOSTI OBY^NO [email protected] POSLEDOWATELXNOSTQMI PE^ATNYH ASCII-ZNAKOW.sI-
STEMY KODIROWANIQ KAK PRAWILO PEREWODQT POSLEDOWATELXNOSTI NEGRAFI^ESKIH ZNAKOW.
kOMANDA C-x h RETi x (set-selection-coding-system) ZADAET SISTEMU KODIROWANIQ DLQ
PEREDA^I WYDELENNOGO TEKSTA OKONNOJ SISTEME I DLQ POLU^ENIQ TEKSTA WYDELENIJ,SDE-
LANNYH W DRUGIH PRILOVENIQH.|TA KOMANDA OTNOSITSQ KO WSEM BUDU]IM WYDELENIQM,
POKA WY NE OTMENITE\TO,SNOWA PRIMENIW\TU KOMANDU.kOMANDA C-x hRETi X (set-next-
selection-coding-system) ZADAET SISTEMU KODIROWANIQ DLQ [email protected]]EGO WYDELENIQ,SDE-
LANNOGO W Emacs ILI S^ITANNOGO Emacs.
kOMANDA C-x
h RETi p (set-buffer-process-coding-system) ZADAET SISTEMU KODIROWANIQ
DLQ WWODA I WYWODA PODPROCESSA.|TA KOMANDA OTNOSITSQ K TEKU]EMU BUFERU;KAK PRAWI-
LO,KAVDYJ PODPROCESS IMEET SOBSTWENNYJ BUFER,SLEDOWATELXNO,WY MOVETE UKAZYWATX
PEREKODIROWKU WWODA I WYWODA PROCESSA,DAWAQ\TU KOMANDU W [email protected]]EM BUFERE.
pO UMOL^[email protected] WWOD I WYWOD PROCESSOW NE PEREWODITSQ SOWSEM.
pEREMENNAQ file-name-coding-system ZADAET SISTEMU KODIROWANIQ,[email protected] DLQ
KODIROWANIQ IMEN FAJLOW.eSLI WY USTANOWITE EE RAWNOJ IMENI SISTEMY KODIROWANIQ
(\TO LISPOWSKIJ SIMWOL ILI STROKA),Emacs STANET KODIROWATX IMENA FAJLOW PRI WSEH
FAJLOWYH OPERACIQH,ISPOLXZUQ\TU SISTEMU KODIROWANIQ.|TO POZWOLQET ISPOLXZOWATX W
170 rUKOWODSTWO PO GNU EmacsIMENAH FAJLOW NE-ASCII-ZNAKI,ILI PO KRAJNEJ MERE TE NE-ASCII-ZNAKI,KOTORYE MOGUT
BYTX ZAKODIROWANY TEKU]EJ SISTEMOJ KODIROWANIQ.
eSLI file-name-coding-system RAWNA nil,Emacs ISPOLXZUET SISTEMU KODIROWANIQ PO
UMOL^[email protected],[email protected] QZYKOWOJ SREDOJ.w QZYKOWOJ SREDE,PRINIMAEMOJ PO UMOL^A-
[email protected],[email protected] ZNAKI W IMENAH FAJLOW,NE WHODQ]IE W ASCII,NIKAK OSOBENNO NE [email protected];
ONI [email protected] W FAJLOWOJ SISTEME WO WNUTRENNEM PREDSTAWLENII Emacs.
wNIMANIE:ESLI WY IZMENITE file-name-coding-system (ILI [email protected] SREDU) W SE-
REDINE SEANSA Emacs,WY MOVETE STOLKNUTXSQ S PROBLEMAMI,ESLI WY UVE OBRATILISX K
FAJLAM,^XI IMENA BYLI ZAKODIROWANY S ISPOLXZOWANIEM STAROJ SISTEMY KODIROWANIQ I
NE MOGUT BYTX PREDSTAWLENY (ILI [email protected] INA^E) W NOWOJ SISTEME KODIROWANIQ.eSLI
WY POPYTAETESX SOHRANITX ODIN IZ TAKIH BUFEROW POD IMENEM FAJLA,K KOTOROMU ON OBRA-
]AETSQ,MOVET BYTX ISPOLXZOWANO NEPRAWILXNOE IMQ ILI MOVET WOZNIKNUTX O[IBKA.eSLI
SLU^AETSQ TAKAQ PROBLEMA,ISPOLXZUJTE C-x C-w,^TOBY ZADATX DLQ\TOGO BUFERA NOWOE IMQ
FAJLA.
18.10 nABORY [RIFTOW
{RIFT X Windows OBY^NO OPREDELQET NA^ERTANIE DLQ ODNOGO ALFAWITA ILI PISXMEN-
NOSTI.pO\TOMU DLQ OTOBRAVENIQ POLNOGO SPEKTRA WSEH SISTEM PISXMA,KOTORYE PODDER-
VIWAET Emacs,NEOBHODIMO MNOVESTWO [RIFTOW.w Emacs TAKOE MNOVESTWO NAZYWAETSQ
NABOROM [RIFTOW.nABOR [RIFTOW OPREDELQETSQ KAK SPISOK [RIFTOW,KAVDYJ IZ KOTORYH
PREDNAZNA^AETSQ DLQ RABOTY S ODNIM DIAPAZONOM KODOW ZNAKOW.
kAVDYJ NABOR [RIFTOW IMEET IMQ,KAK I OTDELXNYJ [RIFT.dOSTUPNYE [RIFTY OPRE-
[email protected] X-SERWEROM;NABORY [RIFTOW [email protected] WNUTRI SAMOGO Emacs.kAK TOLXKO
WY OPREDELILI NABOR [RIFTOW,WY MOVETE ISPOLXZOWATX EGO W Emacs,UKAZYWAQ EGO IMQ W
[email protected] KONTEKSTE,GDE WY MOGLI BY NAPISATX ODIN [RIFT.rAZUMEETSQ,NABORY [RIFTOW
Emacs MOGUT SODERVATX TOLXKO TE [RIFTY,KOTORYE [email protected] X-SERWEROM;ESLI
NEKOTORYE ZNAKI [email protected] NA\KRANE KAK PUSTYE PRQMOUGOLXNIKI,\TO OZNA^AET,^TO W
ISPOLXZUEMOM NABORE [RIFTOW NET [RIFTA DLQ\TIH ZNAKOW.
Emacs SOZDAET DWA NABORA [RIFTOW AWTOMATI^ESKI:STANDARTNYJ NABOR [RIFTOW I
STARTOWYJ NABOR [RIFTOW.sTANDARTNYJ NABOR [RIFTOW SKOREE WSEGO SODERVIT [RIFTY
DLQ [IROKOGO SPEKTRA ZNAKOW,NE WHODQ]IH W ASCII;ODNAKO,PO UMOL^[email protected] Emacs ISPOLX-
ZUET NE EGO.(pO UMOL^[email protected] Emacs STARAETSQ NAJTI [RIFT,KOTORYE IMEET VIRNYJ I
KURSIWNYJ WARIANTY.) wY MOVETE UKAZATX,^TO NUVNO ISPOLXZOWATX STANDARTNYJ NABOR
[RIFTOW,S POMO][email protected] [email protected]^A`-fn'ILI S POMO][email protected] X-RESURSA`Font'(SM.rAZDEL A.7 [{RIFT
X],S.392 ).nAPRIMER,
emacs -fn fontset-standard
nABOR [RIFTOW NE OBQZAN ZADAWATX [RIFT DLQ KAVDOGO KODA.eSLI NABOR [RIFTOW NE
OPREDELQET [RIFT DLQ NEKOTOROGO ZNAKA,ILI EGO ON OPREDELQET [RIFT,KOTOROGO NET W
WA[EJ SISTEME,TO ON NE MOVET PRAWILXNO OTOBRAZITX\TOT ZNAK.wMESTO\TOGO ZNAKA BUDET
POKAZAN PUSTOJ PRQMOUGOLXNIK.
wYSOTA I [IRINA NABORA [RIFTOW [email protected] ASCII-ZNAKAMI (TO ESTX [RIFTAMI,
ISPOLXZUEMYMI W\TOM NABORE DLQ ASCII-ZNAKOW).eSLI DRUGOJ [RIFT W\TOM NABORE IMEET
[email protected] WYSOTU ILI [IRINU,TO ZNAKI,PRIPISANNYE K\TOMU [RIFTU,[email protected] DO RAZMERA
NABORA [RIFTOW.eSLI highlight-wrong-size-font OTLI^NA OT nil,TO WOKRUG ZNAKOW S
NEPRAWILXNYM RAZMEROM E]E WYWODITSQ PRQMOUGOLXNIK.
18.11 oPREDELENIE NABOROW [RIFTOW
Emacs SOZDAET STANDARTNYJ NABOR [RIFTOW AWTOMATI^ESKI W SOOTWETSTWII S standard-
fontset-spec.iMENEM\TOGO NABORA QWLQETSQ
gLAWA 18:pODDERVKA RAZNYH QZYKOW 171-*-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard
ILI PROSTO`fontset-standard'DLQ KRATKOSTI.
vIRNYJ,KURSIWNYJ I VIRNYJ KURSIWNYJ WARIANTY STANDARTNOGO NABORA [RIFTOW
[email protected] AWTOMATI^ESKI.iH IMENA [email protected]`bold'WMESTO`medium',ILI`i'WMESTO`r'ILI
I TO,I DRUGOE.
eSLI WY ZADALI ASCII-[RIFT PO UMOL^[email protected] S POMO][email protected] RESURSA`Font'ILI ARGUMENTA
`-fn',Emacs AWTOMATI^ESKI GENERIRUET IZ NEGO NABOR [RIFTOW.|TO STARTOWYJ NABOR
[RIFTOW,I EGO IMQ |fontset-startup.Emacs DELAET\TO,ZAMENQQ W IMENI [RIFTA POLQ
foundry,family,addstyle I averagewidth NA`*',ZAMENQQ charsetregistry NA`fontset',A
POLE charset encoding | NA`startup'I ISPOLXZUQ ZATEM POLU^[email protected] STROKU DLQ ZADANIQ
NABORA [RIFTOW.
k PRIMERU,ESLI WY ZAPUSTILI Emacs TAKIM OBRAZOM:
emacs -fn"*courier-medium-r-normal-14-140-*-iso8859-1"
Emacs GENERIRUET [email protected]]IJ NABOR [RIFTOW I ISPOLXZUET EGO DLQ PERWOGO FREJMA:
-*-*-medium-r-normal-*-14-140-*-*-*-*-fontset-startup
w X-RESURSE`Emacs.Font'WY MOVETE UKAZYWATX NABOR [RIFTOW,TO^NO TAK VE,KAK I
OBY^NOE IMQ [RIFTA.nO BUDXTE WNIMATELXNY I NE ZADAWAJTE NABOR [RIFTOW W RESUR-
SE S SIMWOLAMI PODSTANOWKI,KAK`Emacs*Font',| TAKAQ SPECIFIKACIQ PRIMENQETSQ DLQ
RAZLI^NYH CELEJ,NAPRIMER DLQ [email protected],A [email protected] NE MOVET OBRA]ATXSQ S NABORAMI [RIFTOW.
wY MOVETE OPREDELITX DOPOLNITELXNYE NABORY [RIFTOW,ISPOLXZUQ X-RESURSY S IME-
NAMI`Fontset-n',GDE n | ^ISLO,OTS^ITYWAEMOE OT NULQ.zNA^ENIE\TOGO RESURSA DOLVNO
IMETX [email protected] FORMU:
[ABLON-[RIFTA,[IMQ-KODIROWKI:IMQ-[RIFTA]...
[ABLON-[RIFTA,KROME DWUH POSLEDNIH POLEJ,DOLVEN IMETX FORMU STANDARTNOGO IMENI
X-[RIFTA.dWA POSLEDNIH POLQ DOLVNY IMETX WID`fontset-PSEWDONIM'.
u NABORA [RIFTOW ESTX DWA IMENI,ODNO DLINNOE,A DRUGOE KOROTKOE.dLINNOE IMQ |
\TO [ABLON-[RIFTA.kOROTKOE IMQ |\TO`fontset-PSEWDONIM'.wY MOVETE SSYLATXSQ NA
NABOR [RIFTOW PO [email protected] IZ\TIH IMEN.
kONSTRUKCIQ`KODIROWKA:[RIFT'OPREDELQET,KAKOJ [RIFT DOLVEN ISPOLXZOWATXSQ (W
\TOM NABORE) DLQ ODNOGO KONKRETNOGO NABORA ZNAKOW.zDESX KODIROWKA |\TO IMQ NABORA
ZNAKOW,A [RIFT |\TO ISPOLXZUEMYJ DLQ NEGO [RIFT.pRI OPREDELENII ODNOGO NABORA
[RIFTOW WY MOVETE PRIMENQTX\TU [email protected] [email protected] ^ISLO RAZ.
dLQ OSTALXNYH NABOROW ZNAKOW Emacs WYBIRAET [RIFT,OSNOWYWAQSX NA [ABLONE-
[RIFTA.oN ZAMENQET`fontset-PSEWDONIM'NA ZNA^ENIQ,[email protected]]IE NABOR ZNAKOW.dLQ
[RIFTA ZNAKOW ASCII,`fontset-PSEWDONIM'ZAMENQETSQ NA`ISO8859-1'.
kROME TOGO,KOGDA NESKOLXKO POSLEDOWATELXNYH POLEJ [email protected] SIMWOLAMI PODSTANOWKI,
Emacs SVIMAET IH W ODIN SIMWOL.|TO DELAETSQ DLQ PREDOTWRA]ENIQ ISPOLXZOWANIQ AWTO-
MATI^ESKI MAS[TABIROWANNYH [RIFTOW.{RIFTY,POLU^AEMYE MAS[TABIROWANIEM BOLEE
KRUPNOGO [RIFTA,NEPRIGODNY DLQ REDAKTIROWANIQ,A MAS[TABIROWANIE MELKOGO [RIFTA
BESSMYSLENNO,POTOMU ^TO MELKIJ [RIFT LU^[E ISPOLXZOWATX S EGO SOBSTWENNYM RAZMEROM,
^TO Emacs I DELAET.
tAKIM OBRAZOM,ESLI [ABLON-[RIFTA ZADAN TAK:
-*-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-24
TO SPECIFIKACIQ [RIFTA DLQ ASCII-ZNAKOW BYLA BY TAKOJ:
-*-fixed-medium-r-normal-*-24-*-ISO8859-1
A SPECIFIKACIQ [RIFTA DLQ KITAJSKIH ZNAKOW GB2312 TAKOJ:
-*-fixed-medium-r-normal-*-24-*-gb2312*-*
u WAS MOVET NE OKAZATXSQ KITAJSKIH [RIFTOW,[email protected]]IH PRIWEDENNOJ WY[E
SPECIFIKACII.bOLX[INSTWO DISTRIBUTIWOW X Windows [email protected]^[email protected] TOLXKO KITAJSKIE
172 rUKOWODSTWO PO GNU Emacs[RIFTY S`song ti'ILI`fangsong ti'W POLE family.w TAKOM SLU^AE`Fontset-n'MOV-
NO ZADATX TAKIM OBRAZOM:
Emacs.Fontset-0:-*-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-24,\
chinese-gb2312:-*-*-medium-r-normal-*-24-*-gb2312*-*
tOGDA SPECIFIKACII WSEH [RIFTOW,KROME KITAJSKIH GB2312,BUDUT IMETX`fixed'W POLE
family,A SPECIFIKACII DLQ KITAJSKIH ZNAKOW GB2312 NESUT W POLE family SIMWOL PODSTA-
NOWKI`*'.
fUNKCIQ,KOTORAQ OBRABATYWAET ZNA^ENIE RESURSA,[email protected]]EGO NABOR [RIFTOW,I
SOZDAET\TOT NABOR,NAZYWAETSQ create-fontset-from-fontset-spec.wY TAKVE MOVETE
WYZYWATX\TU [email protected] QWNO,^TOBY SGENERIROWATX NABOR [RIFTOW.
sM.rAZDEL A.7 [{RIFT X],S.392,DLQ BOLX[EJ INFORMACII OB IMENOWANII [RIFTOW W
X.
18.12 pODDERVKA ODNOBAJTNYH EWROPEJSKIH ZNAKOW
nABORY ZNAKOW ISO 8859 Latin-n [email protected] KODY ZNAKOW W DIAPAZONE OT 160 DO 255 DLQ
OBRA]ENIQ S AKCENTIROWANNYMI BUKWAMI I ZNAKAMI PREPINANIQ,NEOBHODIMYMI W RAZLI^-
NYH EWROPEJSKIH QZYKAH.eSLI WY [email protected]^ITE PODDERVKU MNOGOBAJTNYH ZNAKOW,Emacs
WSE VE SMOVET RABOTATX S ODNOJ IZ\TIH KODIROWOK.~TOBY UKAZATX,KAKIE IZ\TIH KO-
DOW SLEDUET ISPOLXZOWATX,WYZOWITE M-x set-language-environment I ZADAJTE PODHODQ][email protected]
[email protected] SREDU,[email protected] KAK`Latin-n'.
dLQ POLU^ENIQ BOLX[EJ INFORMACII OB ODNOBAJTNOM REVIME SMOTRITErAZDEL 18.2
[[email protected]^ENIE MNOGOBAJTNYH ZNAKOW],S.161.w ^ASTNOSTI,OBRATITE WNIMANIE NA TO,^TO
WA[I FAJLY INICIALIZACII S^[email protected] KAK ODNOBAJTNYE,ESLI ONI SODERVAT NE-ASCII-
ZNAKI.
Emacs MOVET TAKVE OTOBRAVATX TAKIE ZNAKI,PRI USLOWII,^TO ONI [email protected]
TERMINALOM ILI [RIFTOM.|TO RABOTAET AWTOMATI^ESKI.iLI,ESLI WY ISPOLXZUETE OKON-
[email protected] SISTEMU,Emacs MOVET OTOBRAVATX ODNOBAJTNYE ZNAKI ^EREZ NABORY [RIFTOW,POKA-
ZYWAQ W DEJSTWITELXNOSTI\KWIWALENTNYE MNOGOBAJTNYE ZNAKI W SOOTWETSTWII S QZYKOWOJ
SREDOJ.~TOBY ZATREBOWATX\TO,USTANOWITE [email protected] unibyte-display-via-language-
environment W OTLI^NOE OT nil ZNA^ENIE.
eSLI WA[ TERMINAL NE PODDERVIWAET NABOR ZNAKOW Latin-1,Emacs MOVET OTOBRAVATX IH
KAK ASCII-POSLEDOWATELXNOSTI,KOTORYE PO KRAJNEJ MERE [email protected] WAM QSNOE PREDSTAWLENIE O
TOM,^TO\TO ZA ZNAKI.~TOBY SDELATX TAK,ZAGRUZITE BIBLIOTEKU iso-ascii.mOGUT BYTX
REALIZOWANY POHOVIE BIBLIOTEKI I DLQ DRUGIH NABOROW ZNAKOW Latin-n,NO POKA IH U NAS
NET.
oBY^NO NE WHODQ]IE W ISO-8859 ZNAKI (MEVDU 128 I 159 [email protected]^ITELXNO) [email protected]
KAK WOSXMIRI^NYE [email protected]]IE POSLEDOWATELXNOSTI.wY MOVETE IZMENITX\TO DLQ NESTAN-
DARTNYH`RAS[IRENNYH'WERSIJ NABOROW ZNAKOW ISO-8859,ISPOLXZUQ [email protected] standard-
display-8bit IZ BIBLIOTEKI disp-table.
eSTX TRI RAZNYH SPOSOBA WWODITX ODNOBAJTNYE NE-ASCII-ZNAKI:
пЂЏ eSLI WA[A KLAWIATURA MOVET GENERIROWATX KODY ZNAKOW OT 128 I WY[E,[email protected]
]IE ZNAKI,NE WHODQ]IE W ASCII,WYPOLNITE [email protected]]EE WYRAVENIE,^TOBY Emacs SMOG
IH PONIMATX:
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0)
пЂЏ wY MOVETE ISPOLXZOWATX METOD WWODA DLQ WYBRANNOJ QZYKOWOJ SREDY.sM.rAZDEL 18.4
[mETODY WWODA],S.163.kOGDA WY ISPOLXZUETE METOD WWODA W ODNOBAJTNOM BUFERE,
ZADAWAEMYE S EGO POMO][email protected] ZNAKI PEREWODQTSQ W ODNOBAJTNOE PREDSTAWLENIE.
gLAWA 18:pODDERVKA RAZNYH QZYKOW 173пЂЏ dLQ WWODA PE^ATNYH ZNAKOW Latin-1 WY MOVETE ISPOLXZOWATX C-x 8 KAK PREFIKS\SO-
STAWLENIQ".C-x 8 UDOBEN DLQ WSTAWKI (W MINIBUFERE,A TAKVE W OSTALXNYH BUFERAH),
DLQ POISKA I WO WSEH DRUGIH KONTEKSTAH,GDE [email protected] POSLEDOWATELXNOSTI ZNAKOW.
C-x 8 RABOTAET PUTEM ZAGRUZKI BIBLIOTEKI iso-transl.kOGDA\TA BIBLIOTEKA ZA-
GRUVENA,KLAWI[A-MODIFIKATOR
hALTi,ESLI ONA U WAS ESTX,SLUVIT DLQ TOJ VE CELI,
^TO I C-x 8;ISPOLXZUJTE h ALTi WMESTE SO ZNAKOM AKCENTA,^TOBY MODIFICIROWATX SLE-
[email protected]][email protected] BUKWU.kROME TOGO,ESLI U WAS ESTX [email protected]]IE KLAWI[I DLQ GENERACII
AKCENTOW Latin-1,TO ONI TOVE OPREDELENY DLQ KOMPONOWKI SO [email protected]]IM ZNAKOM,ESLI
iso-transl ZAGRUVENA.
174 rUKOWODSTWO PO GNU Emacs
gLAWA 19:oSNOWNYE REVIMY 17519 oSNOWNYE REVIMY
Emacs PREDOSTAWLQET MNOGO RAZLI^NYH OSNOWNYH REVIMOW,KAVDYJ IZ KOTORYH NASTRA-
IWAET Emacs NA REDAKTIROWANIE TEKSTA OPREDELENNOGO WIDA.oSNOWNYE REVIMY [email protected]
[email protected]^[email protected]]IMI,I KAVDYJ BUFER NAHODITSQ W KAVDYJ MOMENT WREMENI W ODNOM
OSNOWNOM REVIME.sTROKA REVIMA OBY^NO SODERVIT IMQ TEKU]EGO OSNOWNOGO REVIMA W
KRUGLYH SKOBKAH (SM.rAZDEL 1.3 [sTROKA REVIMA],S.25).
nAIMENEE SPECIALIZIROWANNYJ OSNOWNOJ REVIM NAZYWAETSQ Fundamental.|TOT REVIM
NE IMEET SPECIALXNYH REVIMNYH PEREOPREDELENIJ ILI USTANAWLIWAEMYH PEREMENNYH,TAK
^TO KAVDAQ KOMANDA Emacs WEDET SEBQ SAMYM OBY^NYM OBRAZOM I KAVDYJ PARAMETR NA-
HODITSQ W SWOEM SOSTOQNII PO UMOL^[email protected] REDAKTIROWANIQ NEKOTOROGO TEKSTA OPRE-
DELENNOGO TIPA,TAKOGO KAK KOD NA lISPE ILI ANGLIJSKIJ TEKST,WY DOLVNY [email protected]^ITX
Emacs W [email protected]]IJ OSNOWNOJ REVIM,TAKOJ KAK REVIM Lisp ILI REVIM Text.
wYBOR OSNOWNOGO REVIMA IZMENQET ZNA^ENIE NESKOLXKIH [email protected]^EJ TAKIM OBRAZOM,^TOBY
ONI STALI BOLEE PRISPOSOBLENNYM K REDAKTIRUEMOMU QZYKU.oDNI IZ NAIBOLEE ^ASTO IZME-
NQEMYH [email protected]^EJ |\TO h TABi,hDELi I C-j.pREFIKSNYJ [email protected]^ C-c OBY^NO SODERVIT KOMANDY,
SPECIFI^NYE DLQ REVIMA.pOMIMO\TOGO,KOMANDY DLQ UPRAWLENIQ KOMMENTARIQMI ISPOLX-
[email protected] REVIM DLQ OPREDELENIQ TOGO,KAKIM OBRAZOM KOMMENTARII DOLVNY OGRANI^IWATXSQ.
mNOGIE OSNOWNYE REVIMY [email protected] SINTAKSI^ESKIE SWOJSTWA ZNAKOW,[email protected]]IHSQ
W BUFERE.sM.rAZDEL 31.6 [sINTAKSIS],S.366.
oSNOWNYE REVIMY DELQTSQ NA TRI OSNOWNYH GRUPPY.rEVIM Lisp (KOTORYJ IMEET
NESKOLXKO WARIANTOW),REVIM C I REVIM Fortran | DLQ SPECIFI^ESKIH QZYKOW PROGRAM-
MIROWANIQ.rEVIM Text,REVIM NroпЂ‹,REVIM T
E
X I REVIM Outline |DLQ REDAKTIROWANIQ
TEKSTA NA ESTESTWENNOM QZYKE.oSTALXNYE OSNOWNYE REVIMY NE PREDNAZNA^ENY DLQ IS-
POLXZOWANIQ S FAJLAMI POLXZOWATELEJ;ONI [email protected] W BUFERAH,SOZDAWAEMYH Emacs
DLQ SPECIALXNYH CELEJ,\TO TAKIE REVIMY,KAK REVIM Dired DLQ BUFEROW,SOZDANNYH Dired
(SM.gLAWA 28 [Dired],S.291),REVIM Mail DLQ BUFEROW,SOZDANNYH PRI POMO]I C-x m (SM.gLAWA 26 [pOSYLKA PO^TY],S.267),I REVIM Shell DLQ BUFEROW,ISPOLXZUEMYH DLQ SWQZI S
POD^INENNYM PROCESSOM OBOLO^KI (SM.rAZDEL 30.2.2 [iNTERAKTIWNAQ OBOLO^KA],S.324).
bOLX[INSTWO OSNOWNYH REVIMOW DLQ QZYKOW PROGRAMMIROWANIQ [email protected],^TO TOLXKO
PUSTYE STROKI [email protected] ABZACY.tAKIM OBRAZOM,KOMANDY RABOTY S ABZACAMI [email protected]
UDOBNYMI.(sM.rAZDEL 21.3 [aBZACY],S.183.) oNI TAK VE [email protected] REVIM Auto Fill
ISPOLXZOWATX OPREDELENIE h TABi DLQ SOZDANIQ OTSTUPA WO WNOWX SOZDAWAEMYH IM STROKAH.
|TO DALETSQ,POSKOLXKU BOLX[INSTWO STROK W PROGRAMME OBY^NO NA^[email protected] S OTSTUPA.
(sM.gLAWA 20 [oTSTUPY],S.177.)
19.1 kAK [email protected] OSNOWNYE REVIMY
wY MOVETE WYBRATX OSNOWNOJ REVIM DLQ TEKU]EGO BUFERA QWNO,NO ^A]E Emacs SAM
OPREDELQET,KAKOJ REVIM ISPOLXZOWATX,OSNOWYWAQSX NA IMENI FAJLA ILI NA SPECIALXNOM
TEKSTE W FAJLE.
qWNYJ WYBOR NOWOGO OSNOWNOGO REVIMA DELAETSQ PRI POMO]I KOMANDY M-x.~TOBY
POLU^ITX IMQ KOMANDY DLQ WYBORA REVIMA,DOBAWXTE K IMENI OSNOWNOGO REVIMA OKON^ANIE
-mode.tAKIM OBRAZOM,WY MOVETE WOJTI W REVIM Lisp,WYPOLNIW KOMANDU M-x lisp-mode.
kOGDA WY OBRA]AETESX K FAJLU,Emacs OBY^NO WYBIRAET PRAWILXNYJ OSNOWNOJ REVIM,
OSNOWYWAQSX NA IMENI\TOGO FAJLA.nAPRIMER,FAJLY,^XI IMENA OKAN^[email protected] NA`.S',
[email protected] W REVIME s.sOOTWETSTWIE MEVDU IMENEM FAJLA I OSNOWNYM REVIMOM KON-
TROLIRUETSQ PEREMENNOJ auto-mode-alist.eE ZNA^ENIE |\TO SPISOK,KAVDYJ\LEMENT
KOTOROGO IMEET TAKOJ WID:
(REGULQRNOE-WYRAVENIE.FUNKCIQ-REVIMA)
ILI TAKOJ:
176 rUKOWODSTWO PO GNU Emacs(REGULQRNOE-WYRAVENIE FUNKCIQ-REVIMA FLAG)
nAPRIMER,ODIN\LEMENT,OBY^NO NAHODQ]IJSQ W\TOM SPISKE,IMEET WID ("\\.c\\'".c-
mode),I\TO QWLQETSQ SIGNALOM DLQ WYBORA REVIMA s DLQ FAJLOW,^XI IMENA KON^[email protected]
NA`.S'.(oTMETIM,^TO`\\'NEOBHODIMO PO SINTAKSISU lISPA DLQ TOGO,^TOBY [email protected]^ITX
W\TU STROKU ZNAK`\',A ON NUVEN DLQ PODAWLENIQ SPECIALXNOGO ZNA^ENIQ`.'W REGULQRNOM
WYRAVENII.) eSLI\TOT\LEMENT IMEET FORMU (REGULQRNOE-WYRAVENIE FUNKCIQ-REVIMA
FLAG),I FLAG NE nil,TO POSLE WYZOWA FUNKCII-REVIMA SUFFIKS,SOWPAW[IJ S REGULQRNYM-
WYRAVENIEM,OTBRASYWAETSQ,I W SPISKE PROIZWODITSQ POWTORNYJ POISK DRUGOGO SOWPADE-
NIQ.
wY MOVETE UKAZATX,KAKOJ OSNOWNOJ REVIM DOLVEN ISPOLXZOWATXSQ DLQ REDAKTIROWANIQ
OPREDELENNOGO FAJLA,S POMO][email protected] TEKSTA SPECIALXNOGO WIDA W PERWOJ NEPUSTOJ STROKE FAJ-
LA.w\TOJ STROKE DOLVNO POQWITXSQ IMQ REVIMA,DO I POSLE NEGO DOLVNY STOQTX STROKI
`-*-'.w\TOJ STROKE TAKVE MOVET POQWITXSQ DRUGOJ TEKST.nAPRIMER,
;-*-Lisp-*-
PRIKAZYWAET Emacs ISPOLXZOWATX REVIM Lisp.tAKOE QWNOE OPREDELENIE OTMENQET ZNA^ENIE
PO UMOL^[email protected],OSNOWANNOE NA IMENI FAJLA.oTMETIM,^TO TO^KA S ZAPQTOJ ISPOLXZUETSQ
DLQ TOGO,^TOBY lISP TRAKTOWAL\TU STROKU KAK KOMMENTARIJ.
dRUGOJ FORMAT OPREDELENIQ REVIMA:
-*- mode:IMQ-REVIMA;-*-
^TO POZWOLQET WAM TAKVE ZADATX LOKALXNYE PEREMENNYE,KAK ZDESX:
-*- mode:IMQ-REVIMA;PER:ZNA^ENIE;...-*-
sM.rAZDEL 31.2.5 [pEREMENNYE FAJLA],S.351,DLQ POLU^ENIQ BOLX[EJ INFORMACII OB
\TOM.
eSLI SODERVIMOE FAJLA NA^INAETSQ S`#!',ON MOVET SLUVITX W KA^ESTWE WYPOLNQEMOJ
KOMANDY OBOLO^KI,KOTORAQ RABOTAET PUTEM ZAPUSKA INTERPRETATORA,NAZWANNOGO W PERWOJ
STROKE\TOGO FAJLA.oSTALXNAQ ^ASTX FAJLA PODAETSQ NA WHOD INTERPRETATORA.
kOGDA WY OBRA]AETESX K PODOBNOMU FAJLU W Emacs,ESLI IMQ FAJLA NE ZADAET OSNOWNOJ
REVIM,Emacs ISPOLXZUET DLQ WYBORA REVIMA IMQ INTERPRETATORA W PERWOJ STROKE.eSLI
PERWAQ STROKA |\TO IMQ PODDERVIWAEMOJ PROGRAMMY-INTERPRETATORA,TAKOJ KAK`perl'
ILI`tcl',Emacs ISPOLXZUET REVIM,PODHODQ]IJ DLQ PROGRAMM DLQ\TOGO INTERPRETATO-
RA.pEREMENNAQ interpreter-mode-alist ZADAET SOOTWETSTWIE MEVDU IMENAMI PROGRAMM-
INTERPRETATOROW I OSNOWNYMI REVIMAMI.
kOGDA PERWAQ STROKA NA^INAETSQ S`#!',WY NE MOVETE (NA MNOGIH SISTEMAH) ISPOLXZOWATX
W NEJ`-*-',POSKOLXKU PRI ZAPUSKE INTERPRETATORA\TO WWELO BY W ZABLUVDENIE SISTEMU.
pO\TOMU W TAKIH FAJLAH Emacs I]ET`-*-'NA WTOROJ STROKE,A NE TOLXKO NA PERWOJ.
kOGDA WY OBRA]AETESX K FAJLU,KOTORYJ NE UKAZYWAET,KAKOJ OSNOWNOJ REVIM ISPOLX-
ZOWATX,ILI KOGDA WY SOZDAETE NOWYJ BUFER PRI POMO]I C-x b,TO ISPOLXZUEMYM OSNOWNYM
REVIMOM QWLQETSQ TOT,^TO OPREDELEN PEREMENNOJ default-major-mode.oBY^NO EE ZNA^E-
NIE |\TO SIMWOL fundamental-mode,KOTORYJ ZADAET REVIM Fudamental.eSLI default-
major-mode RAWNA nil,TO OSNOWNOJ REVIM BERETSQ IZ RANEE WYBRANNOGO BUFERA.
eSLI WY IZMENILI OSNOWNOJ REVIM BUFERA,WY MOVETE WERNUTXSQ K TOMU OSNOWNOMU
REVIMU,KOTORYJ Emacs WYBRAL BY AWTOMATI^ESKI:ISPOLXZUJTE DLQ\TOGO KOMANDU M-x
normal-mode.|TO TA VE FUNKCIQ,[email protected] WYZYWAET find-file DLQ WYBORA OSNOWNOGO
REVIMA.oNA TAKVE OBRABATYWAET SPISOK LOKALXNYH PEREMENNYH FAJLA,ESLI ON ESTX.
kOMANDY C-x C-w I set-visited-file-name [email protected]^[email protected] W NOWYJ OSNOWNOJ REVIM,
ESLI NOWOE IMQ FAJLA PODRAZUMEWAET WYBOR REVIMA (SM.rAZDEL 14.3 [sOHRANENIE],S.108).
oDNAKO,\TO NE PROISHODIT,ESLI SODERVIMOE BUFERA ZADAET OSNOWNOJ REVIM;I NEKOTORYE
\SPECIALXNYE"OSNOWNYE REVIMY NE [email protected] IZMENENIQ REVIMA.wY MOVETE [email protected]^ITX
\TU WOZMOVNOSTX [email protected]^ENIQ REVIMOW,USTANOWIW change-major-mode-with-file-name
W ZNA^ENIE nil.
gLAWA 20:oTSTUPY 17720 oTSTUPY
|TA GLAWA OPISYWAET KOMANDY Emacs,KOTORYE [email protected],[email protected] ILI [email protected]
OTSTUPY.
hTABi sDELATX OTSTUP TEKU]EJ STROKI,\[email protected]]IJ"REVIMU.
C-j wYPOLNITX hRETi,ZA KOTORYM SLEDUET hTABi (newline-and-indent).
M-^ sLITX DWE STROKI (delete-indentation).|TO OTMENQET DEJSTWIE C-j.
C-M-o rAZBITX STROKU W TO^KE;TEKST NA STROKE POSLE TO^KI STANOWITSQ NOWOJ STROKOJ
S OTSTUPOM DO TOGO STOLBCA,S KOTOROGO ON NA^INAETSQ SEJ^AS (split-line).
M-m pEREDWINUTXSQ (WPERED ILI NAZAD) K PERWOMU NEPUSTOMU ZNAKU NA TEKU]EJ STRO-
KE (back-to-indetation).
C-M-\sDELATX OTSTUP NESKOLXKIH STROK DO ODNOGO I TOGO VE STOLBCA (indent-region).
C-x
h TABi vESTKO SDWINUTX BLOK STROK WLEWO ILI WPRAWO (indent-rigidly).
M-i sDELATX OTSTUP OT TO^KI K [email protected]]EMU PREDOPREDELENNOMU STOLBCU POZICII
TABULQCII (tab-to-tab-stop).
M-x indent-relative
sDELATX OTSTUP OT TO^KI K MESTU POD TO^KOJ OTSTUPA W PREDYDU]EJ STROKE.
bOLX[INSTWO QZYKOW PROGRAMMIROWANIQ [email protected] NEKOTOROE SOGLA[ENIE PO OTSTUPAM.
dLQ lISP-KODA OTSTUP STROK WYPOLNQETSQ SOGLASNO IH WLOVENNOSTI W KRUGLYE SKOBKI.
tA VE SAMAQ OB]AQ IDEQ ISPOLXZUETSQ DLQ KODA NA sI,HOTQ MNOGIE DETALI OTLI^[email protected]
w [email protected] QZYKE DLQ SOZDANIQ OTSTUPA W STROKE ISPOLXZUETSQ KOMANDA
hTABi.kAVDYJ
OSNOWNOJ REVIM OPREDELQET\TU KOMANDU TAK,^TOBY ONA WYPOLNQLA [email protected]]IJ\TO-
MU QZYKU OTSTUP.w REVIME Lisp h TABi RASSTAWLQET STROKI W SOOTWETSTWII S IH GLUBINOJ
WLOVENNOSTI W KRUGLYE SKOBKI.wNE ZAWISIMOSTI OT TOGO,W KAKOM MESTE STROKI WY NA-
HODITESX,KOGDA NABIRAETE h TABi,ONA WYRAWNIWAET STROKU CELIKOM.w REVIME s,hTABi
OSU]ESTWLQET UTON^ENNYJ I SLOVNYJ STILX OTSTUPA,KOTORYJ ZNAET O MNOGIH ASPEKTAH
SINTAKSISA sI.
w REVIME Text,
h TABi ZAPUSKAET KOMANDU tab-to-tab-stop,KOTORAQ DELAET OTSTUP K
[email protected]]EMU STOLBCU POZICII TABULQCII.wY MOVETE USTANOWITX POZICII TABULQCII S
POMO][email protected] M-x edit-tab-stops.
20.1 sPOSOBY I KOMANDY OTSTUPA
~TOBY PEREDWINUTXSQ ^EREZ OTSTUP NA STROKE,SDELAJTE M-m (back-to-indentation).
|TA KOMANDA,DANNAQ GDE UGODNO NA STROKE,POME]AET TO^KU NA PERWYJ NEPUSTOJ ZNAK W
\TOJ STROKE.
~TOBY WSTAWITX STROKU S OTSTUPOM PERED TEKU]EJ STROKOJ,SDELAJTE C-a C-o
hTABi.~TO-
BY SDELATX STROKU S OTSTUPOM POSLE TEKU]EJ STROKI,ISPOLXZUJTE C-e C-j.
eSLI WY PROSTO HOTITE WSTAWITX W BUFER SIMWOL TABULQCII,TO WY MOVETE NABRATX C-q
h TABi.
C-M-o (split-line) SDWIGAET TEKST OT TO^KI DO KONCA STROKI WERTIKALXNO WNIZ,TAK
^TO TEKU]AQ STROKA STANOWITSQ DWUMQ STROKAMI.C-M-o SNA^ALA PEREDWIGAET TO^KU WPERED
^EREZ [email protected] KOLI^ESTWO PROBELOW I TABULQCIJ.zATEM ONA WSTAWLQET POSLE TO^KI OGRA-
NI^ITELX STROKI I DOSTATO^NOE KOLI^ESTWO OTSTUPOW,^TOBY DOSTI^X TOGO VE STOLBCA,NA
KOTOROM NAHODITSQ TO^KA.tO^KA OSTAETSQ PERED WSTAWLQEMYM PEREWODOM STROKI;S\TOJ
TO^KI ZRENIQ C-M-o NAPOMINAET C-o.
178 rUKOWODSTWO PO GNU Emacs~TOBY NA^ISTO SOEDINITX DWE STROKI,ISPOLXZUJTE KOMANDU M-^ (delete-indentation).
oNA UDALQET OTSTUP W NA^ALE TEKU]EJ STROKI,A TAK VE OGRANI^ITELX STROKI,ZAMENQQ IH
ODINO^NYM PROBELOM.w OSOBOM SLU^AE (POLEZNOM DLQ KODA NA lISPE) ODINO^NYJ PROBEL
OPUSKAETSQ,ESLI SOEDINQEMYMI ZNAKAMI [email protected] POSLEDOWATELXNYE [email protected]]IE ILI
[email protected]]IE KRUGLYE SKOBKI,ILI ESLI POSLE SLIQNIQ IDET E]E ODNA NOWAQ STROKA.~TOBY
UDALITX PROSTO OTSTUP STROKI,PEREJDITE W NA^ALO STROKI I ISPOLXZUJTE M-\(delete-
horizontal-space),KOTORAQ UDALQET WSE PROBELY I TABULQCII OKOLO KURSORA.
eSLI ESTX PREFIKS ZAPOLNENIQ,M-^ UBIRAET EGO,ESLI ON NAHODITSQ POSLE UDALQEMOGO
PEREWODA STROKI.sM.rAZDEL 21.5.3 [pREFIKS ZAPOLNENIQ],S.187.
[email protected] TAKVE KOMANDY DLQ IZMENENIQ OTSTUPOW NESKOLXKIH STROK SRAZU.C-M-\
(indent-region) PRIMENQETSQ DLQ WSEH STROK,KOTORYE NA^[email protected] W DANNOJ OBLASTI;ONA
DELAET DLQ KAVDOJ IZ\TIH STROK\OBY^NYJ"OTSTUP,KAK ESLI BY WY NAPE^ATALI hTABi
W NA^ALE STROKI.~ISLOWOJ ARGUMENT OPREDELQET STOLBEC DLQ OTSTUPA,I KAVDAQ STROKA
SDWIGAETSQ WLEWO ILI WPRAWO TAK,^TO EE PERWYJ NEPUSTOJ ZNAK POQWLQETSQ W\TOM STOLBCE.
C-x h TABi (indent-rigidly) cDWIGAET WSE STROKI W OBLASTI WPRAWO W SOOTWETSTWII SO SWOIM
ARGUMENTOM (WLEWO PRI OTRICATELXNOM ARGUMENTE).wSQ GRUPPA STROK VESTKO SDWIGAETSQ W
ODNU STORONU,IMENNO PO\TOMU\TA KOMANDA POLU^ILA TAKOE IMQ.
M-x indent-relative WYPOLNQET OTSTUP TO^KI,OSNOWYWAQSX NA PREDYDU]EJ STROKE
(FAKTI^ESKI,PO POSLEDNEJ NEPUSTOJ STROKE).oNA WSTAWLQET PROBEL W TO^KE,DWIGAQ TO^KU
DO TEH POR,POKA ONA NE WSTANET POD TO^KOJ OTSTUPA W PREDYDU]EJ STROKE.tO^KA OTSTUPA
QWLQETSQ KONCOM POSLEDOWATELXNOSTI PROBELOW ILI KONCOM STROKI.eSLI TO^KA NAHODITSQ
DALX[E WPRAWO,^EM [email protected] TO^KA OTSTUPA W PREDYDU]EJ STROKE,TO WSE PROBELXNYE ZNAKI
PERED TO^KOJ [email protected],I ISPOLXZUETSQ PERWAQ PRIMENIMAQ TEPERX TO^KA OTSTUPA.eSLI
DAVE POSLE\TOGO NET PRIGODNOJ TO^KI OTSTUPA,indent-relative ZAPUSKAET tab-to-tab-
stop (SMOTRITE [email protected]]IJ RAZDEL).
indent-relative |\TO OPREDELENIE hTABi W REVIME Indented Text.sM.gLAWA 21 [tEKST],
S.181.
sM.rAZDEL 21.11.6 [oTSTUPY W FORMATIROWANNOM TEKSTE],S.201,DRUGOJ SPOSOB ZADATX
OTSTUPY DLQ ^ASTI WA[EGO TEKSTA.
20.2 pOZICII TABULQCII
dLQ NABORA TABLIC WY MOVETE ISPOLXZOWATX OPREDELENIE
h TABi W REVIME Text,tab-to-
tab-stop.|TA KOMANDA WSTAWLQET PERED TO^KOJ OTSTUP,DOSTATO^NYJ DLQ TOGO,^TOBY
DOSTI^X [email protected]]EGO STOLBCA POZICII TABULQCII.eSLI WY NAHODITESX NE W REVIME Text,
\TU [email protected] MOVNO NAJTI PO [email protected]^U M-i.
wY MOVETE PROIZWOLXNO USTANOWITX ISPOLXZUEMYE W M-i POZICII TABULQCII.oNI ZAPO-
[email protected] W PEREMENNOJ S IMENEM tab-stop-list KAK SPISOK NOMEROW STOLBCOW W WOZRASTA-
@]EM PORQDKE.
uDOBNYJ SPOSOB USTANOWITX POZICII TABULQCII | WOSPOLXZOWATXSQ KOMANDOJ M-x
edit-tab-stops,KOTORAQ SOZDAET I WYBIRAET BUFER,SODERVA]IJ OPISANIE USTANOWLEN-
NYH POZICIJ TABULQCII.wY MOVETE OTREDAKTIROWATX\TOT BUFER DLQ OPREDELENIQ DRUGIH
POZICIJ TABULQCII I ZATEM NABRATX C-c C-c,^TOBY SDELATX\TI NOWYE POZICII TABULQ-
CII [email protected]]IMI.edit-tab-stops ZAPOMINAET,KAKOJ BUFER BYL TEKU]IM,KOGDA WY
ZAPUSKALI EE,I ZAPISYWAET POZICII TABULQCII OBRATNO W\TOT BUFER;OBY^NO WSE BUFERY
[email protected] ODNI I TE VE POZICII TABULQCII,I IZMENENIE IH W ODNOM BUFERE WLIQET NA
WSE,NO ESLI WAM SLU^ITSQ SDELATX tab-stop-list LOKALXNOJ W ODNOM BUFERE,TO edit-tab-
stops BUDET REDAKTIROWATX LOKALXNYE USTANOWKI.
pOKAVEM,KAK WYGLQDIT [email protected]]IJ [email protected] TEKST DLQ OBY^NYH POZICIJ TABU-
LQCII ^EREZ KAVDYE WOSEMX STOLBCOW.
::::::
gLAWA 20:oTSTUPY 1790 1 2 3 4
0123456789012345678901234567890123456789012345678
To install changes,type C-c C-c
pERWAQ STROKA SODERVIT DWOETO^IE W KAVDOJ POZICII TABULQCII.oSTALXNYE STROKI
PREDSTAWLENY PROSTO DLQ TOGO,^TOBY POMO^X WAM PONQTX,GDE NAHODITSQ DWOETO^IE,I
SOOB]ITX,^TO WY MOVETE DELATX.
zAMETIM,^TO POZICII TABULQCII,KOTORYE [email protected] tab-to-tab-stop,NE [email protected] NI-
^EGO OB]EGO S POKAZANNYMI SIMWOLAMI TABULQCII W BUFERE.sM.rAZDEL 11.7 [pEREMENNYE
IZOBRAVENIQ],S.84,DLQ BOLEE PODROBNOJ INFORMACII NA\TOT S^ET.
20.3 tABULQCIQ PO [email protected] S PROBELAMI
oBY^NO Emacs ISPOLXZUET DLQ OTSTUPA STROK KAK [email protected],TAK I PROBELY.eSLI WY
ZAHOTITE,TO WSE OTSTUPY BUDUT DELATXSQ TOLXKO PRI POMO]I PROBELOW.~TOBY POTREBOWATX
\TO,USTANOWITE [email protected] indent-tab-mode RAWNOJ nil.|TO PEREMENNAQ BUFERA;IZME-
NENIE EE WLIQET TOLXKO NA TEKU]IJ BUFER,NO IMEETSQ I ZNA^ENIE PO UMOL^[email protected],KOTOROE
WY TOVE MOVETE IZMENITX.sM.rAZDEL 31.2.4 [lOKALXNYE PEREMENNYE],S.350.
sU][email protected] TAKVE KOMANDY DLQ PREWRA]ENIQ TABULQCII W PROBELY I NAOBOROT,WSEGDA
[email protected]]IE STOLBCY WSEGO NEPUSTOGO TEKSTA.M-x tabify NAHODIT W OBLASTI POSLEDOWA-
TELXNOSTI PROBELOW I PREOBRAZUET W [email protected] [email protected]@ POSLEDOWATELXNOSTX,SOSTOQ][email protected]
PO MENX[EJ MERE IZ TREH PROBELOW,ESLI\TO MOVNO SDELATX BEZ IZMENENIQ OTSTUPA.M-x
untabify ZAMENQET WSE TABULQCII W OBLASTI NA [email protected]]EE ^ISLO PROBELOW.
180 rUKOWODSTWO PO GNU Emacs
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 18121 kOMANDY DLQ ESTESTWENNYH QZYKOW
tERMIN TEKST IMEET DWA [IROKO RASPROSTRANENNYH ZNA^ENIQ W NA[EJ OBLASTI [email protected]
TERNOJ NAUKI.oDNO |\TO DANNYE,KOTORYE [email protected] [email protected] [email protected]
FAJL,KOTORYJ WY REDAKTIRUETE PRI POMO]I Emacs,|\TO TEKST W\TOM SMYSLE SLOWA.
dRUGOE ZNA^ENIE BOLEE UZKOE:POSLEDOWATELXNOSTX ZNAKOW NA ESTESTWENNOM QZYKE,PREDNA-
ZNA^ENNAQ DLQ ^TENIQ [email protected] (WOZMOVNO POSLE OBRABOTKI FORMATIROWANIEM),W PROTIWO-
POLOVNOSTX PROGRAMMAM ILI KOMANDAM DLQ PROGRAMMY.
w ESTESTWENNYH QZYKAH PRINQTY STILISTI^ESKIE I SINTAKSI^ESKIE USLOWNOSTI,KOTO-
RYE MOGUT PODDERVIWATXSQ ILI WYGODNO ISPOLXZOWATXSQ KOMANDAMI REDAKTIROWANIQ:\TO
USLOWNOSTI,[email protected]^[email protected]]IE ISPOLXZOWANIE SLOW,PREDLOVENIJ,ABZACEW I PROPISNYH BUKW.
dANNAQ GLAWA OPISYWAET KOMANDY Emacs DLQ WSEH\TIH WE]EJ.sU][email protected] TAKVE KOMAN-
DY DLQ ZAPOLNENIQ,^TO OZNA^AET PERESTROJKU STROK ABZACEW TAKIM OBRAZOM,^TOBY ONI
BYLI PRIBLIZITELXNO RAWNOJ DLINY.kOMANDY DLQ PEREME]ENIQ ILI UNI^TOVENIQ SLOW,
PREDLOVENIJ I ABZACEW,PREDNAZNA^ENNYE W [email protected] O^EREDX DLQ REDAKTIROWANIQ TEKSTA,
^ASTO [email protected] POLEZNYMI I DLQ REDAKTIROWANIQ PROGRAMM.
Emacs IMEET NESKOLXKO OSNOWNYH REVIMOW DLQ REDAKTIROWANIQ TEKSTA NA ESTESTWENNOM
QZYKE.eSLI FAJL SODERVIT NESLOVNYJ ^ISTYJ TEKST,ISPOLXZUJTE REVIM Text,KOTORYJ
BYSTRO NASTRAIWAET Emacs NA SINTAKSI^ESKIE USLOWNOSTI TEKSTA.rEVIM Outline PREDO-
STAWLQET OSOBYE KOMANDY DLQ DEJSTWIJ S SO STRUKTURIROWANNYM TEKSTOM.sM.rAZDEL 21.8
[rEVIM Outline],S.190.
dLQ TEKSTA,KOTORYJ SODERVIT WSTROENNYE KOMANDY DLQ PROGRAMM FORMATIROWANIQ,
Emacs IMEET DRUGIE OSNOWNYE REVIMY,SWOJ DLQ KAVDOGO FORMATA.tAKIM OBRAZOM,DLQ
WWODA W T
E
X WY DOLVNY ISPOLXZOWATX REVIM T
E
X (SM.rAZDEL 21.9 [rEVIM TeX],S.194).
dLQ WWODA W nroпЂ‹ |REVIM NroпЂ‹.
wMESTO ISPOLXZOWANIQ PROGRAMMY FORMATIROWANIQ,WY MOVETE REDAKTIROWATX FORMA-
TIROWANNYJ TEKST W STILE WYSIWYG (\what you see is what you get")
1
S POMO][email protected] REVIMA
Enriched.tOGDA FORMATIROWANIE POQWLQETSQ NA\KRANE W Emacs WO WREMQ REDAKTIROWANIQ.
sM.rAZDEL 21.11 [fORMATIROWANNYJ TEKST],S.198.
21.1 sLOWA
w Emacs SU][email protected] KOMANDY DLQ PEREDWIVENIQ PO SLOWAM ILI WOZDEJSTWIQ NA NIH.pO
SOGLA[[email protected],WSE [email protected]^I DLQ\TOGO [email protected] Meta-ZNAKAMI.
M-f pEREJTI WPERED ^EREZ SLOWO (forward-word).
M-b pEREJTI NAZAD ^EREZ SLOWO (backward-word).
M-d uNI^TOVITX WPERED WSE WPLOTX DO KONCA SLOWA (kill-word).
M-
h DELi uNI^TOVITX NAZAD WSE WPLOTX DO NA^ALA SLOWA (backward-kill-word).
[email protected] pOMETITX KONEC [email protected]]EGO SLOWA (mark-word).
M-t pERESTAWITX DWA SLOWA ILI PERENESTI ODNO SLOWO ^EREZ DRUGIE SLOWA
(transpose-words).
zAMETXTE,KAK\TI [email protected]^I [email protected] RQD,KOTORYJ SOOTWETSTWUET [email protected]^AM,[email protected]]IM
SO ZNAKAMI:C-f,C-b,C-d,hDELi I [email protected] SOOTWETSTWUET [email protected],KOTORAQ INA^E NAZYWAETSQ
C-h SPCi.
kOMANDY M-f (forward-word) and M-b (backward-word) [email protected] WPERED ILI NAZAD
^EREZ SLOWA.tAKIM OBRAZOM,\TI Meta-ZNAKI ANALOGI^NY C-f I C-b,KOTORYE [email protected]
~TO WY WIDITE,TO I POLU^AETE.(pRIM.PEREWOD^IKA)
182 rUKOWODSTWO PO GNU Emacs^EREZ ODINO^NYE ZNAKI W TEKSTE.aNALOGIQ RASPROSTRANQETSQ NA ^ISLOWYE ARGUMENTQ,KOTO-
RYE SLUVAT S^ET^IKAMI POWTOROW.M-f S OTRICATELXNYM ARGUMENTOM PEREDWIGAET NAZAD,A
M-b S OTRICATELXNYM ARGUMENTOM PEREDWIGAET WPERED.dWIVENIE WPERED OSTANAWLIWAETSQ
SRAZU POSLE POSLEDNEJ BUKWY SLOWA,TOGDA KAK DWIVENIE NAZAD OSTANAWLIWAETSQ SRAZU PERED
PERWOJ BUKWOJ.
M-d (kill-word) UNI^TOVAET SLOWO POSLE TO^KI.tO^NEE,ONA UNI^TOVAET WSE OT TO^KI
DO TOGO MESTA,KUDA PEREMESTILA BY KOMANDA M-f.tAKIM OBRAZOM,ESLI TO^KA NAHODITSQ
W SEREDINE SLOWA,M-d UNI^TOVAET TOLXKO ^ASTX SLOWA POSLE TO^KI.eSLI MEVDU TO^KOJ I
[email protected]]IM SLOWOM NAHODQTSQ KAKIE-TO ZNAKI PREPINANIQ,TO ONI UNI^[email protected] WMESTE SO
SLOWOM.(eSLI WY HOTITE UNI^TOVITX TOLXKO [email protected]]EE SLOWO,NO NE UNI^TOVATX ZNAKI
PREPINANIQ PERED NIM,TO PROSTO SDELAJTE M-f,^TOBY PEREJTI NA KONEC,I UNI^TOVXTE
SLOWO W OBRATNOM NAPRAWLENII PRI POMO]I M-hDELi.) M-d TRAKTUET ARGUMENTY TO^NO TAK
VE,KAK M-f.
M-h DELi (backward-kill-word) UNI^TOVAET SLOWO PERED TO^KOJ.oNA UNI^TOVAET WSE OT
TO^KI NAZAD K TOMU MESTU,KUDA PEREDWINULA BY M-b.eSLI TO^KA NAHODITSQ POSLE PROBELA
W`FOO,BAR',TO UNI^TOVAETSQ`FOO,'.(eSLI WY HOTITE UNI^TOVITX PROSTO`FOO',SDELAJTE
M-b M-d WMESTO M-hDELi.)
M-t (transpose-words) MENQET MESTAMI SLOWO,STOQ]EE PERED TO^KOJ ILI SODERVA]EE
EE,SO [email protected]]IM SLOWOM.rAZGRANI^ITELXNYE ZNAKI MEVDU SLOWAMI NE [email protected]
PRIMER,`FOO,BAR'PREWRA]AETSQ W`BAR,FOO',A NE W`BAR FOO,'.dLQ BOLEE PODROBNOJ
INFORMACII O PERESTANOWKAH I ARGUMENTAH KOMAND PERESTANOWKI SMOTRITErAZDEL 13.2
[pERESTANOWKA],S.101.
~TOBY PODEJSTWOWATX NA [email protected]]IE n SLOW S POMO][email protected] OPERACII,KOTORAQ PRIMENQETSQ
MEVDU TO^KOJ I METKOJ,WY MOVETE LIBO USTANOWITX METKU W TO^KE I ZATEM PEREDWINUTX
TO^KU ^EREZ SLOWA,LIBO ISPOLXZOWATX KOMANDU [email protected] (mark-word),KOTORAQ NE PEREME]AET
TO^KU,NO USTANAWLIWAET METKU TUDA,KUDA EE PEREDWINULA BY KOMANDA [email protected] PRINIMA-
ET ^ISLOWOJ ARGUMENT,KOTORYJ GOWORIT,^EREZ SKOLXKO SLOW NUVNO POMESTITX METKU.w
REVIME Transient Mark\TA KOMANDA AKTIWIZIRUET METKU.
pONQTIE O SINTAKSISE U KOMAND,[email protected]]IH SO SLOWAMI,[email protected] UPRAWLQETSQ SIN-
TAKSI^ESKOJ [email protected] ZNAK MOVET BYTX OB_QWLEN,NAPRIMER,KAK RAZDELITELX SLOW.
sM.rAZDEL 31.6 [sINTAKSIS],S.366.
21.2 pREDLOVENIQ
kOMANDY Emacs DLQ DEJSTWIJ NAD PREDLOVENIQMI I ABZACAMI W BOLX[INSTWE SWOEM
PRIDANY [email protected]^AM,^TOBY ONI BYLI PODOBNY KOMANDAM RABOTY SO SLOWAMI.
M-a pEREJTI NAZAD K NA^ALU PREDLOVENIQ (backward-sentence).
M-e pEREJTI WPERED K KONCU PREDLOVENIQ (forward-sentence).
M-k uNI^TOVITX WPERED DO KONCA PREDLOVENIQ (kill-sentence).
C-x h DELi uNI^TOVITX WSE W OBRATNOM NAPRAWLENII DO NA^ALA PREDLOVENIQ (backward-
kill-sentence).
kOMANDY M-a I M-e (backward-sentence I forward-sentence) [email protected] TO^KU K
NA^ALU I K KONCU TEKU]EGO PREDLOVENIQ,SOOTWETSTWENNO.oNI WYBRANY TAK,^TOBY NA-
POMINATX C-a I C-e,KOTORYE [email protected] K KONCU I NA^ALU STROKI.w OTLI^IE OT NIH,
M-a I M-e PRI POWTORENII ILI S ZADANNYMI ^ISLOWYMI ARGUMENTAMI [email protected] ^EREZ
POSLEDOWATELXNYE PREDLOVENIQ.
pEREME]ENIE NAZAD ^EREZ PREDLOVENIE POME]AET TO^KU NEPOSREDSTWENNO PERED PERWYM
ZNAKOM\TOGO PREDLOVENIQ;PEREME]ENIE WPERED POME]AET TO^KU SRAZU POSLE ZNAKA PREPI-
NANIQ,ZAWER[[email protected]]EGO PREDLOVENIE.nI ODNA IZ\TIH KOMAND NE PEREME]AET ^EREZ PROPUSKI
NA GRANICAH PREDLOVENIJ.
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 183tO^NO TAK VE,KAK C-a I C-e [email protected] [email protected]][email protected] IM KOMANDU UNI^TOVENIQ C-k,TAK
I M-a I M-e [email protected] [email protected]][email protected] KOMANDU UNI^TOVENIQ M-k (kill-sentence),KOTORAQ
UNI^TOVAET WSE OT TO^KI DO KONCA PREDLOVENIQ.s ARGUMENTOM,RAWNYM MINUS EDINICE,
ONA UNI^TOVAET W OBRATNOM NAPRAWLENII DO NA^ALA PREDLOVENIQ.bOLX[IE ARGUMENTY
SLUVAT DLQ PODS^ETA POWTOROW.eSTX TAKVE OSOBAQ KOMANDA C-x
hDELi (backward-kill-
sentence) DLQ UNI^TOVENIQ W OBRATNOM NAPRAWLENII K NA^ALU PREDLOVENIQ.oNA UDOBNA,
KOGDA WY MENQETE SWOE RE[ENIE W PROCESSE SO^INENIQ TEKSTA.
kOMANDY RABOTY S PREDLOVENIQMI [email protected],^TO WY SLEDUETE SOGLA[[email protected] AMERI-
KANSKIH MA[INISTOK | STAWITX W KONCE PREDLOVENIQ DWA PROBELA;ONI S^[email protected] PREDLO-
VENIE OKON^ENNYM,ESLI TAM ESTX ZNAKI`.',`?'ILI`!',ZA KOTORYMI SLEDUET KONEC STROKI
ILI DWA PROBELA;W SEREDINE DOPUSTIMO [email protected] ^ISLO ZNAKOW`)',`]'ILI`"'.pREDLOVENIE
TAKVE NA^INAETSQ ILI KON^AETSQ,ESLI NA^INAETSQ ILI KON^AETSQ ABZAC.
pEREMENNAQ sentence-end UPRAWLQET RASPOZNAWANIEM KONCA PREDLOVENIQ.|TO REGULQR-
NOE WYRAVENIE,KOTOROE SOOTWETSTWUET POSLEDNIM NESKOLXKIM ZNAKAM PREDLOVENIQ WMESTE
S PROBELAMI,[email protected]]IMI ZA PREDLOVENIEM.eGO NORMALXNOE ZNA^ENIE TAKOWO:
"[.?!][]\"')]*\\($\\|\t\\|\\)[\t\n]*"
|TOT PRIMER OB_QSNQETSQ W RAZDELE O REGULQRNYH WYRAVENIQH.sM.rAZDEL 12.5 [rEGULQR-
NYE WYRAVENIQ],S.91.
eSLI WY HOTITE ISPOLXZOWATX MEVDU PREDLOVENIQMI TOLXKO ODIN PROBEL,WAM NUVNO
USTANOWITX sentence-end W TAKOE ZNA^ENIE:
"[.?!][]\"')]*\\($\\|\t\\|\\)[\t\n]*"
wAM NUVNO TAKVE USTANOWITX [email protected] sentence-end-double-space RAWNOJ nil,^TOBY
KOMANDY ZAPOLNENIQ OVIDALI I OSTAWLQLI W KONCE PREDLOVENIJ TOLXKO ODIN PROBEL.zA-
METXTE,^TO PRI\TOM NEWOZMOVNO OTLI^ITX TO^KI,ZAWER[[email protected]]IE PREDLOVENIQ,I TO^EK W
SOKRA]ENIQH.
21.3 aBZACY
kOMANDY Emacs DLQ RABOTY S ABZACAMI |\TO TAKVE [email protected]^I.
M-{ pEREJTI NAZAD K NA^ALU PREDYDU]EGO ABZACA (backward-paragraph).
M-} pEREMESTITXSQ WPERED K KONCU [email protected]]EGO ABZACA (forward-paragraph).
M-h pOSTAWITX TO^KU I METKU WOKRUG\TOGO ILI [email protected]]EGO ABZACA (mark-
paragraph).
M-{ DWIGAET TO^KU W NA^ALO TEKU]EGO ILI PREDYDU]EGO ABZACA,W TO WREMQ KAK M-} DWI-
GAET EE K KONCU TEKU]EGO ILI [email protected]]EGO ABZACA.aBZACY [email protected] PUSTYMI STROKAMI
I STROKAMI KOMAND FORMATIROWANIQ TEKSTA,KOTORYE W [email protected] O^EREDX NE [email protected] ^[email protected]
KAKOGO-LIBO ABZACA.w REVIME Fundamental,NO NE W REVIME Text,STROKA S OTSTUPOM TAK-
VE NA^INAET NOWYJ ABZAC.(eSLI PERED ABZACEM STOIT PUSTAQ STROKA,DANNYE KOMANDY
S^[email protected]\TU [email protected] STROKU NA^ALOM ABZACA.)
w OSNOWNYH REVIMAH DLQ PROGRAMM,ABZACY NA^[email protected] I KON^[email protected] TOLXKO PUSTYMI
STROKAMI.|TO DELAET KOMANDY DLQ ABZACEW PO-PREVNEMU UDOBNYMI,DAVE HOTQ ABZACEW KAK
TAKOWYH NET.
kOGDA IMEETSQ PREFIKS ZAPOLNENIQ,ABZACY OGRANI^[email protected] WSEMI STROKAMI,KOTORYE
NE NA^[email protected] S\TOGO PREFIKSA.sM.rAZDEL 21.5 [zAPOLNENIE],S.185.
kOGDA WY ZAHOTITE OPERIROWATX S ABZACEM,WY MOVETE ISPOLXZOWATX KOMANDU M-h (mark-
paragraph),^TOBY USTANOWITX WOKRUG NEGO OBLASTX.tAKIM OBRAZOM,NAPRIMER,M-h C-w
UNI^TOVAET ABZAC WOKRUG ILI POSLE TO^KI.kOMANDA M-h STAWIT TO^KU W NA^ALE ABZACA,
SODERVA]EGO TO^KU,I METKU W EGO KONCE.w REVIME Transient Mark ONA AKTIWIZIRUET
METKU.eSLI TO^KA NAHODITSQ MEVDU ABZACAMI (W OBLASTI PUSTYH STROK ILI NA GRANICE),
184 rUKOWODSTWO PO GNU EmacsTO TO^KOJ I METKOJ OKRUVAETSQ ABZAC,[email protected]]IJ ZA TO^KOJ.eSLI PERWOJ STROKE ABZACA
PRED[[email protected] PUSTYE STROKI,TO ODNA IZ\TIH PUSTYH STROK [email protected]^AETSQ W OBLASTX.
tO^NYM OPREDELENIEM GRANIC ABZACA [email protected] DWE PEREMENNYE:paragraph-separate
I paragraph-start.zNA^ENIE paragraph-start |\TO REGULQRNOE WYRAVENIE,KOTOROE
DOLVNO SOOTWETSTWOWATX [email protected] STROKE,KOTORAQ LIBO NA^INAET,LIBO RAZDELQET ABZACY.
zNA^ENIE paragraph-separate |\TO E]E ODNO REGULQRNOE WYRAVENIE,KOTOROE DOLV-
NO SOOTWETSTWOWATX TOLXKO STROKAM,KOTORYE [email protected] ABZAC,NO NE [email protected] ^[email protected]
KAKOGO-LIBO ABZACA (NAPRIMER,PUSTYE STROKI).sTROKI,KOTORYE NA^[email protected] NOWYJ ABZAC I
SODERVATSQ W NEM,DOLVNY SOOTWETSTWOWATX TOLXKO paragraph-start,NO NE paragraph-
separate.nAPRIMER,W REVIME Fundamental,paragraph-start RAWNA"[\t\n\f]",A
paragraph-separate |\TO"[\t\f]*$".
oBY^NO VELATELXNO,^TOBY GRANICY STRANIC RAZDELQLI ABZACY.zNA^ENIQ PO UMOL^A-
[email protected]\TIH PEREMENNYH [email protected] OBY^NYJ RAZDELITELX STRANIC.
21.4 sTRANICY
o^ENX ^ASTO FAJLY [email protected] RAZDELENNYMI NA STRANICY S POMO][email protected] ZNAKOW PRO-
GONA (ILI PEREWODA) STRANICY (ASCII Control-L,WOSXMIRI^NYJ KOD 014).kOGDA WY PE^ATA-
ETE FAJL,\TOT ZNAK PRINUDITELXNO RAZBIWAET STRANICU;TAKIM OBRAZOM,KAVDAQ STRANICA
FAJLA BUDET NA^INATXSQ NA NOWOM LISTE BUMAGI.bOLX[INSTWO KOMAND Emacs RASSMATRIWA-
@T ZNAK-RAZDELITELX STRANIC TO^NO TAK VE,KAK [email protected] DRUGIE ZNAKI:WY MOVETE WSTAWITX
IH PRI POMO]I C-q C-l ILI UDALITX S POMO][email protected] hDELi.tAKIM OBRAZOM,WY SWOBODNY W WY-
BORE,DELITX NA STRANICY WA[ FAJL ILI NET.oDNAKO,IZ-ZA TOGO,^TO DELENIE NA STRANICY
^ASTO QWLQETSQ SMYSLOWYM DELENIEM FAJLA,TO PREDUSMOTRENY KOMANDY DLQ PEREME]ENIQ
PO STRANICAM I DLQ DEJSTWIJ NAD NIMI.
C-x [ sMESTITX TO^KU K PREDYDU]EJ STRANICE (backward-page).
C-x ] sMESTITX TO^KU K [email protected]]EJ STRANICE (forward-page).
C-x C-p pOSTAWITX TO^KU I METKU PO KRAQM\TOJ (ILI DRUGOJ) STRANICY (mark-page).
C-x l sOS^ITATX STROKI W\TOJ STRANICE (count-lines-page).
kOMANDA C-x [ (backward-page) DWIGAET TO^KU K POZICII NEPOSREDSTWENNO POSLE PRE-
DYDU]EGO RAZDELITELQ STRANICY.eSLI TO^KA UVE NAHODITSQ SRAZU POSLE RAZDELITELQ,TO
KOMANDA PROPUSKAET\TU STRANICU I OSTANAWLIWAETSQ NA PRED[[email protected]]EJ EJ.~ISLOWOJ AR-
GUMENT SLUVIT W KA^ESTWE S^ET^IKA POWTOROW.kOMANDA C-x ] (forward-page) PEREDWIGAET
TO^KU WPERED,PROPUSKAQ [email protected]]IJ RAZDELITELX STRANIC.
kOMANDA C-x C-p (mark-page) STAWIT TO^KU W NA^ALE TEKU]EJ STRANICY,A METKU W EE
KONCE.rAZDELITELX STRANIC W KONCE [email protected]^AETSQ W OBLASTX (METKA SLEDUET ZA NIM).rAZDE-
LITELX STRANIC W NA^ALE NE [email protected]^AETSQ (TO^KA SLEDUET ZA NIM).C-x C-p C-w DAET UDOBNYJ
SPOSOB UNI^TOVITX STRANICU ILI PEREMESTITX EE W DRUGOE MESTO.eSLI WY SDWINITESX K
[email protected] E]E ODNOJ STRANICY S POMO][email protected] C-x [ I C-x ],A ZATEM WOSSTANOWITE UNI^TO-
[email protected] STRANICU,WSE STRANICY BUDUT SNOWA PRAWILXNO RAZGRANI^INY.C-x C-p [email protected]^AET
W OBLASTX TOLXKO RAZDELITELX [email protected]]EJ STRANICY IMENNO DLQ\TOGO.
~ISLOWOJ ARGUMENT DLQ C-x C-p ISPOLXZUETSQ DLQ UKAZANIQ STRANICY,K KOTOROJ NEOB-
HODIMO OTPRAWITXSQ,OTNOSITELXNO TEKU]EJ.nOLX OZNA^AET TEKU][email protected] STRANICU.eDINICA
OZNA^AET [email protected]][email protected] STRANICU,A пЂЂ1 |PREDYDU][email protected]
kOMANDA C-x l (count-lines-page) HORO[A DLQ PRINQTIQ RE[ENIQ,GDE RAZORWATX STRA-
NICU NA DWE.oNA PE^ATAET W\HO-OBLASTI OB]EE ^ISLO STROK W TEKU]EJ STRANICE I ZATEM
DELIT EE NA TE,KOTORYE PRED[[email protected] TEKU]EJ STROKE,I NA TE,^TO [email protected] ZA NEJ,KAK W
PRIMERE:
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 185Page has 96 (72+25) lines
2
zAMETXTE,^TO ZNA^ENIE SUMMY NA EDINICU MENX[E;\TO WERNO,ESLI TO^KA NE STOIT W NA^ALE
STROKI.
pEREMENNAQ page-delimiter GOWORIT,GDE NA^INAETSQ STRANICA.eE ZNA^ENIE |\TO REGU-
LQRNOE WYRAVENIE,[email protected]]EE NA^ALU STROKI,KOTORAQ RAZDELQET STRANICY.oBY^-
NOE ZNA^ENIE\TOJ PEREMENNOJ RAWNO"^\f",^TO SOOTWETSTWUET ZNAKU PEREWODA STRANICY W
NA^ALE STROKI.
21.5 zAPOLNENIE TEKSTA
zAPOLNENIE TEKSTA OZNA^AET RAZBIENIE EGO NA STROKI OPREDELENNOJ DLINY.Emacs MOVET
DELATX ZAPOLNENIE DWUMQ SPOSOBAMI.w REVIME Auto Fill,WSTAWKA TEKSTA S POMO][email protected] SA-
[email protected]]IHSQ ZNAKOW TAKVE AWTOMATI^ESKI ZAPOLNQET EGO.eSTX TAKVE QWNYE KOMANDY
DLQ ZAPOLNENIQ,KOTORYE WY MOVETE ISPOLXZOWATX,KOGDA REDAKTIROWANIE TEKSTA OSTAWLQET
EGO NEZAPOLNENNYM.kOGDA WY REDAKTIRUETE FORMATIROWANNYJ TEKST,WY MOVETE ZADATX
STILX ZAPOLNENIQ KAVDOGO FRAGMENTA (SM.rAZDEL 21.11 [fORMATIROWANNYJ TEKST],S.198).
21.5.1 rEVIM Auto Fill
rEVIM Auto Fill |\TO WTOROSTEPENNYJ REVIM,W KOTOROM STROKI [email protected] AWTOMA-
TI^ESKI,KOGDA STANOWQTSQ SLI[KOM DLINNYMI.rAZRYW PROISHODIT TOLXKO TOGDA,KOGDA
WY NABIRAETE
h SPCi ILI hRETi.
M-x auto-fill-mode
[email protected]^ENIE I [email protected]^ENIE REVIMA Auto Fill.
h SPCi
h RETi w REVIME Auto Fill PRERYWAET STROKU,ESLI\TO NUVNO.
M-x auto-fill-mode [email protected]^AET REVIM Auto Fill,ESLI ON BYL [email protected]^EN,ILI [email protected]^AET,
ESLI ON BYL [email protected]^EN.s POLOVITELXNYM ARGUMENTOM ONA WSEGDA [email protected]^AET REVIM Auto
Fill,A OTRICATELXNYM | WSEGDA [email protected]^AET.wY MOVETE WIDETX,KOGDA REVIM Auto Fill
DEJSTWUET,PO [email protected] SLOWA`Fill'W STROKE REVIMA WNUTRI KRUGLYH SKOBOK.rEVIM
Auto Fill | WTOROSTEPENNYJ REVIM,[email protected]^AEMYJ ILI [email protected]^AEMYJ DLQ KAVDOGO BUFERA
OTDELXNO.sM.rAZDEL 31.1 [wTOROSTEPENNYE REVIMY],S.341.
w REVIME Auto Fill STROKI AWTOMATI^ESKI [email protected] NA PROBELAH,KOGDA ONI STANO-
WQTSQ DLINNEE VELAEMOJ WELI^INY.pRERYWANIE I PERERASPOLOVENIE STROKI PROISHODIT,
TOLXKO KOGDA WY NABIRAETE h SPCi ILI hRETi.eSLI WY HOTITE WSTAWITX PROBEL ILI ZNAK
NOWOJ STROKI S ZAPRETOM PRERYWANIQ STROKI,NABERITE C-q hSPCi ILI C-q C-j (NAPOMNIM,
^TO ZNAK NOWOJ STROKI |\TO NA SAMOM DELE control-J).C-o TAKVE WSTAWLQET [email protected] STROKU
BEZ PRERYWANIQ STROKI.
rEVIM Auto Fill HORO[O RABOTAET S REVIMAMI DLQ QZYKOW PROGRAMMIROWANIQ,TAK KAK
ON DELAET W NOWYH STROKAH OTSTUP S POMO][email protected]
h TABi.eSLI STROKA,ZAKAN^[email protected]]AQSQ KOM-
MENTARIEM,POLU^ILASX SLI[KOM DLINNOJ,TO TEKST KOMMENTARIQ RAZBIWAETSQ NA DWE STRO-
KI.wOZMOVNO,W KONCE PERWOJ STROKI I W NA^ALE WTOROJ WSTAWQTSQ NOWYE OGRANI^ITE-
LI KOMMENTARIEW,TAKIM OBRAZOM,^TOBY KAVDAQ STROKA STALA OTDELXNYM KOMMENTARIEM;
\TIM WYBOROM UPRAWLQET PEREMENNAQ comment-multi-line (SM.rAZDEL 22.7 [kOMMENTARII],
S.219 ).
aDAPTIWNOE ZAPOLNENIE (SMOTRITE [email protected]]IJ RAZDEL) RABOTAET S REVIMOM Auto Fill TAK
VE,KAK S QWNYMI KOMANDAMI ZAPOLNENIQ.oNO AWTOMATI^ESKI BERET PREFIKS ZAPOLNENIQ
IZ WTOROJ ILI PERWOJ STROKI ABZACA.2
sTRANICA SODERVIT 96 (72+25) STROK.(pRIM.PEREWOD^IKA)
186 rUKOWODSTWO PO GNU EmacsrEVIM Auto Fill NE PEREZAPOLNQET CELYE ABZACY;ON MOVET PRERYWATX STROKI,NO NE
MOVET IH OB_EDINQTX.tAKIM OBRAZOM,REDAKTIROWANIE W SEREDINE ABZACA MOVET PRIWESTI
K [email protected] ABZACA,KOTORYJ NEPRAWILXNO ZAPOLNEN.pROSTEJ[IM SPOSOBOM SDELATX ABZAC
SNOWA PRAWILXNO ZAPOLNENNYM OBY^NO SLUVIT PRIMENENIE QWNYH KOMANDY ZAPOLNENIQ.
mNOGIE POLXZOWATELI [email protected] REVIM Auto Fill I HOTQT ISPOLXZOWATX EGO WO WSEH TEKSTOWYH
FAJLAH.rAZDEL O FAJLAH INICIALIZACII RASSKAZYWAET,KAK USTROITX,^TOBY\TO BYLO DLQ
WAS POSTOQNNYM.sM.rAZDEL 31.7 [fAJL INICIALIZACII],S.366.
21.5.2 qWNYE KOMANDY ZAPOLNENIQ
M-q zAPOLNITX TEKU]IJ ABZAC (fill-paragraph).
C-x f uSTANOWITX STOLBEC ZAPOLNENIQ (set-fill-column).
M-x fill-region
zAPOLNITX KAVDYJ ABZAC W OBLASTI (fill-region).
M-x fill-region-as-paragraph
zAPOLNITX OBLASTX,RASSMATRIWAQ EE KAK ODIN ABZAC.
M-s oTCENTRIROWATX STROKU.
~TOBY PEREZAPOLNITX ODIN ABZAC,ISPOLXZUJTE KOMANDU M-q (fill-paragraph).oNA
DEJSTWUET NA ABZAC,W KOTOROM NAHODITSQ TO^KA,ILI NA ABZAC POSLE TO^KI,ESLI ONA STOIT
MEVDU ABZACAMI.pEREZAPOLNENIE RABOTAET PUTEM UDALENIQ WSEH RAZRYWOW STROK I WSTAWKI
NOWYH W TEH MESTAH,GDE\TO TREBUETSQ.
~TOBY PEREZAPOLNITX MNOGO ABZACEW,ISPOLXZUJTE M-x fill-region,KOTORAQ DELIT OB-
LASTX NA ABZACY I ZAPOLNQET KAVDYJ IZ NIH.
kOMANDY M-q I fill-region [email protected] DLQ NAHOVDENIQ GRANIC ABZACA TOT VE SAMYJ
KRITERIJ,^TO I M-h (SM.rAZDEL 21.3 [aBZACY],S.183).dLQ BOLX[EGO KONTROLQ,WY MOVETE
ISPOLXZOWATX M-x fill-region-as-paragraph,KOTORAQ PEREZAPOLNQET WSE MEVDU TO^KOJ I
METKOJ.|TA KOMANDA UDALQET W OBLASTI WSE PUSTYE STROKI,PO\TOMU OTDELXNYE BLOKI
TEKSTA W REZULXTATE [email protected] W ODIN BLOK.
~ISLOWOJ ARGUMENT DLQ M-q PRIWODIT K TOMU,^TO POMIMO ZAPOLNENIQ,TEKST E]E I
WYRAWNIWAETSQ.|TO ZNA^IT,^TO [email protected] DOPOLNITELXNYE PROBELY,^TOBY PRAWYJ
KRAJ STROKI POPADAL TO^NO W STOLBEC ZAPOLNENIQ.~TOBY UNI^TOVITX DOPOLNITELXNYE
PROBELY,ISPOLXZUJTE M-q BEZ ARGUMENTA.(aNALOGI^NO I DLQ fill-region.) dRUGOJ SPOSOB
UPRAWLQTX WYRAWNIWANIEM ILI WYBRATX DRUGIE STILI ZAPOLNENIQ SOSTOIT W PRIMENENII
SWOJSTWA TEKSTA justification;SMOTRITE rAZDEL 21.11.7 [fORMAT wYRAWNIWANIE],S.202.
kOMANDA M-s (center-line) CENTRIRUET TEKU][email protected] STROKU W PREDELAH TEKU]EGO STOLBCA
ZAPOLNENIQ.s ARGUMENTOM n,ONA CENTRIRUET NESKOLXKO STROK OTDELXNO I PEREHODIT ^EREZ
NIH.
mAKSIMALXNAQ [IRINA STROKI DLQ ZAPOLNENIQ SODERVITSQ W PEREMENNOJ fill-column.
iZMENENIE ZNA^ENIQ fill-column DELAET EE LOKALXNOJ DLQ TEKU]EGO BUFERA;DO\TOGO MO-
MENTA DEJSTWUET ZNA^ENIE PO UMOL^[email protected]^ALXNO ONO RAWNO 70.sM.rAZDEL 31.2.4
[lOKALXNYE PEREMENNYE],S.350.nAILEG^AJ[IJ SPOSOB USTANOWITX fill-column | IS-
POLXZOWATX KOMANDU C-x f (set-fill-column).zAPU]ENNAQ S ^ISLOWYM ARGUMENTOM,ONA
ISPOLXZUET EGO W KA^ESTWE NOWOGO STOLBCA ZAPOLNENIQ.pROSTO S C-u W KA^ESTWE ARGUMENTA,
ONA USTANAWLIWAET fill-column SOOTWETSTWENNO TEKU]EJ GORIZONTALXNOJ POZICII TO^KI.
kOMANDY Emacs OBY^NO [email protected] TO^KU,ZA KOTOROJ [email protected] DWA PROBELA ILI
PEREWOD STROKI,KAK KONEC PREDLOVENIQ;TO^KA,POSLE KOTOROJ IDET TOLXKO ODIN PROBEL,
UKAZYWAET NA SOKRA]ENIE I NE QWLQETSQ KONCOM PREDLOVENIQ.~TOBY SOHRANITX RAZGRA-
NI^ENIE MEVDU DWUMQ\TIMI WARIANTAMI ISPOLXZOWANIQ TO^KI,KOMANDY ZAPOLNENIQ NE
[email protected] STROKU POSLE TO^KI,ZA KOTOROJ IDET TOLXKO ODIN PROBEL.
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 187eSLI PEREMENNAQ sentence-end-double-space RAWNA nil,TO KOMANDY ZAPOLNENIQ OVI-
[email protected] I [email protected] W KONCE PREDLOVENIJ TOLXKO ODIN PROBEL.oBY^NO\TA PEREMENNAQ
RAWNA t,PO\TOMU KOMANDY ZAPOLNENIQ [email protected] NA POSTANOWKE DWUH PROBELAH W KONCE
PREDLOVENIQ,KAK OB_QSNENO WY[E.sM.rAZDEL 21.2 [pREDLOVENIQ],S.182.
eSLI PEREMENNAQ colon-double-space NE RAWNA nil,KOMANDY ZAPOLNENIQ STAWQT POSLE
DWOETO^IQ DWA PROBELA.
21.5.3 pREFIKS ZAPOLNENIQ
~TOBY ZAPOLNITX ABZAC,W KOTOROM KAVDAQ STROKA NA^INAETSQ S OSOBOGO MARKERA (KO-
TORYJ MOVET NESKOLXKIMI PROBELAMI,^TO DAET ABZAC S OTSTUPOM),ISPOLXZUJTE TAK NA-
ZYWAEMYJ PREFIKS ZAPOLNENIQ.pREFIKS ZAPOLNENIQ |\TO CEPO^KA ZNAKOW,S KOTOROJ,PO
[email protected] Emacs,NA^INAETSQ KAVDAQ STROKA,I KOTORAQ NE [email protected]^AETSQ W ZAPOLNE-
NIE.wY MOVETE ZADATX PREFIKS ZAPOLNENIQ QWNO;KROME TOGO,Emacs MOVET WY^ISLQTX EGO
AWTOMATI^ESKI (SM.rAZDEL 21.5.4 [aDAPTIWNOE ZAPOLNENIE],S.188).
C-x.uSTANOWITX PREFIKS ZAPOLNENIQ (set-fill-prefix).
M-q zAPOLNITX ABZAC S TEKU]IM PREFIKSOM ZAPOLNENIQ (fill-paragraph).
M-x fill-individual-paragraphs
zAPOLNITX OBLASTX,RASSMATRIWAQ KAVDOE IZMENENIE OTSTUPA KAK NA^ALO NOWOGO
ABZACA.
M-x fill-nonuniform-paragraphs
zAPOLNITX OBLASTX,S^ITAQ NA^ALOM NOWOGO ABZACA TOLXKO STROKI-RAZDELITELI
ABZACEW.
~TOBY ZADATX PREFIKS ZAPOLNENIQ,PEREDWINXTESX K STROKE,KOTORAQ NA^INAETSQ S VE-
LAEMOGO PREFIKSA,POSTAWXTE TO^KU W KONEC PREFIKSA I DAJTE KOMANDU C-x.(set-fill-
prefix).pOSLE C-x STOIT TO^KA.~TOBY [email protected]^ITX PREFIKS ZAPOLNENIQ,OPREDELITE
PUSTOJ PREFIKS:NABERITE C-x.,KOGDA TO^KA NAHODITSQ W NA^ALE STROKI.
kOGDA PREFIKS ZAPOLNENIQ W DEJSTWII,KOMANDY ZAPOLNENIQ UNI^[email protected] EGO W KAVDOJ
STROKE PERED ZAPOLNENIEM I [email protected] EGO W [email protected] STROKU POSLE ZAPOLNENIQ.rEVIM
Auto Fill TAKVE AWTOMATI^ESKI WSTAWLQET W [email protected] WNOWX [email protected] STROKU PREFIKS ZA-
POLNENIQ.kOMANDA C-o WSTAWLQET W SOZDANNYE EJ STROKI PREFIKS ZAPOLNENIQ,KOGDA WY
ISPOLXZUETE EE W NA^ALE STROKI (SM.rAZDEL 4.7 [pUSTYE STROKI],S.39).s DRUGOJ STORONY,
KOMANDA M-^ UNI^TOVAET PREFIKS (ESLI ON ESTX) POSLE UDALQEMOGO PEREWODA STROKI (SM.gLAWA 20 [oTSTUPY],S.177).
nAPRIMER,ESLI fill-column RAWNA 40 I WY USTANOWILI PREFIKS ZAPOLNENIQ RAWNYM`;;
',TO M-q W TAKOM TEKSTE:
;;|TO PRIMER
;;ABZACA WNUTRI
;;KOMMENTARIQ W STILE lISPA.
DAET [email protected]]EE:
;;|TO PRIMER ABZACA WNUTRI KOMMENTARIQ
;;W STILE lISPA.
sTROKI,NE NA^[email protected]]IESQ S PREFIKSA ZAPOLNENIQ,[email protected] KAK NA^[email protected]]IE
ABZAC I W M-q,I W KOMANDAH RABOTY S ABZACAMI;\TO DAET HORO[IE REZULXTATY DLQ ABZACEW
S WISQ]IM OTSTUPOM (WSE STROKI,KROME PERWOJ,[email protected] OTSTUP).sTROKI,STAW[IE PUSTYMI
ILI [email protected]]IMI OTSTUP POSLE UDALENIQ PREFIKSA,TAKVE [email protected] ILI NA^[email protected] ABZAC;
\TO IMENNO TO,^TO WY HOTITE,ESLI WY PI[ETE KOMMENTARII,SOSTOQ]IE IZ NESKOLXKIH
ABZACEW,S OGRANI^ITELEM KOMMENTARIQ NA KAVDOJ STROKE.
188 rUKOWODSTWO PO GNU EmacswY MOVETE ISPOLXZOWATX M-x fill-individual-paragraphs,^TOBY USTANOWITX PREFIKS
ZAPOLNENIQ DLQ KAVDOGO ABZACA AWTOMATI^ESKI.|TA KOMANDA DELIT OBLASTX NA ABZACY,
S^ITAQ [email protected] IZMENENIE WELI^INY OTSTUPA NA^ALOM NOWOGO ABZACA,I ZAPOLNQET KAVDYJ
IZ\TIH ABZACEW.tAKIM OBRAZOM,WSE STROKI ODNOGO\ABZACA"[email protected] ODINAKOWYJ OTSTUP.
iMENNO\TOT OTSTUP SLUVIT PREFIKSOM ZAPOLNENIQ DLQ KAVDOGO ABZACA.
M-x fill-nonuniform-paragraphs |\TO POHOVAQ KOMANDA,KOTORQ DELIT OBLASTX NA
ABZACY DRUGIM SPOSOBOM.oNA RASSMATRIWAET TOLXKO STROKI-RAZDELITELI ABZACEW (KAK
OPREDELENO paragraph-separate) W KA^ESTWE NA^[email protected]]IH NOWYJ ABZAC.pOSKOLXKU\TO
OZNA^AET,^TO STROKI ODNOGO ABZACA MOGUT IMETX RAZNYJ OTSTUP,W KA^ESTWE PREFIKSA
ZAPOLNENIQ ISPOLXZUETSQ OTSTUP NAIMENX[EGO SREDI WSEH STROK\TOGO ABZACA RAZMERA.|TO
DAET HORO[IE REZULXTATY DLQ STILEJ,W KOTORYH PERWAQ STROKA ABZACA IMEET BOLX[IJ ILI
MENX[IJ OTSTUP,^EM OSTALXNAQ ^ASTX ABZACA.
pREFIKS ZAPOLNENIQ HRANITSQ W PEREMENNOJ fill-prefix.eE ZNA^ENIE |\TO LIBO
STROKA,LIBO nil,KOGDA PREFIKSA ZAPOLNENIQ NET.w KAVDOM BUFERE DLQ\TOJ PEREMENNOJ
ESTX SWOE ZNA^ENIE;EE IZMENENIE WOZDEJSTWUET TOLXKO NA TEKU]IJ BUFER,NO IMEETSQ I
ZNA^ENIE PO UMOL^[email protected],KOTOROE WY TAKVE MOVETE IZMENITX.sM.rAZDEL 31.2.4 [lOKALXNYE
PEREMENNYE],S.350.
sWOJSTWO TEKSTA indentation PREDOSTAWLQET DRUGOJ SPOSOB UPRAWLENIQ WELI^INOJ OT-
STUPA ABZACA.sM.rAZDEL 21.11.6 [fORMAT oTSTUP],S.201.
21.5.4 aDAPTIWNOE ZAPOLNENIE
kOMANDY ZAPOLNENIQ MOGUT W NEKOTORYH SLU^AQH AWTOMATI^ESKI WY^ISLQTX PODHODQ]IJ
DLQ ABZACA PREFIKS ZAPOLNENIQ:PROPUSKI ILI OPREDELENNAQ PUNKTUACIQ W NA^ALE STROKI
[email protected] NA WSE STROKI ABZACA.
eSLI W ABZACE ESTX DWE ILI BOLEE STROKI,PREFIKS ZAPOLNENIQ BERETSQ IZ WTOROJ,NO
TOLXKO ESLI ON TAKVE POQWLQETSQ I W PERWOJ.
eSLI W ABZACE ESTX TOLXKO ODNA STROKA,KOMANDY ZAPOLNENIQ MOGUT WZQTX PREFIKS IZ
\TOJ STROKI.zDESX SLOVNO PRINQTX RE[ENIE,POTOMU ^TO W TAKOM SLU^AE RAZUMNYMI MOGUT
OKAZATXSQ TRI WARIANTA:
пЂЏ iSPOLXZOWATX PREFIKS PERWOJ STROKI DLQ WSEH STROK\TOGO ABZACA.
пЂЏ sDELATX W [email protected]]IH STROKAH OTSTUP IZ PROPUSKOW TAKIM OBRAZOM,^TOBY ONI WY-
ROWNQLISX PO TEKSTU,[email protected]]EMU POSLE PREFIKSA NA PERWOJ,NO NE KOPIROWATX W DEJ-
STWITELXNOSTI PREFIKS PERWOJ STROKI.
пЂЏ nE PREDPRINIMATX NIKAKIH OSOBENNYH DEJSTWIJ DLQ WTOROJ I [email protected]]IH STROK.
wSE TRI\TIH STILQ FORMATIROWANIQ [email protected] ^ASTO.pO\TOMU KOMANDY ZAPOLNENIQ
[email protected] WYQSNITX,KAKOJ BY WAM PONRAWILSQ,OSNOWYWAQSX NA [email protected]]EMSQ PREFIKSE I
NA OSNOWNOM REVIME.kAK\TO DELAETSQ,OPISANO NIVE.
eSLI PREFIKS,OBNARUVENNYJ NA PERWOJ STROKE,SOOTWETSTWUET REGULQRNOMU [email protected]
adaptive-fill-first-line-regexp,ILI ON OKAZALSQ [email protected],NA^[email protected]]EJ
KOMMENTARIJ (\TO ZAWISIT OT OSNOWNEGO REVIMA),TO DLQ ZAPOLNENIQ ABZACA ISPOLXZUETSQ
\TOT NAJDENNYJ PREFIKS,PRI USLOWII,^TO ON NE BUDET DEJSTWOWATX KAK NA^ALO ABZACA W
[email protected]]IH STROKAH.
iNA^E,NAJDENNYJ PREFIKS PREOBRAZUETSQ W\KWIWALENTNOE ^ISLO PROBELOW,I W KA^ESTWE
PREFIKSA ZAPOLNENIQ DLQ OSTAW[IHSQ STROK [email protected]\TI PROBELY,PRI USLOWII,^TO
ONI NE BUDUT DEJSTWOWATX KAK NA^ALO ABZACA W [email protected]]IH STROKAH.
w REVIME Text I W DRUGIH REVIMAH,GDE ABZACY [email protected] TOLXKO PUSTYMI STROKAMI
I PEREWODAMI STRANICY,PREFIKS,WYBIRAEMYJ ADAPTIWNYM ZAPOLNENIEM,NIKOGDA NE WEDET
SEBQ KAK NA^ALO ABZACA,PO\TOMU ON WSEGDA MOVET ISPOLXZOWATXSQ DLQ ZAPOLNENIQ.
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 189pEREMENNAQ adaptive-fill-regexp OPREDELQET,KAKIE WIDY NA^ALA STROKI MOGUT SLU-
VITX PREFIKSOM ZAPOLNENIQ:[email protected] [email protected] ZNAKI W NA^ALE STROKI,[email protected]
]IE\TOMU REGULQRNOMU [email protected] WY USTANOWITE [email protected] adaptive-fill-mode
RAWNOJ nil,PREFIKS ZAPOLNENIQ NIKOGDA NE WYBIRAETSQ AWTOMATI^ESKI.
wY MOVETE ZADATX BOLEE SLOVNYE METODY AWTOMATI^ESKOGO WYBORA PREFIKSA ZAPOLNE-
NIQ,USTANOWIW [email protected] adaptive-fill-function W ZNA^ENIE FUNKCII.|TA FUNKCIQ
WYZYWAETSQ,KOGDA TO^KA NAHODITSQ S LEWOGO KRAQ STROKI,I ONA DOLVNA WERNUTX PODHODQ-
]IJ PREFIKS ZAPOLNENIQ.eSLI ONA WOZWRA]ET nil,\TO OZNA^AET,^TO ONA NE UWIDELA W\TOJ
STROKE PREFIKS ZAPOLNENIQ.
21.6 kOMANDY PREOBRAZOWANIQ REGISTRA
w Emacs ESTX KOMANDY DLQ PEREWODA ODINO^NYH SLOW ILI [email protected] PROIZWOLXNOGO TEKSTA
W WERHNIJ ILI W NIVNIJ REGISTR.
M-l pEREWESTI [email protected]]EE SLOWO W NIVNIJ REGISTR (downcase-word).
M-u pEREWESTI [email protected]]EE SLOWO W WERHNIJ REGISTR (upcase-word).
M-c sDELATX [email protected] BUKWU [email protected]]EGO SLOWA ZAGLAWNOJ,A OSTALXNYE |STRO^NYMI
(capitalize-word).
C-x C-l pEREWESTI OBLASTX W NIVNIJ REGISTR (downcase-region).
C-x C-u pEREWESTI OBLASTX W WERHNIJ REGISTR (upcase-region).
kOMANDY PREOBRAZOWANIQ SLOW NAIBOLEE POLEZNY.M-l (downcase-word) PEREWODIT SLOWO
POSLE TO^KI W NIVNIJ REGISTR,PEREDWIGAQ TO^KU ZA NEGO.tAKIM OBRAZOM,POWTORENIE M-l
PEREWODIT [email protected]]IE SLOWA.M-u (upcase-word) PEREWODIT WSE SLOWO W PROPISNYE BUKWY,
W TO WREMQ KAK M-c (capitalize-word) STAWIT [email protected] BUKWU SLOWA W WERHNEM REGISTRE,A
OSTALXNYE | W NIVNEM REGISTRE.wSE\TI KOMANDY PEREWODQT NESKOLXKO SLOW ZA ODIN RAZ,
ESLI IM PRIDATX ARGUMENT.oNI OSOBENNO UDOBNY DLQ PEREWODA BOLX[OGO OB_EMA TEKSTA,
NABRANNOGO [email protected] W WERHNEM REGISTRE,W SME[ANNYJ REGISTR,POTOMU ^TO WY MOVETE
DWIGATXSQ PO TEKSTU,ISPOLXZUQ M-l,M-u ILI M-c,KOGDA\TO NEOBHODIMO,I ISPOLXZUQ INOGDA
M-f,^TOBY PROPUSTITX SLOWO.
kOGDA ZADAN OTRICATELXNYJ ARGUMENT,KOMANDY PEREWODA REGISTRA W SLOWAH PRIMENQ-
@TSQ K [email protected]]EMU ^ISLU SLOW PERED TO^KOJ,NE SDWIGAQ EE SAMU.|TO UDOBNO,KOGDA
WY TOLXKO ^TO NABRALI SLOWO W NEPRAWILXNOM REGISTRE:WY MOVETE DATX KOMANDU PEREWODA
REGISTRA I PRODOLVATX NABOR.
eSLI KOMANDA PEREWODA REGISTRA W SLOWAH DAETSQ W SEREDINE SLOWA,TO ONA PRIMENQETSQ
TOLXKO K ^ASTI SLOWA,KOTORAQ SLEDUET ZA TO^KOJ.|TO O^ENX POHOVE NA TO,^TO DELAET M-d
(kill-word).s OTRICATELXNYM ARGUMENTOM,PEREWOD REGISTRA PRIMENQETSQ TOLXKO K ^ASTI
SLOWA PERED TO^KOJ.
dRUGIE KOMANDY PEREWODA REGISTRA |\TO C-x C-u (upcase-region) I C-x C-l
(downcase-region),KOTORYE PEREWODQT WSE MEVDU TO^KOJ I METKOJ W ZADANNYJ REGISTR.
tO^KA I METKA NE [email protected]
kOMANDY PEREWODA REGISTRA W OBLASTI,upcase-region I downcase-region,OBY^NO ZA-
BLOKIROWANY.|TO OZNA^AET,^TO ONI ZAPRA[[email protected] PODTWERVDENIE,ESLI WY PYTAETESX IH
ISPOLXZOWATX.pRI PODTWERVDENII WY MOVETE [email protected]^ITX\TI KOMANDY,TOGDA ONI BOLX[E
NE BUDUT ZAPRA[IWATX PODTWERVDENIQ.sM.rAZDEL 31.4.11 [bLOKIROWANIE KOMANDY],S.364.
190 rUKOWODSTWO PO GNU Emacs21.7 rEVIM Text
kOGDA WY REDAKTIRUETE TEKSTOWYE FAJLOW NA ESTESTWENNOM QZYKE,WAM BUDET UDOBNEE
WOSPOLXZOWATXSQ REVIMOM Text,A NE Fundamental.~TOBY WOJTI W REVIM Text,NABERITE
M-x text-mode.
w REVIME Text ABZACY [email protected] TOLXKO PUSTYMI STROKAMI I RAZDELITELQMI STRA-
NIC.w REZULXTATE ABZACY MOGUT IMETX OTSTUP,I ADAPTIWNOE ZAPOLNENIE MOVET OPRE-
DELITX,KAKOJ OTSTUP DOLVEN ISPOLXZOWATXSQ DLQ ZAPOLNENIQ ABZACA.sM.rAZDEL 21.5.4
[aDAPTIWNOE ZAPOLNENIE],S.188.
w REVIME Text
h TABi ZAPUSKAET [email protected] indent-relative (SM.gLAWA 20 [oTSTUPY],
S.177 ),^TOBY WAM BYLO UDOBNO DELATX OTSTUP KAK W PREDYDU]EJ STROKE.kOGDA W PREDYDU-
]EJ STROKE NET OTSTUPA,indent-relative ZAPUSKAET tab-to-tab-stop,KOTORAQ ISPOLXZUET
USTANAWLIWAEMYE WAMI POZICII TABULQCII (SM.rAZDEL 20.2 [pOZICII TABULQCII],S.178).
rEVIM Text [email protected]^AET SREDSTWA,SWQZANNYE S KOMMENTARIQMI,KROME TEH SLU^AEW,KOGDA
WY QWNO WYZOWETE IH.oN IZMENQET SINTAKSI^[email protected] TABLICU TAKIM OBRAZOM,^TO TO^KI
NE [email protected] KAK ^ASTX SLOWA,TOGDA KAK ZNAK ZABOQ,POD^ERKIWANIE I APOSTROFY
S^[email protected] TAKOWYMI.
eSLI WY DELAETE OTSTUP W PERWOJ STROKE ABZACA,WAM NUVNO ISPOLXZOWATX REVIM
Paragraph-Indent Text WMESTO REVIMA Text.w\TOM REVIME WAM NE OBQZATELXNO STAWITX
MEVDU ABZACAMI PUSTYE STROKI,POTOMU ^TO OTSTUPA W PERWOJ STROKE DOSTATO^NO DLQ NA^A-
LA NOWOGO ABZACA;ODNAKO,ABZACY,W KOTORYH KAVDAQ STROKA IMEET OTSTUP,NE PODDERVIWA-
@TSQ.~TOBY WOJTI W\TOT REVIM,ISPOLXZUJTE M-x paragraph-indent-text-mode.
rEVIM Text I WSE REVIMY,OSNOWANNYE NA NEM,[email protected] M-h TABi KAK KOMANDU ispell-
complete-word,KOTORAQ PROIZWODIT ZAWER[ENIE ^ASTI SLOWA PERED TO^KOJ W DANNOM BUFERE,
ISPOLXZUQ ORFOGRAFI^ESKIJ SLOWARX KAK PROSTRANSTWO WOZMOVNYH SLOW.sM.rAZDEL 13.4
[pRAWOPISANIE],S.102.
wHOD W REVIM Text ZAPUSKAET LOWU[KU text-mode-hook.dRUGIE OSNOWNYE REVIMY,
RODSTWENNYE S REVIMOM Text,TAKVE [email protected]\TU LOWU[KU I POTOM SWOI LOWU[KI;K NIM
OTNOSQTSQ REVIM Paragraph-Indent Text,REVIM NroпЂ‹,REVIM T
E
X,REVIM Outline I REVIM
Mail.fUNKCII LOWU[KI text-mode-hook MOGUT PROWERITX ZNA^ENIE major-mode,^TOBY
UZNATX,W KAKOJ IZ\TIH REVIMOW WY NA SAMOM DELE WHODITE.sM.rAZDEL 31.2.3 [lOWU[KI],
S.349.
21.8 rEVIM Outline
rEVIM Outline |\TO OSNOWNOJ REVIM,O^ENX POHOVIJ NA REVIM Text,NO PREDNAZNA-
^ENNYJ DLQ REDAKTIROWANIQ STRUKTURIROWANNOGO TEKSTA.oN POZWOLQET WAM DELATX ^ASTI
TEKSTA WREMENNO NEWIDIMYMI,TAK ^TO WY MOVETE WIDETX PROSTO PROSMOTRETX STRUKTURU
TEKSTA.nABERITE M-x outline-mode,^TOBY [email protected]^ITX REVIM Outline W TEKU]EM BUFERE.
kOGDA REVIM Outline DELAET STROKU NEWIDIMOJ,\TA STROKA NE POQWLQETSQ NA\KRANE.
|KRAN IMEET TO^NO TAKOJ VE WID,KAK ESLI BY NEWIDIMAQ STROKA BYLA UDALENA,ZA IS-
[email protected]^ENIEM TOGO,^TO W KONCE PREDYDU]EJ WIDIMOJ STROKI POQWLQETSQ MNOGOTO^IE (TOLXKO
ODNO,NEZAWISIMO OT TOGO,SKOLXKO NEWIDIMYH STROK SLEDUET DALX[E).
kOMANDY REDAKTIROWANIQ,[email protected]]IE SO STROKAMI,TAKIE KAK C-n I C-p,[email protected]
TEKST NEWIDIMOJ STROKI KAK ^ASTX PREDYDU]EJ WIDIMOJ.uNI^TOVENIE POLNOJ WIDIMOJ
STROKI,[email protected]^AQ OGRANI^[email protected]]IJ EE ZNAK NOWOJ STROKI,NA SAMOM DELE UNI^TOVAET WMESTE
S NEJ WSE [email protected]]IE NEWIDIMYE STROKI.
wTOROSTEPENNYJ REVIM Outline PREDOSTAWLQET TE VE KOMANDY,^TO I OSNOWNOJ RE-
VIM Outline,NO WY MOVETE ISPOLXZOWATX EGO SOWMESTNO S DRUGIMI OSNOWNYMI REVIMA-
MI.~TOBY [email protected]^ITX WTOROSTEPENNYJ REVIM Outline W TEKU]EM BUFERE,NABERITE M-x
outline-minor-mode.wY TAKVE MOVETE UKAZATX\TO W TEKSTE FAJLA S POMO][email protected] LOKALXNOJ
PEREMENNOJ W FORME`mode:outline-minor'(SM.rAZDEL 31.2.5 [pEREMENNYE FAJLA],S.351).
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 191oSNOWNOJ REVIM,REVIM Outline,PREDOSTAWLQET OSOBYE PRIWQZKI [email protected]^EJ NA PREFIKSE
C-c.wTOROSTEPENNYJ REVIM Outline PREDOSTAWLQET POHOVIE PRIWQZKI S C-c @ W KA^E-
STWE PREFIKSA;\TO NUVNO,^TOBY UMENX[ITX RISK KONFLIKTA SO SPECIALXNYMI KOMANDAMI
OSNOWNOGO REVIMA.(iSPOLXZUEMYJ PREFIKS UPRAWLQETSQ PEREMENNOJ outline-minor-mode-
prefix.)
pRI WHODE W REVIM Outline ZAPUSKAETSQ LOWU[KA text-mode-hook SRAZU POSLE LOWU[KI
outline-mode-hook (SM.rAZDEL 31.2.3 [lOWU[KI],S.349).
21.8.1 fORMAT SHEM TEKSTA
rEVIM Outline PREDPOLAGAET,^TO STROKI W BUFERE DELQTSQ NA DWA TIPA:STROKI ZAGOLOW-
KA I STROKI TELA.sTROKI ZAGOLOWKA PREDSTAWLQET TEMU W SHEME TEKSTA.oNI NA^[email protected]
S ODNOJ ILI BOLEE ZWEZDO^EK;^ISLO ZWEZDO^EK OPREDELQET GLUBINU ZAGOLOWKA W STRUKTURE
TEKSTA.tAKIM OBRAZOM,STROKA ZAGOLOWKA S ODNOJ ZWEZDO^KOJ |\TO OSNOWNAQ TEMA;WSE
STROKI ZAGOLOWKA S DWUMQ ZWEZDO^KAMI MEVDU\TOJ STROKOJ I [email protected]]EJ STROKOJ ZAGOLOWKA
S ODNOJ ZWEZDO^KOJ [email protected] EE PODTEMAMI I TAK [email protected] STROKA,KOTORAQ NE QWLQETSQ
STROKOJ ZAGOLOWKA,|\TO STROKA TELA.sTROKI TELA OTNOSQTSQ K PRED[[email protected]]EJ STROKE
ZAGOLOWKA.wOT PRIMER:
* eDA
|TO TELO,KOTOROE
GOWORIT ^TO-TO O EDE.
** wKUSNAQ EDA
|TO TELO ZAGOLOWKA WTOROGO UROWNQ.
** pROTIWNAQ EDA
zDESX TOVE MOGLO BY
BYTX TELO NA
NESKOLXKIH STROKAH.
*** oB]EPIT
* [email protected]
e]E ODNA TEMA PERWOGO UROWNQ SO SWOEJ STROKOJ ZAGOLOWKA.
sTROKA ZAGOLOWKA WMESTE SO WSEMI [email protected]]IMI STROKAMI TELA W SOWOKUPNOSTI NA-
[email protected] WHOVDENIEM.sTROKA ZAGOLOWKA WMESTE SO WSEMI [email protected]]IMI BOLEE GLUBOKIMI
ZAGOLOWKAMI I IH STROKAMI TELA NAZYWAETSQ PODDEREWOM.
wY MOVETE NASTROITX KRITERIJ DLQ RAZLI^ENIQ STROK ZAGOLOWKA,USTANOWIW PEREMEN-
[email protected] [email protected] STROKA,^XE NA^ALO SODERVIT SOWPADENIE S\TIM REGULQR-
NYM WYRAVENIEM,RASSMATRIWAETSQ KAK STROKA ZAGOLOWKA.sOOTWETSTWIQ,KOTORYE NA-
^[email protected] S SEREDINY STROKI (NE W NA^ALE),NE [email protected] TEKSTA SOOT-
WETSTWIQ OPREDELQET UROWENX ZAGOLOWKA:BOLEE DLINNOE SOOTWETSTWIE SOZDAET GLUBVE WLO-
VENNYJ UROWENX.nAPRIMER,ESLI PROGRAMMA FORMATIROWANIQ IMEET KOMANDY`@chapter',
`@section'I`@subsection'DLQ DELENIQ DOKUMENTA NA GLAWY I RAZDELY,WY MOVETE SDELATX
\TI STROKI WOSPRINIMAEMYMI W KA^ESTWE STROK ZAGOLOWKA,USTANOWIW outline-regexp RAW-
NOJ`"@chap\\|@\\(sub\\)*section"'.oBRATITE WNIMANIE NA HITROSTX:SLOWA`chapter'
I`section'[email protected] [email protected] DLINU,NO OPREDELIW REGULQRNOE WYRAVENIE KAK [email protected]]EE
TOLXKO S`chap',MY GARANTIRUEM,^TO DLINA TEKSTA,[email protected]]EGO ZAGOLOWKU GLAWY,
BUDET KORO^E;TAKIM OBRAZOM,REVIM Outline BUDET ZNATX,^TO RAZDELY SODERVATSQ W GLAWAH.
|TO RABOTAET,ESLI NIKAKAQ DRUGAQ KOMANDA NE NA^INAETSQ S`@chap'.
eSTX WOZMOVNOSTX IZMENITX PRAWILO PODS^ETA UROWNQ STROK ZAGOLOWKA,PUTEM USTANOWKI
PEREMENNOJ outline-level.zNA^ENIE outline-level DOLVNO BYTX FUNKCIEJ,NE PRINIMA-
192 rUKOWODSTWO PO GNU [email protected]]EJ ARGUMENTOW I WOZWRA][email protected]]EJ NOMER UROWNQ TEKU]EGO ZAGOLOWKA.nEKOTORYE OSNOWNYE
REVIMY,NAPRIMER REVIMY C,NroпЂ‹ I Emacs Lisp,[email protected]\TU [email protected],^TOBY
IMI MOVNO BYLO POLXZOWATXSQ SO WTOROSTEPENNYM REVIMOM Outline.
21.8.2 kOMANDY PEREME]ENIQ PO STRUKTURE
rEVIM Outline PREDOSTAWLQET OSOBYE KOMANDY PEREME]ENIQ,KOTORYE [email protected] NA-
ZAD I WPERED PO STROKAM ZAGOLOWKOW.
C-c C-n pEREDWINUTX TO^KU K [email protected]]EJ WIDIMOJ STROKE ZAGOLOWKA (outline-next-
visible-heading).
C-c C-p pEREDWINUTX TO^KU K PREDYDU]EJ WIDIMOJ STROKE ZAGOLOWKA (outline-
previous-visible-heading).
C-c C-f pEREDWINUTX TO^KU K [email protected]]EJ WIDIMOJ STROKE ZAGOLOWKA TOGO VE UROWNQ,^TO
I STROKA,NA KOTOROJ NAHODITSQ TO^KA (outline-forward-same-level).
C-c C-b pEREDWINUTX TO^KU K PREDYDU]EJ WIDIMOJ STROKE ZAGOLOWKA\TOGO VE UROWNQ
(outline-backward-same-level).
C-c C-u pEREDWINUTX TO^KU NAZAD K WIDIMOJ STROKE ZAGOLOWKA BOLEE NIZKOGO UROWNQ
(outline-up-heading).
C-c C-n (outline-next-visible-heading) PEREHODIT WNIZ NA [email protected]][email protected] STROKU ZAGO-
LOWKA.C-c C-p (outline-previous-visible-heading) PEREDWIGAET ANALOGI^NO,NO NAZAD.
oBE [email protected] ^ISLOWOJ ARGUMENT KAK S^ET^IK POWTOROW.iMENA\TIH KOMAND POD^ER-
[email protected],^TO NEWIDIMYE ZAGOLOWKI [email protected],NO\TO NA SAMOM DELE NE SPECIALXNAQ
OSOBENNOSTX.wSE KOMANDY REDAKTIROWANIQ,KOTORYE [email protected] STROKI,[email protected]
NEWIDIMYE STROKI AWTOMATI^ESKI.
bOLEE MO]NYE KOMANDY DWIVENIQ [email protected] [email protected] STRUKTURU ZAGOLOWKOW.C-c C-f
(outline-forward-same-level) I C-c C-b (outline-backward-same-level) [email protected] OT
ODNOJ STROKI ZAGOLOWKA K DRUGOJ WIDIMOJ STROKE ZAGOLOWKA TOJ VE SAMOJ GLUBINY W STRUK-
TURE.C-c C-u (outline-up-heading) PEREDWIGAET NAZAD K DRUGOMU ZAGOLOWKU,KOTORYJ
IMEET MENX[[email protected] GLUBINU WLOVENNOSTI.
21.8.3 kOMANDY UPRAWLENIQ [email protected] STRUKTURY
~TOBY SDELATX STROKI WIDIMYMI ILI NEWIDIMYMI,[email protected] DRUGIE SPECIALXNYE
KOMANDY REVIMA Outline.wSE IH IMENA NA^[email protected] LIBO S hide,LIBO S show.bOLX[INSTWO
IZ NIH [email protected] PARY PROTIWOPOLOVNOSTEJ.oNI NE MOGUT BYTX OTMENENY;WMESTO\TOGO
WY MOVETE PROIZWESTI OTMENU BEZOTNOSITELXNO K WIDIMOSTI TEKSTA.iZMENENIE WIDIMOSTI
STROK PROSTO NE ZAPISYWAETSQ MEHANIZMOM OTMENY.
C-c C-t sDELATX WSE STROKI TELA W BUFERE NEWIDIMYMI (hide-body).
C-c C-a sDELATX WSE STROKI W BUFERE WIDIMYMI (show-all).
C-c C-d sDELATX WSE POD\TIM ZAGOLOWKOM NEWIDIMYM,NO NE SAM\TOT ZAGOLOWOK (hide-
subtree).
C-c C-s sDELATX WSE POD\TIM ZAGOLOWKOM WIDIMYM,[email protected]^AQ TELO,PODZAGOLOWKI I IH
TELA (show-subtree).
C-c C-l sDELATX TELO\TOJ STROKI ZAGOLOWKA I WSE EGO PODZAGOLOWKI NEWIDIMYMI (hide-
leaves).
C-c C-k sDELATX WSE PODZAGOLOWKI\TOGO ZAGOLOWKA WIDIMYMI NA WSEH UROWNQH (show-
branches).
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 193C-c C-i sDELATX NEPOSREDSTWENNYE PODZAGOLOWKI (NA ODIN UROWENX WNIZ)\TOGO ZAGOLOWKA
WIDIMYMI (show-children).
C-c C-c sDELATX TELO\TOGO ZAGOLOWKA NEWIDIMYM (hide-entry).
C-c C-e sDELATX TELO\TOGO ZAGOLOWKA WIDIMYM (show-entry).
C-c C-q sKRYTX WSE,KROME n WERHNIH UROWNEJ STROK ZAGOLOWKOW (hide-sublevels).
C-c C-o sKRYTX WSE,KROME ZAGOLOWKA ILI TELA,W KOTOROM NAHODITSQ TO^KA,I ZAGOLOW-
KOW,WEDU]IH [email protected] K WERHNEMU [email protected] STRUKTURY (hide-other).
dWE KOMANDY,KOTORYE STROGO PROTIWOPOLOVNY,|\TO C-c C-c (hide-entry) I C-c
C-e (show-entry).oNI [email protected],KOGDA TO^KA RASPOLOVENA NA ZAGOLOWKE,I OTNOSQTSQ
TOLXKO K STROKAM TELA\TOGO ZAGOLOWKA.pODTEMY I IH TELA NE [email protected]
dWE BOLEE MO]NYE PROTIWOPOLOVNOSTI |\TO C-c C-d (hide-subtree) I C-c C-s (show-
subtree).oBE [email protected] ISPOLXZOWANIE,KOGDA TO^KA NAHODITSQ NA ZAGOLOWKE,I OBE
[email protected] KO WSEM STROKAM PODDEREWA\TOGO ZAGOLOWKA:EGO TELU,WSEM EGO PODZAGOLOWKAM,
KAK PRQMYM,TAK I KOSWENNYM,I WSEM IH TELAM.dRUGIMI SLOWAMI,PODDEREWO SODERVIT
WSE,^TO SLEDUET ZA\TIM ZAGOLOWKOM,WPLOTX DO (NO NE [email protected]^AQ) [email protected]]EGO ZAGOLOWKA TOGO
VE SAMOGO ILI BOLEE WYSOKOGO RANGA.
pROMEVUTO^NOE SOSTOQNIE MEVDU WIDIMYM I NEWIDIMYM PODDEREWOM |\TO KOGDA WI-
DIMY WSE PODZAGOLOWKI,NO NE WIDIMO NI ODNO TELO.dLQ OSU]ESTWLENIQ\TOGO ESTX DWE
KOMANDY,W ZAWISIMOSTI OT TOGO,HOTITE LI WY SKRYTX TELA ILI SDELATX WIDIMYMI PODZA-
GOLOWKI.|TO C-c C-l (hide-leaves) I C-c C-k (show-branches).
kOMANDA C-c C-i (show-children) NEMNOGO SLABEE show-branches.oNA DELAET WIDI-
MYMI TOLXKO NEPOSREDSTWENNYE PODZAGOLOWKI | TE,^TO NA ODIN UROWENX NIVE.bOLEE
GLUBOKIE PODZAGOLOWKI [email protected] NEWIDIMYMI,ESLI ONI BYLI TAKOWYMI.
dWE KOMANDY PROIZWODQT DEJSTWIE,[email protected]]EE WESX FAJL.C-c C-t (hide-body) DE-
LAET WSE STROKI TELA NEWIDIMYMI,TAK ^TO WY WIDITE PROSTO SHEMU TEKSTA.C-c C-a (show-
all) DELAET WSE STROKI WIDIMYMI.|TI KOMANDY MOGUT RASSMATRIWATXSQ KAK PARA PROTI-
WOPOLOVNYH,HOTQ C-c C-a PRIMENQETSQ NE TOLXKO K STROKAM TELA.
kOMANDA C-c C-q (hide-sublevels) SKRYWAET WSE ZAGOLOWKI,KROME ZAGOLOWKOW WERHNEGO
UROWNQ.s ^ISLOWYM ARGUMENTOM n,ONA SKRYWAET WSE,KROME STROK ZAGOLOWKOW n WERHNIH
UROWNEJ.
kOMANDA C-c C-o (hide-other) SKRYWAET WSE,KROME ZAGOLOWKA ILI TEKSTA TELA,W KO-
TOROM NAHODITSQ TO^KA,I IH RODITELEJ (ZAGOLOWKOW,WEDU]IH [email protected] K WERHNEMU [email protected]
STRUKTURY).
iSPOLXZOWANIE MNOGOTO^IJ W KONCE WIDIMYH STROK MOVET BYTX [email protected]^ENO PUTEM USTA-
NOWKI selective-display-ellipses RAWNOJ nil.tOGDA NE BUDET QWNOGO UKAZANIQ NA SU]E-
STWOWANIE NEWIDIMYH STROK.
kOGDA NARA]IWAEMYJ POISK NAHODIT TEKST,KOTORYJ SKRYT REVIMOM Outline,ON DELAET
\TU ^ASTX BUFERA WIDIMOJ.eSLI WY WYJDITE IZ POISKA W\TOJ POZICII,TEKST OSTANETSQ
WIDIMYM.
21.8.4 pROSMOTR ODNOJ SHEMY W NESKOLXKIH WIDAH
wY MOVETE PROSMOTRETX DWA WIDA ODNOJ SHEMY ODNOWREMENNO W RAZNYH OKNAH.~TOBY
SDELATX TAK,WY DOLVNY SOZDATX KOSWENNYJ BUFER,ISPOLXZUQ M-x make-indirect-buffer.
pERWYJ ARGUMENT\TOJ KOMANDY |\TO IMQ SU][email protected]]EGO BUFERA Outline,A WTOROJ AR-
GUMENT |\TO IMQ,KOTOROE BUDET ISPOLXZOWATXSQ DLQ NOWOGO KOSWENNOGO BUFERA.sM.rAZDEL 15.6 [kOSWENNYE BUFERY],S.139.
kOGDA KOSWENNYJ BUFER SOZDAN,WY MOVETE POKAZATX EGO W OKNE,KAK OBY^NO,S POMO][email protected]
C-x 4 b ILI DRUGIH KOMAND Emacs.kOMANDY REVIMA Outline DLQ POKAZA ILI SKRYWANIQ
194 rUKOWODSTWO PO GNU Emacs^ASTEJ TEKSTA [email protected] W KAVDOM BUFERE NEZAWISIMO;W REZULXTATE KAVDYJ BUFER MOVET
IMETX SWOJ WID.eSLI WY HOTITE POLU^ITX BOLEE DWUH WIDOW ODNOJ I TOJ VE SHEMY,SOZDAJTE
DOPOLNITELXNYE KOSWENNYE BUFERY.
21.9 rEVIM T
E
X
T
E
X |\TO MO]NAQ PROGRAMMA [email protected] NABORA,NAPISANNAQ dONALXDOM kNUTOM.
oN TAKVE QWLQETSQ SWOBODNYM PROGRAMMNYM PRODUKTOM,KAK I GNU Emacs.LaT
E
X |\TO
UPRO]ENNYJ FORMAT WWODA DLQ T
E
X,REALIZOWANNYJ NA MAKROSAH T
E
X.oN RASPROSTRANQ-
ETSQ WMESTE S T
E
X.SliT
E
X |\TO OSOBAQ FORMA LaT
E
X.
w Emacs ESTX SPECIALXNYJ REVIM T
E
X DLQ REDAKTIROWANIQ WHODNYH T
E
X-FAJLOW.oN
PREDUSMATRIWAET SREDSTWA DLQ PROWERKI SBALANSIROWANNOSTI OGRANI^ITELEJ I DLQ WYZOWA
T
E
X DLQ WSEGO FAJLA ILI EGO ^ASTI.
rEVIM T
E
X IMEET TRI WARIANTA:REVIM Plain T
E
X,REVIM LaT
E
X I REVIM SliT
E
X (TRI
\TIH OSNOWNYH REVIMA OTLI^[email protected]]IHSQ DRUG OT DRUGA LI[X SLEGKA).oNI PREDNAZNA^ENY
DLQ REDAKTIROWANIQ TREH RAZLI^NYH WHODNYH FORMATOW.kOMANDA M-x tex-mode PROWE-
RQET SODERVIMOE BUFERA,^TOBY OPREDELITX,NE QWLQETSQ LI\TO WHODOM DLQ LaT
E
X ILI
SliT
E
X;ESLI\TO TAK,ONA WYBIRAET PODHODQ]IJ REVIM.eSLI SODERVIMOE FAJLA NE OKAZA-
LOSX NI LaT
E
X,NI SliT
E
X,ONA WYBIRAET REVIM T
E
X.eSLI SODERVIMOGO FAJLA OKAZALOSX
NEDOSTATO^NO DLQ OPREDELENIQ FORMATA,TO ISPOLXZUETSQ REVIM,ZADAWAEMYJ PEREMENNOJ
tex-default-mode.
kOGDA M-x tex-mode DELAET NEPRAWILXNOE PREDPOLOVENIE,WY MOVETE ISPOLXZOWATX KO-
MANDY M-x plain-tex-mode,M-x latex-mode I M-x slitex-mode DLQ QWNOGO WYBORA KON-
KRETNOGO WARIANTA REVIMA T
E
X.
21.9.1 kOMANDY REDAKTIROWANIQ REVIMA T
E
X
zDESX PERE^ISLENY SPECIALXNYE KOMANDY,PREDUSMOTRENNYE W REVIME T
E
X DLQ REDAK-
TIROWANIQ TEKSTA FAJLA.
"wSTAWITX SOGLASNO KONTEKSTU LIBO`',LIBO`"',LIBO`'(tex-insert-quote).
C-j wSTAWITX RAZRYW ABZACA (DWA PEREWODA STROKI) I PROWERITX PREDYDU]IJ ABZAC
NA NESBALANSIROWANNYE FIGURNYE SKOBKI ILI ZNAKI DOLLARA (tex-terminate-
paragraph).
M-x tex-validate-region
pROWERITX KAVDYJ ABZAC W BUFERE NA NESBALANSIROWANNYE FIGURNYE SKOBKI
ILI ZNAKI DOLLARA.
C-c { wSTAWITX`{}'I RASPOLOVITX TO^KU MEVDU NIMI (tex-insert-braces).
C-c } pEREJTI WPERED ZA [email protected]][email protected] [email protected] [email protected]][email protected] [email protected] SKOBKU (up-
list).
zNAK`"'OBY^NO NE ISPOLXZUETSQ W T
E
X;MY ISPOLXZUEM`',^TOBY OTKRYTX KAWY^KI,I
`',^TOBY ZAKRYTX.~TOBY OBLEG^ITX REDAKTIROWANIE S U^ETOM\TOGO SOGLA]ENIQ O FORMA-
TIROWANII,REVIM T
E
X ZAMENQET OBY^NOE ZNA^ENIE KLAWI[I"NA KOMANDU,[email protected]][email protected]
PARU ODINO^NYH PROSTYH ILI OBRATNYH KAWY^EK (tex-insert-quote).eSLI GOWORITX TO^-
NO,\TA KOMANDA WSTAWLQET`'POSLE PROPUSKA ILI [email protected]]EJ FIGURNOJ SKOBKI,`"'POSLE
OBRATNOJ KOSOJ ^ERTY I`'POSLE WSEH OSTALXNYH ZNAKOW.
eSLI WAM NUVEN ZNAK`"'SAM PO SEBE W NEOBY^NOM KONTEKSTE,ISPOLXZUJTE DLQ EGO WSTAWKI
C-q.tAKVE,"c ^ISLOWYM ARGUMENTOM WSEGDA WSTAWLQET UKAZANNOE ^ISLO ZNAKOW`"'.wY
MOVETE [email protected]^ITX SREDSTWO RASKRYTIQ",UBRAW\TU PRIWQZKU IZ LOKALXNOJ RASKLADKI (SM.rAZDEL 31.4 [pRIWQZKI [email protected]^EJ],S.356).
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 195zNAK`$'IMEET W REVIME T
E
X OSOBYJ SINTAKSI^ESKIJ KOD,KOTORYJ PERETENDUET NA PO-
NIMANIE SPOSOBA,KOTORYM OGRANI^ITELI MATEMATI^ESKOJ MODY T
E
X [email protected] DRUG
DRUGU.kOGDA WY WWODITE`$',KOTORYJ ISPOLXZUETSQ DLQ WYHODA IZ MATEMATI^ESKOJ MODY,
NA SEKUNDU OTOBRAVAETSQ POZICIQ PARNOGO`$',KOTORYJ WWODIL W MATEMATI^[email protected] MODU.
|TO TO VE SAMOE SREDSTWO,KOTOROE POKAZYWAET [email protected]][email protected] [email protected] SKOBKU,SOOTWET-
[email protected]][email protected] WSTAWLENNOJ [email protected]]EJ.oDNAKO,NET SPOSOBA UZNATX,QWLQETSQ LI`$'WHODOM
ILI WYHODOM IZ MATEMATI^ESKOJ MODY;PO\TOMU KOGDA WY WWODITE`$',KOTORYJ WHODIT W
MATEMATI^[email protected] MODU,POKAZYWAETSQ POZICIQ PREDYDU]EGO`$',KAK ESLI BY ONA BYLA ONI
SOSTAWLQLI PARU,DAVE ESLI FAKTI^ESKI ONI NE OTNOSQTSQ DRUG K DRUGU.
T
E
X ISPOLXZUET FIGURNYE SKOBKI KAK OGRANI^ITELI,KOTORYE OBQZANY SOSTAWLQTX PARY.
nEKOTORYE POLXZOWATELI PREDPO^[email protected] PODDERVIWATX FIGURNYE SKOBKI WSE WREMQ SBALAN-
SIROWANNYMI,A NE WSTAWLQTX IH PO OTDELXNOSTI.iSPOLXZUJTE C-c { (tex-insert-braces),
^TOBY WSTAWITX PARU FIGURNYH SKOBOK.|TA KOMANDA OSTAWLQET TO^KU MEVDU DWUMQ\TI-
MI SKOBKAMI,^TOBY WY MOGLI WSTAWITX TEKST WNUTRX.pOTOM ISPOLXZUJTE KOMANDU C-c }
(up-list),^TOBY PEREJTI WPERED ^EREZ [email protected]][email protected] [email protected] SKOBKU.
sU][email protected] DWE KOMANDY DLQ KONTROLQ SOOTWETSTWIQ FIGURNYH SKOBOK.C-j (tex-
terminate-paragraph) PROWERQET ABZAC PERED TO^KOJ I WSTAWLQET DWA OGRANI^ITELQ NOWOJ
STROKI DLQ NA^ALA NOWOGO ABZACA.eSLI BUDET NAJDENO KAKOE-TO NESOOTWETSTWIE,ONA NA-
PE^ATAET SOOB]ENIE W\HO-OBLASTI.M-x tex-validate-region PROWERQET OBLASTX,ABZAC ZA
ABZACEM.o[IBKI PERE^[email protected] W BUFERE`*Occur*',I WY MOVETE ISPOLXZOWATX W NEM C-c
C-c ILI Mouse-2,^TOBY PEREJTI K KONKRETNOMU [email protected]
zAMETXTE,^TO KOMANDY Emacs PODS^[email protected] W REVIME T
E
X NE TOLXKO FIGURNYE SKOBKI,
NO I KWADRATNYE I KRUGLYE.dLQ PROWERKI SINTAKSISA T
E
X\TO NE SOWSEM KORREKTNO.tEM
NE MENEE,KRUGLYE I KWADRATNYE SKOBKI,SKOREE WSEGO,[email protected] W TEKSTE W KA^ESTWE
PARNYH RAZDELITELEJ,I BUDET POLEZNO,ESLI RAZLI^NYE KOMANDY DWIVENIQ I AWTOMATI^E-
SKOGO POKAZA PAR BUDUT S NIMI RABOTATX.
21.9.2 kOMANDY REDAKTIROWANIQ REVIMA LaT
E
X
rEVIM LaT
E
X I EGO WARIACIQ,REVIM SliT
E
X,[email protected] NESKOLXKO DOPOLNITELXNYH
WOZMOVNOSTEJ,NE OTNOSQ]IHSQ K plain T
E
X.
C-c C-o wSTAWLQET`\begin'I`\end'DLQ BLOKA LaT
E
X I POME]AET TO^KU NA STROKE MEV-
DU NIMI (tex-latex-block).
C-c C-e zAKRYWAET SAMYJ WNUTRENNIJ E]E NE ZAKRYTYJ BLOK LaT
E
X (tex-close-latex-
block).
w LaT
E
X DLQ GRUPPIROWKI BLOKOW TEKSTA [email protected] KOMANDY`\begin'I`\end'.~TO-
BY WSTAWITX`\begin'I [email protected]`\end'(NA NOWOJ STROKE POSLE`\begin'),ISPOLXZUJTE C-c
C-o (tex-latex-block).mEVDU DWUMQ\TIMI STROKAMI WSTAWLQETSQ PUSTAQ STROKA,I NA
NEJ OSTAWLQETSQ TO^KA.pRI WWODE TIPA BLOKA WY MOVETE ISPOLXZOWATX ZAWER[ENIE;^TOBY
ZADATX IMENA DOPOLNITELXNYH TIPOW BLOKOW,USTANOWITE [email protected] latex-block-names.
nAPRIMER,DOBAWITX`theorem',`corollary'I`proof'MOVNO TAKIM OBRAZOM:
(setq latex-block-names'("theorem""corollary""proof"))
wO WHODNOM TEKSTE LaT
E
X KOMANDY`\begin'I`\end'DOLVNY SOOTWETSTWOWATX DRUG
DRUGU.wY MOVETE ISPOLXZOWATX C-c C-e (tex-close-latex-block),^TOBY AWTOMATI^ESKI
WSTAWITX`\end',[email protected]][email protected] POSLEDNEJ`\begin',OSTAW[EJ BEZ PARY.|TA KOMANDA
DELAET DLQ`\end'OTSTUP W SOOTWETSTWII S EE`\begin'.eSLI TO^KA NAHODITSQ W NA^ALE
STROKI,ONA WSTAWLQET POSLE`\end'[email protected] STROKU,
21.9.3 kOMANDY PE^ATI DLQ T
E
X
wY MOVETE WYZWATX T
E
X KAK POD^INENNYJ PROCESS Emacs LIBO DLQ WSEGO SODERVIMOGO
BUFERA,LIBO TOLXKO NA OBLASTX,ZA ODIN RAZ.zAPUSK T
E
X TAKIM SPOSOBOM TOLXKO W ODNOJ
196 rUKOWODSTWO PO GNU EmacsGLAWE DAET UDOBNYJ METOD UWIDETX,KAK WYGLQDQT WA[I IZMENENIQ,NE TRATQ WREMQ NA
FORMATIROWANIE WSEGO FAJLA.
C-c C-r wYZWATX T
E
X DLQ TEKU]EJ OBLASTI WMESTE S ZAGOLOWOKOM BUFERA (tex-region).
C-c C-b wYZYWATX T
E
X DLQ WSEGO TEKU]EGO BUFERA (tex-buffer).
C-c
hTABi wYZYWATX BibT
E
X DLQ TEKU]EGO FAJLA (tex-bibtex-file).
C-c C-f wYZYWATX T
E
X DLQ TEKU]EGO FAJLA (tex-file).
C-c C-l pEREMESTITX CENTR OKNA,[email protected]]EGO WYWOD POD^INENNOGO T
E
X,^TOBY MOV-
NO BYLO UWIDETX [email protected]@ STROKU (tex-recenter-output-buffer).
C-c C-k uNI^TOVITX PODPROCESS T
E
X (tex-kill-job).
C-c C-p pE^ATATX WYWOD IZ POSLEDNEJ KOMANDY C-c C-r,C-c C-b ILI C-c C-f (tex-
print).
C-c C-v zAPUSTITX PREDWARITELXNYJ PROSMOTR WYWODA POSLEDNEJ KOMANDY C-c C-r,C-c
C-b ILI C-c C-f (tex-view).
C-c C-q pOKAZATX O^EREDX PRINTERA (tex-show-print-queue).
wY MOVETE PROPUSTITX TEKU]IJ BUFER ^EREZ POD^INENNYJ T
E
X S POMO][email protected] C-c C-b
(tex-buffer).oTFORMATIROWANNYJ WYWOD POQWLQETSQ WO WREMENNOM FAJLE;^TOBY NAPE-
^ATATX EGO,NABERITE C-c C-p (tex-print).pOTOM WY MOVETE ISPOLXZOWATX C-c C-q (tex-
show-printer-queue),^TOBY UWIDETX,KAK SKORO WA[ WYWOD BUDET NAPE^ATAN.eSLI WA[
TERMINAL MOVET POKAZYWATX WYHODNYE FAJLY T
E
X,WY MOVETE PROSMOTRETX WYWOD NA TER-
MINALE S POMO][email protected] KOMANDY C-c C-v (tex-view).
wY MOVETE UKAZATX KATALOG DLQ ZAPUSKA T
E
X,USTANOWIW [email protected] tex-directory.
zNA^ENIEM PO UMOL^[email protected] QWLQETSQ".".eSLI PEREMENNAQ SREDY TEXINPUTS SODERVIT OTNO-
SITELXNYE IMENA KATALOGOW,ILI WA[I FAJLY SODERVAT KOMANDY`\input'S OTNOSITELXNY-
MI IMENAMI,TO tex-directory DOLVNA BYTX RAWNA".",ILI WY POLU^ITE NEPRAWILXNYE
REZULXTATY.w PROTIWNOM SLU^AE,MOVNO BEZ OPASENIQ ZADATX KAKOJ-TO DRUGOJ KATALOG,
NAPRIMER,"/tmp".
eSLI WY HOTITE UKAZATX,KAKIE KOMANDY OBOLO^KI NUVNO ISPOLXZOWATX W POD^INENNOM
PROCESSE T
E
X,WY MOVETE SDELATX\TO USTANOWKOJ ZNA^ENIJ PEREMENNYH tex-run-command,
latex-run-command,slitex-run-command,tex-dvi-print-command,tex-dvi-view-command
I tex-show-queue-command.wY OBQZANY USTANOWITX ZNA^ENIE tex-dvi-view-command DLQ
WA[EGO KONKRETNOGO TERMINALA;\TA PEREMENNAQ NE IMEET ZNA^ENIQ PO UMOL^[email protected]
PEREMENNYE [email protected] ZNA^ENIQ PO UMOL^[email protected],KOTORYE MOGUT PODOJTI (A MOGUT I NE PODOJTI)
DLQ WA[EJ SISTEMY.
oBY^NO IMQ FAJLA,PEREDAWAEMOE\TIM KOMANDAM,PI[ETSQ W KONCE KOMANDNOJ STRO-
KI:NAPRIMER,`latex IMQ-FAJLA'.oDNAKO W NEKOTORYH SLU^AQH IMQ FAJLA DOLVNO BYTX
WSTAWLENO W KOMANDU;\TO MOVET PONADOBITXSQ,K PRIMERU,KOGDA WAM NUVNO PREDOSTAWITX
IMQ FAJLA W KA^ESTWE ARGUMENTA KOMANDE,^EJ WYWOD NAPRAWLQETSQ DRUGOJ PROGRAMME.wY
MOVETE UKAZATX,W KAKOE MESTO SLEDUET PODSTAWITX IMQ FAJLA,S POMO][email protected] ZNAKA`*'W KO-
MANDNOJ STROKE.nAPRIMER,
(setq tex-dvi-print-command"dvips -f * | lpr")
tERMINALXNYJ WYWOD T
E
X,[email protected]^[email protected]]IJ WSE SOOB]ENIQ OB O[IBKAH,POQWLQETSQ W BUFE-
RE S IMENEM`*tex-shell*'.eSLI T
E
X POLU^IL O[IBKU,WY MOVETE [email protected]^ITXSQ W\TOT
BUFER I PODATX EMU KAKOJ-TO WWOD (\TO RABOTAET KAK W REVIME Shell,SM.rAZDEL 30.2.2
[iNTERAKTIWNAQ OBOLO^KA],S.324 ).bEZ [email protected]^ENIQ W\TOT BUFER,WY MOVETE PROKRUTITX
EGO S POMO][email protected] C-c C-l TAK,^TO POSLEDNQQ STRO^KA W NEM STANET WIDIMOJ.
nABERITE C-c C-k (tex-kill-job),^TOBY UNI^TOVITX PROCESS T
E
X,ESLI WY PONIMAETE,
^TO EGO WYWOD UVE BESPOLEZEN.iSPOLXZOWANIE C-c C-b ILI C-c C-r TAKVE UNI^TOVAET
[email protected] [email protected]]IJ PROCESS T
E
X.
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 197wY TAKVE MOVETE PROPUSTITX [email protected] OBLASTX ^EREZ POD^INENNYJ T
E
X,NABRAW
C-c C-r (tex-region).oDNAKO,\TO NENADEVNO,POTOMU ^TO BOLX[INSTWO WHODNYH FAJLOW
T
E
X SODERVAT W NA^ALE KOMANDY,[email protected]]IE KAKIE-TO PARAMETRY I [email protected]]IE
MAKROSY,BEZ KOTORYH DALXNEJ[AQ ^ASTX FAJLA NE OTFORMATIRUETSQ PRAWILXNO.dLQ TOGO,
^TOBY RE[ITX\TU PROBLEMU,C-c C-r POZWOLQET WAM OBOZNA^ITX ^ASTX FAJLA KAK SODER-
VA][email protected] WAVNYE KOMANDY;ONA WSTAWLQETSQ PERED ZADANNOJ [email protected] KAK ^ASTX WWODA T
E
X.
oBOZNA^ENNAQ ^ASTX FAJLA NAZYWAETSQ ZAGOLOWKOM.
~TOBY OBOZNA^ITX GRANICY ZAGOLOWKA W REVIME Plain T
E
X,WY WSTAWLQETE W FAJL DWE
SPECIALXNYE STROKI.wSTAWXTE`%**start of header'PERED ZAGOLOWKOM I`%*end of header'
POSLE NEGO.oBE DOLVNY POQWITXSQ [email protected] NA ODNOJ STROKE,NO PERED NIMI ILI POSLE
NIH DOPUSKAETSQ DRUGOJ TEKST.sTROKI,SODERVA]IE\TI FRAZY,[email protected]^[email protected] W ZAGOLO-
WOK.eSLI`%**start of header'NE POQWITSQ W PREDELAH PERWYH 100 STROK BUFERA,C-c C-r
PREDPOLAGAET,^TO ZAGOLOWKA NET.
w REVIME LaT
E
X ZAGOLOWOK NA^INAETSQ S KOMANDY`\documentstyle'I ZAKAN^IWAETSQ
KOMANDOJ`\begin{document}'.LaT
E
X TREBUET,^TOBY WY ISPOLXZOWALI\TI KOMANDY W
[email protected] SLU^AE,TAK ^TO DLQ OPREDELENIQ ZAGOLOWKA NE TREBUETSQ DELATX NI^EGO OSOBENNOGO.
kOMANDY (tex-buffer) I (tex-region) [email protected] [email protected] RABOTU WO WREMENNOM KATALOGE,
I IM NEDOSTUPNY WSPOMOGATELXNYE FAJLY,NUVNYE T
E
X DLQ PEREKRESTNYH SSYLOK;\TI
KOMANDY W OB]EM SLU^AE NE PODHODQT DLQ OBRABOTKI OKON^ATELXNOJ KOPII,W KOTOROJ WSE
PEREKRESTNYE SSYLKI DOLVNY BYTX PRAWILXNYMI.
kOGDA WAM NUVNY WSPOMOGATELXNYE FAJLY DLQ PEREKRESTNYH SSYLOK,ISPOLXZUJTE C-c
C-f (tex-file),KOTORAQ ZAPUSKAET T
E
X DLQ FAJLA TEKU]EGO BUFERA W KATALOGE\TOGO FAJLA.
pERED ZAPUSKOM T
E
X ONA PREDLAGAET SOHRANITX WSE IZMENENNYE BUFERY.w OB]EM SLU^AE,
WY DOLVNY ISPOLXZOWATX (tex-file) DWAVDY,^TOBY POLU^ITX PRAWILXNYE PEREKRESTNYE
SSYLKI.
zNA^ENIE PEREMENNOJ tex-start-options-string ZADAET [email protected]^I DLQ ZAPUSKA T
E
X.zNA-
^ENIE PO UMOL^[email protected] WELIT T
E
X RABOTATX W BEZOSTANOWO^NOM REVIME.~TOBY ZAPUSTITX
T
E
X INTERAKTIWNO,USTANOWITE\TU [email protected] RAWNOJ"".
bOLX[IE DOKUMENTY T
E
X ^ASTO [email protected] NA NESKOLXKO FAJLOW | ODIN GLAWNYJ [email protected]
PODFAJLY.zAPUSK T
E
X DLQ PODFAJLA KAK PRAWILO NE SRABOTAET;WY DOLVNY ZAPUSKATX
EGO DLQ GLAWNOGO FAJLA.~TOBY SDELATX tex-file POLEZNOJ PRI REDAKTIROWANII PODFAJLA,
WY MOVETE USTANOWITX [email protected] tex-main-file RAWNOJ IMENI GLAWNOGO FAJLA.tOGDA
tex-file ZAPUSTIT T
E
X DLQ\TOGO FAJLA.
nAIBOLEE UDOBNYJ SPOSOB ISPOLXZOWANIQ tex-main-file |UKAZATX EE W PERE^NE LOKALX-
NYH PEREMENNYH W KAVDOM IZ PODFAJLOW.sM.rAZDEL 31.2.5 [pEREMENNYE FAJLA],S.351.
s LaT
E
X-FAJLAMI WY MOVETE ISPOLXZOWATX BibT
E
X,^TOBY OBRABOTATX WSPOMOGATELX-
NYE FAJLY DLQ FAJLA TEKU]EGO BUFERA.BibT
E
X NAHODIT BIBLIOGRAFI^ESKIE CITATY W
BAZE DANNYH I PODGOTAWLIWAET PROCITIROWANNYE SSYLKI DLQ RAZDELA BIBLIGRAFII.kOMAN-
DA C-c TAB (tex-bibtex-file) ZAPUSKAET KOMANDU OBOLO^KI (tex-bibtex-command),^TOBY
POLU^ITX`.bbl'-FAJL DLQ FAJLA TEKU]EGO BUFERA.wOOB]E GOWORQ,WAM NUVNO SNA^ALA
SDELATX C-c C-f (tex-file),^TOBY POLU^ITX`.aux'-FAJL,ZATEM SDELATX C-c TAB (tex-
bibtex-file) I POSLE\TOGO POWTORITX C-c C-f (tex-file) E]E RAZ,^TOBY SGENERIROWATX
PRAWILXNYE PEREKRESTNYE SSYLKI.
pRI WHODE W [email protected]@ RAZNOWIDNOSTX REVIMA T
E
X [email protected] LOWU[KI text-mode-hook I
tex-mode-hook.zATEM [email protected] plain-tex-mode-hook ILI latex-mode-hook,^TO POD-
HODIT.dLQ SliT
E
X-FAJLOW ZAPUSKAETSQ LOWU[KA slitex-mode-hook.pRI STARTE OBOLO^KI
T
E
X ZAPUSKAETSQ tex-shell-hook.sM.rAZDEL 31.2.3 [lOWU[KI],S.349.
21.10 rEVIM NroпЂ‹
rEVIM NroпЂ‹ |\TO REVIM,POHOVIJ NA REVIM Text,NO MODIFICIROWANNYJ DLQ UPRAWLE-
NIQ KOMANDAMI nroпЂ‹,[email protected]]IMI W TEKSTE.wYZOWITE M-x nroff-mode,^TOBY WOJTI
198 rUKOWODSTWO PO GNU EmacsW\TOT REVIM.oN OTLI^AETSQ OT REVIMA Text TOLXKO NESKOLXKIMI WOZMOVNOSTQMI.wSE
STROKI KOMAND nroпЂ‹ S^[email protected] RAZDELITELEM ABZACEW,TAK ^TO ZAPOLNENIE NIKOGDA NE IS-
KAZIT KOMANDY nroпЂ‹.sTRANICY [email protected] KOMANDAMI`.bp'.kOMMENTARII NA^[email protected]
S OBRATNOJ KOSOJ ^ERTY I DWOJNYH KAWY^EK.tAKVE PREDUSMOTRENY TRI SPECIALXNYE KO-
MANDY,KOTORYH NET W REVIME Text:
M-n pEREJTI NA NA^ALO [email protected]]EJ STROKI,KOTORAQ NE QWLQETSQ KOMANDOJ nroпЂ‹
(forward-text-line).aRGUMENT SLUVIT S^ET^IKOM POWTOROW.
M-p pOHOVA NA M-n,NO SDWIGAET WWERH (backward-text-line).
M-?nAPE^ATATX W\HO-OBLASTI ^ISLO TEKSTOWYH STROK (STROK,KOTORYE NE [email protected]
KOMANDAMI nroпЂ‹) W TEKU]EJ OBLASTI (count-text-lines).
dRUGOE SWOJSTWO REVIMA NroпЂ‹ |\TO TO,^TO WY MOVETE [email protected]^ATX REVIM Electric NroпЂ‹.
|TO WTOROSTEPENNYJ REVIM,KOTORYJ WY MOVETE [email protected]^ATX ILI [email protected]^ATX PRI POMO]I
M-x electric-nroff-mode (SM.rAZDEL 31.1 [wTOROSTEPENNYE REVIMY],S.341).eSLI\TOT
REVIM [email protected]^EN,TO KAVDYJ RAZ,KOGDA WY NABIRAETE h RETi DLQ OKON^ANIQ STROKI,KOTORAQ
SODERVIT KOMANDU nroпЂ‹,[email protected]][email protected] NEKOTORYJ WID GRUPPY,W [email protected]][email protected] STROKU AWTO-
MATI^ESKI WSTAWLQETSQ [email protected]]AQ [email protected]]AQ GRUPPU KOMANDA nroпЂ‹.nAPRIMER,
ESLI WY NAHODITESX W NA^ALE STROKI I NABERETE.( b h RETi,TO W [email protected] STROKU,[email protected]][email protected]
ZA TO^KOJ,BUDET WSTAWLENA [email protected]]AQ KOMANDA`.)b'.
eSLI S REVIMOM NroпЂ‹ WY ISPOLXZUETE WTOROSTEPENNYJ REVIM Outline (SM.rAZDEL 21.8
[rEVIM Outline],S.190 ),STROKAMI ZAGOLOWKOW BUDUT STROKI WIDA`.H'S [email protected]]IM ^IS-
LOM (UROWNEM ZAGOLOWKA).
wHOD W REVIM NroпЂ‹ ZAPUSKAET LOWU[KU text-mode-hook,A ZATEM LOWU[KU nroff-mode-
hook (SM.rAZDEL 31.2.3 [lOWU[KI],S.349).
21.11 rEDAKTIROWANIE FORMATIROWANNOGO TEKSTA
rEVIM Enriched |\TO WTOROSTEPENNYJ REVIM DLQ REDAKTIROWANIQ FAJLOW,KOTORYE
SODERVAT FORMATIROWANNYJ TEKST W STILE WYSIWYG,KAK W TEKSTOWOM PROCESSORE.nA
DANNYJ MOMENT FORMATIROWANNYJ TEKST W REVIME Enriched MOVET ZADAWATX [RIFTY,CWE-
TA,POD^ERKIWANIE,POLQ I TIPY ZAPOLNENIQ I WYRAWNIWANIQ.w BUDU]EM MY PLANIRUEM
REALIZOWATX TAKVE I DRUGIE WOZMOVNOSTI DLQ FORMATIROWANIQ.
rEVIM Enriched |\TO WTOROSTEPENNYJ REVIM (SM.rAZDEL 31.1 [wTOROSTEPENNYE RE-
VIMY],S.341 ).kAK PRAWILO ON ISPOLXZUETSQ WMESTE S REVIMOM Text (SM.rAZDEL 21.7
[rEVIM Text],S.190 ).oDNAKO,WY MOVETE TAKVE ISPOLXZOWATX EGO I S DRUGIMI OSNOWNYMI
REVIMAMI,TAKIMI KAK REVIM Outline I REVIM Paragraph-Indent Text.
pOTENCIALXNO Emacs MOVET SOHRANQTX FAJLY S FORMATIROWANNYM TEKSTOM WO MNOGIH
FORMATAH.nA TEKU]IJ MOMENT REALIZOWAN TOLXKO ODIN FORMAT:text/enriched,KOTORYJ
OPREDELQETSQ PROTOKOLOM MIME.sM.RAZDEL\Format Conversion"W the Emacs Lisp Reference
Manual,DLQ POLU^ENIQ PODROBNOSTEJ O TOM,KAK Emacs RASPOZNAET I PREBRAZUET FORMATY
FAJLOW.
dISTRIBUTIW Emacs SODERVIT FAJL S FORMATIROWANNYM TEKSTOM,KOTORYJ MOVET SLU-
VITX PRIMEROM.oN NAZYWAETSQ`etc/enriched.doc'.|TOT FAJL SODERVIT OBRAZCY,[email protected]
[email protected]]IE WSE WOZMOVNOSTI,OPISANNYE W\TOM RAZDELE.w NEM TAKVE ESTX PERE^ENX IDEJ
DLQ BUDU]IH ULU^[ENIJ.
21.11.1 zAPROS NA REDAKTIROWANIE FORMATIROWANNOGO TEKSTA
kOGDA WY OBRA]AETESX K FAJLU,KOTORYJ BYL SOHRANEN W FORMATE text/enriched,Emacs
AWTOMATI^ESKI PREOBRAZUET [email protected] O FORMATIROWANII IZ\TOGO FAJLA WO WNUTRENNIJ
FORMAT Emacs (SWOJSTWA TEKSTA) I [email protected]^AET REVIM Enriched.
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 199~TOBY SOZDATX NOWYJ FAJL S FORMATIROWANNYM TEKSTOM,OBRATITESX SNA^ALA K NESU]E-
[email protected]]EMU FAJLU,A PERED TEM KAK NA^ATX REDAKTIROWANIE NABERITE M-x enriched-mode.
|TA KOMANDA [email protected]^AET REVIM Enriched.dELAJTE\TO DO TOGO,KAK WY NA^NETE WSTAWLQTX
TEKST,^TOBY WSTAWLQEMYJ TEKST NAWERNQKA OBRABATYWALSQ PRAWILXNO.
w BOLEE OB]EM WIDE,KOMANDA enriched-mode [email protected]^AET REVIM Enriched,ESLI ON BYL WY-
[email protected]^EN,I [email protected]^AET EGO,ESLI ON BYL [email protected]^EN.zAPU]ENNAQ S ^ISLOWYM ARGUMENTOM,\TA
KOMANDA [email protected]^AET REVIM Enriched,ESLI ARGUMENT POLOVITELEN,I [email protected]^AET W PROTIWNOM
SLU^AE.
kOGDA WY SOHRANQETE BUFER PRI ZADEJSTWOWANNOM REVIME Enriched,Emacs AWTOMATI^E-
SKI PREOBRAZUET TEKST K FORMATU text/enriched WO WREMQ ZAPISI W FAJL.kOGDA WY SNOWA
OBRATITESX K\TOMU FAJLU,Emacs AWTOMATI^ESKI RASPOZNAET FORMAT,PREOBRAZUET TEKST
OBRATNO I SNOWA [email protected]^IT REVIM Enriched.
oBY^NO POSLE OBRA]ENIQ K FAJLU W FORMATE text/enriched,Emacs PEREZAPOLNQET KAV-
DYJ ABZAC TAK,^TOBY ON UME]ALSQ PO ZADANNOMU PRAWOMU [email protected] MOVETE [email protected]^ITX\TO
PEREZAPOLNENIE,^TOBY S\KONOMITX WREMQ,USTANOWIW [email protected] enriched-fill-after-
visiting W ZNA^ENIE nil ILI ask.
oDNAKO,PRI OBRA]ENII K FAJLU,ZAPISANNOMU W FORMATE Enriched,NET NUVDY W PERE-
ZAPOLNENII,POSKOLXKU Emacs SOHRANQET USTANOWKI PRAWOGO POLQ WMESTE S TEKSTOM.
dELAQ DOBAWLENIQ K enriched-translations,WY MOVETE WNOSITX POMETKI DLQ SOHRANE-
NIQ DOPOLNITELXNYH SWOJSTW TEKSTA,KOTORYE Emacs OBY^NO NE SOHRANQET.zAMETXTE,^TO
STANDART text/enriched TREBUET,^TOBY IMENA WSEH NESTANDARTNYH POMETOK NA^INALISX S
`x-',NAPRIMER`x-read-only'.|TO POZWOLQET BYTX UWERENNYM W TOM,^TO ONI NE BUDUT
KONFLIKTOWATX SO STANDARTNYMI POMETKAMI,DOBAWLENNYMI POZVE.
21.11.2 vESTKIE I GIBKIE PEREWODY STROK
Emacs RAZLI^AET W FORMATIROWANNOM TEKSTE DWA RAZNYH WIDA PEREWODOW STROK:VESTKIE
I GIBKIE.
vESTKIE PEREWODY STROK [email protected] DLQ RAZDELENIQ ABZACEW,ILI PUNKTOW PERE^NQ,
ILI WEZDE,GDE STROKA DOLVNA WSEGDA RAZRYWATXSQ WNE ZAWISIMOSTI OT POLEJ.kOMANDY
h RETi (newline) I C-o (open-line) [email protected] VESTKIE PEREWODY STROK.
gIBKIE PEREWODY STROK [email protected] DLQ TOGO,^TOBY UMESTITX TEKST W PREDELY POLEJ.
wSE KOMANDY ZAPOLNENIQ,[email protected]^AQ Auto Fill,[email protected] GIBKIE PEREWODY STROK,I ONI
[email protected] WSEGDA TOLXKO GIBKIE PEREWODY STROK.
hOTQ VESTKIE I GIBKIE PEREWODY STROK WYGLQDQT ODINAKOWO,WAVNO POMNITX OB IH RAZ-
LI^II.nE ISPOLXZUJTE
hRETi,^TOBY RAZORWATX STROKU W SEREDINE ZAPOLNENNOGO ABZACA,ILI
INA^E WY POLU^ITE VESTKIE PEREWODY STROK,KOTORYE POSLUVAT BARXEROM [email protected]]EMU
[email protected]\TOGO POZWOLXTE RAZBIWATX STROKI REVIMU Auto Fill,^TOBY PRI IZME-
NENII TEKSTA ILI POLEJ Emacs MOG PRAWILXNO PEREZAPOLNITX STROKI.sM.rAZDEL 21.5.1
[Auto Fill],S.185.
s DRUGOJ STORONY,W TABLICAH I PERE^NQH,GDE STROKI DOLVNY WSEGDA OSTAWATXSQ TAKI-
MI,KAK WY IH NABRALI,WY MOVETE ISPOLXZOWATX DLQ ZAWER[ENIQ STROK hRETi.dLQ TAKIH
STROK WY TAKVE MOVETE USTANOWITX STILX WYRAWNIWANIQ W unfilled.sM.rAZDEL 21.11.7
[fORMAT wYRAWNIWANIE],S.202.
21.11.3 rEDAKTIROWANIE INFORMACII O FORMATE
eSTX DWA SPOSOBA IZMENITX [email protected] O FORMATE DLQ FAJLA S FORMATIROWANNYM
TEKSTOM:KOMANDAMI KLAWIATURY ILI S POMO][email protected] MY[I.
pROSTEJ[IJ SPOSOB DOBAWITX SWOJSTWA K WA[EMU DOKUMENTU | WOSPOLXZOWATXSQ [email protected]
Text Properties.wY MOVETE POPASTX W\TO [email protected] DWUMQ PUTQMI:IZ [email protected] Edit W POLOSKE
200 rUKOWODSTWO PO GNU [email protected] ILI S POMO][email protected] C-mouse-2 (PRIVMITE KLAWI[U hCTRLi I NAVMITE [email protected]@ KNOPKU
MY[I).
bOLX[INSTWO PUNKTOW IZ [email protected] Text Properties WEDUT K DRUGIM [email protected]@ OPI-
SANY W [email protected]]IH RAZDELAH.nEKOTORYE PUNKTY [email protected] KOMANDY NEPOSREDSTWENNO:
Remove Properties
uDALQET IZ OBLASTI WSE SWOJSTWA TEKSTA,S KOTORYMI RABOTAET [email protected] Text Prop-
erties (facemenu-remove-props).
Remove All
uDALQET WSE SWOJSTWA TEKSTA IZ OBLASTI (facemenu-remove-all).
List Properties
pERE^ISLQET WSE SWOJSTWA TEKSTA DLQ ZNAKA POSLE TO^KI (list-text-
properties-at).
Display Faces
pOKAZYWAET PERE^ENX WSEH OPREDELENNYH NA^ERTANIJ.
Display Colors
pOKAZYWAET PERE^ENX WSEH OPREDELENNYH CWETOW.
21.11.4 nA^ERTANIQ W FORMATIROWANNOM TEKSTE
w [email protected] Faces PERE^ISLENY RAZNYE NA^ERTANIQ Emacs,[email protected]^AQ bold,italic I
underline.wYBOR ODNOGO IZ NIH DOBAWLQET\TO NA^ERTANIE K OBLASTI.sM.rAZDEL 17.13
[nA^ERTANIQ],S.155.wY TAKVE MOVETE ZADATX NA^ERTANIQ S POMO][email protected] TAKIH KOMAND KLA-
WIATURY:
M-g d gOWORIT,^TO OBLASTX ILI [email protected]]IJ WSTAWLENNYJ ZNAK DOLVNY POQWITXSQ W
NA^ERTANII default (facemenu-set-default).
M-g b gOWORIT,^TO OBLASTX ILI [email protected]]IJ WSTAWLENNYJ ZNAK DOLVNY POQWITXSQ W
NA^ERTANII bold (facemenu-set-bold).
M-g i gOWORIT,^TO OBLASTX ILI [email protected]]IJ WSTAWLENNYJ ZNAK DOLVNY POQWITXSQ W
NA^ERTANII italic (facemenu-set-italic).
M-g l gOWORIT,^TO OBLASTX ILI [email protected]]IJ WSTAWLENNYJ ZNAK DOLVNY POQWITXSQ W
NA^ERTANII bold-italic (facemenu-set-bold-italic).
M-g u gOWORIT,^TO OBLASTX ILI [email protected]]IJ WSTAWLENNYJ ZNAK DOLVNY POQWITXSQ W
NA^ERTANII underline (facemenu-set-underline).
M-g o NA^ERTANIE h RETi
gOWORIT,^TO OBLASTX ILI [email protected]]IJ WSTAWLENNYJ ZNAK DOLVNY POQWITXSQ W
ZADANNOM NA^ERTANII (facemenu-set-face).
eSLI WY ISPOLXZUETE\TI KOMANDY S PREFIKSNYM ARGUMENTOM |ILI,W REVIME Transient
Mark,ESLI OBLASTX NE AKTIWNA | TO ONI [email protected] NA^ERTANIE DLQ [email protected]]EGO SAMOWSTAW-
[email protected]]EGOSQ WWODA.sM.rAZDEL 8.2 [Transient Mark],S.64.|TO OTNOSITSQ KAK K KOMANDAM
KLAWIATURY,TAK I K KOMANDAM [email protected]
rEVIM Enriched OPREDELQET DWA DOPOLNITELXNYH NA^ERTANIQ:fixed I excerpt.oNI
[email protected] KODAM,ISPOLXZUEMYM W FORMATE FAJLOW text/enriched.
nA^ERTANIE excerpt PREDNAZNA^ENO DLQ CITAT.oNO SOWPADAET S NA^ERTANIEM italic,
ESLI WY EGO NE PERENASTROILI (SM.rAZDEL 31.2.2.3 [nASTROJKA NA^ERTANIJ],S.347).
nA^ERTANIE fixed OZNA^AET\iSPOLXZOWATX DLQ\TOJ ^ASTI TEKSTA RAWNO[IRINNYJ
[RIFT".w NASTOQ]EE WREMQ Emacs PODDERVIWAET TOLXKO RAWNO[IRINNYE [RIFTY;SLE-
DOWATELXNO,POMETKA fixed POKA NE TAK NEOBHODIMA.oDNAKO,W BUDU]IH WERSIQH Emacs
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 201MY PLANIRUEM REALIZOWATX PODDERVKU [RIFTOW PEREMENNOJ [IRINY,I DRUGIE SISTEMY,
SPOSOBNYE OTOBRAVATX FORMAT text/enriched,MOGUT NE ISPOLXZOWATX PO UMOL^[email protected] RAW-
NO[IRINNYJ [RIFT.pO\TOMU ESLI WY HOTITE,^TOBY KAKAQ-TO ^ASTX TEKSTA POQWLQLASX
IMENNO S RAWNO[IRINNYM [RIFTOM,WAM SLEDUT ZADATX DLQ\TOJ ^ASTI NA^ERTANIE fixed.
nA^ERTANIE fixed OBY^NO OPREDELENO TAK,^TO DLQ NEGO ISPOLXZUETSQ DRUGOJ [RIFT,OT-
LI^[email protected]]IJSQ OT [RIFTA PO UMOL^[email protected],NA RAZNYH SISTEMAH USTANOWLENY RAZNYE
[RIFTY,PO\TOMU WAM MOVET PONADOBITXSQ NASTROITX\TO.
eSLI WA[TERMINAL NE UMEET OTOBRAVATX RAZNYE NA^ERTANIQ,U WAS NE POLU^ITSQ IH UWI-
DETX,NO WY WSE VE SMOVETE REDAKTIROWATX DOKUMENTY,SODERVA]IE IH.wY DAVE SMOVETE
DOBAWITX W TEKST NA^ERTANIQ I CWETA.oNI STANUT WIDIMY,KOGDA FAJL BUDUT PROSMATRI-
WATX NA TERMINALE,KOTORYJ SPOSOBEN IH OTOBRAZITX.
21.11.5 cWETA W FORMATIROWANNOM TEKSTE
wY MOVETE UKAZATX CWETA BUKW I FONA DLQ FRAGMENTOW TEKSTA.eSTX [email protected] DLQ ZADANIQ
CWETA TEKSTA I [email protected] DLQ ZADANIQ CWETA FONA.oBA [email protected] CWETOW PERE^[email protected] WSE CWETA,
KOTORYE WY ISPOLXZOWALI W REVIME Enriched W TEKU]EM SEANSE Emacs.
eSLI WY ZADAETE CWET S PREFIKSNYM ARGUMENTOM | ILI,W REVIME Transient Mark,
ESLI OBLASTX NE AKTIWNA | TO\TOT CWET PRIMENQETSQ DLQ SAMOWSTAWLQEMOGO WWODA.sM.rAZDEL 8.2 [Transient Mark],S.64.w PROTIWNOM SLU^AE\TA KOMANDA OTNOSITSQ K OBLASTI.
oBA [email protected] CWETOW SODERVAT DOPOLNITELXNYJ PUNKT:`Other'.wY MOVETE ISPOLXZOWATX
\TOT PUNKT DLQ ZADANIQ CWETA,KOTORYJ NE PERE^ISLEN W [email protected];IMQ CWETA S^ITYWAETSQ
W MINIBUFERE.~TOBY PROSMOTRETX PERE^ENX DOSTUPNYH CWETOW I IH IMENA,ISPOLXZUJ-
TE PUNKT`Display Colors'W [email protected] Text Properties (SM.rAZDEL 21.11.3 [rEDAKTIROWANIE
FORMATA],S.199 ).
[email protected] CWET,ZADANNYJ TAKIM SPOSOBOM ILI UPOMQNUTYJ W S^ITANNOM FAJLE S FORMATI-
ROWANNYM TEKSTOM,DOBAWLQETSQ W OBA [email protected] CWETOW I SOHRANQETSQ TAM NA PROTQVENII WSEGO
SEANSA Emacs.
dLQ ZADANIQ CWETOW NET PRIWQZOK [email protected]^EJ,NO WY MOVETE UKAZYWATX IH PRI POMO]I
RAS[IRENNYH KOMAND M-x facemenu-set-foreground I M-x facemenu-set-background.oBE
\TI KOMANDY S^[email protected] IMQ CWETA W MINIBUFERE.
21.11.6 oTSTUPY W FORMATIROWANNOM TEKSTE
pRI REDAKTIROWANII FORMATIROWANNOGO TEKSTA WY MOVETE ZADATX RAZLI^NYE WELI^INY
OTSTUPA DLQ PRAWOGO ILI LEWOGO KRAQ CELOGO ABZACA ILI EGO ^ASTI.uKAZANNYE WAM POLQ AW-
TOMATI^ESKI U^[email protected] KOMANDY Emacs DLQ ZAPOLNENIQ (SM.rAZDEL 21.5 [zAPOLNENIE],
S.185 ) I RAZRYWA STROK.
[email protected] Indentation PREDOSTAWLQET UDOBNYJ INTERFEJS DLQ UKAZANIQ\TIH SWOJSTW.oNO
SODERVIT ^ETYRE PUNKTA:
Indent More
uWELI^IWAET OTSTUP OBLASTI NA 4 STOLBCA (increase-left-margin).w REVI-
ME Enriched\TA KOMANDA TAKVE DOSTUPNA NA C-x
hTABi;ESLI WY PREDOSTAWITE
^ISLOWOJ ARGUMENT,TO ON GOWORIT,SKOLXKO STOLBCOW NUVNO DOBAWITX K [email protected]
(OTRICATELXNYJ ARGUMENT UMENX[AET ^ISLO STOLBCOW).
Indent Less
uDALQET 4 STOLBCA OTSTUPA IZ OBLASTI.
Indent Right More
sUVAET OBLASTX,DELAQ S PRAWOGO KRAQ OTSTUP W 4 STOLBCA.
202 rUKOWODSTWO PO GNU EmacsIndent Right Less
uDALQET 4 STOLBCA OTSTUPA S PRAWOGO KRAQ.
wY MOVETE ISPOLXZOWATX\TI KOMANDY NESKOLXKO RAZ DLQ UWELI^ENIQ ILI UMENX[ENIQ
WELI^INY OTSTUPA.
nAIBOLEE ^ASTYJ SPOSOB PRIMENENIQ\TIH KOMAND | IZMENQTX OTSTUP CELOGO ABZACA.
oDNAKO\TO NE EDINSTWENNOE IH PRIMENENIE.wY MOVETE POMENQTX RAZMERY POLEJ W [email protected]
TO^KE;NOWYE ZNA^ENIQ [email protected] W KONCE\TOJ STROKI (DLQ PRAWOGO POLQ) ILI W NA^ALE
[email protected]]EJ (DLQ LEWOGO POLQ).
|TO POZWOLQET FORMATIROWATX ABZACY S WISQ]IMI OTSTUPAMI,^TO OZNA^AET,^TO OTSTUP
PERWOJ STROKI MENX[E OTSTUPA [email protected]]IH STROK.~TOBY USTANOWITX WISQ]IJ OTSTUP,
UWELI^XTE OTSTUP OBLASTI,NA^[email protected]]EJSQ POSLE PERWOGO SLOWA ABZACA I [email protected]]EJSQ
DO EGO KONCA.
oTSTUP W PERWOJ STROKE ABZACA DELAETSQ PRO]E.uSTANOWITE POLE DLQ WSEGO ABZACA TAM,
GDE WY HOTELI BY WIDETX EGO DLQ TELA ABZACA,A ZATEM UWELI^XTE OTSTUP PERWOJ STROKI,
DOBAWIW PROBELY ILI ZNAKI TABULQCII.
iNOGDA W REZULXTATE REDAKTIROWANIQ ZAPOLNENIE ABZACA SBIWAETSQ | ^ASTI ABZACA MO-
GUT WYJTI ZA LEWYE ILI PRAWYE POLQ.kOGDA TAKOE PROISHODIT,WOSPOLXZUJTESX M-q (fill-
paragraph),^TOBY PEREZAPOLNITX\TOT ABZAC.
~ISLO STOLBCOW,KOTORYE [email protected] ILI [email protected] IZ OTSTUPA\TI KOMANDY,ZADAETSQ
PEREMENNOJ standard-indent.eE ZNA^ENIE RAWNO PO UMOL^[email protected] ^ETYREM.oB]EE PRAWOE
POLE,PRINIMAEMOE PO UMOL^[email protected] DLQ REVIMA Enriched,KONTROLIRUETSQ PEREMENNOJ fill-
column,KAK OBY^NO.
pREFIKS ZAPOLNENIQ,ESLI ON ZADAN,DEJSTWUET SOWMESTNO S UKAZANNYM OTSTUPOM ABZACA:
C-x.NE [email protected]^AET PROPUSK IZ UKAZANNOGO OTSTUPA W NOWOE ZNA^ENIE PREFIKSA ZAPOLNENIQ,
A KOMANDY ZAPOLNENIQ I]UT PREFIKS ZAPOLNENIQ W KAVDOJ STROKE POSLE OTSTUPA.sM.rAZDEL 21.5.3 [pREFIKS ZAPOLNENIQ],S.187.
21.11.7 wYRAWNIWANIE W FORMATIROWANNOM TEKSTE
pRI REDAKTIROWANII FORMATIROWANNOGO TEKSTA WY MOVETE ZADAWATX RAZLI^NYE STILI
WYRAWNIWANIQ ABZACEW.uKAZANNYJ WAMI STILX AWTOMATI^ESKI U^ITYWAETSQ KOMANDAMI
Emacs DLQ ZAPOLNENIQ.
[email protected] JustiпЂЊcation PREDOSTAWLQET UDOBNYJ INTERFEJS DLQ UKAZANIQ STILQ WYRAWNI-
WANIQ.oNO SODERVIT PQTX PUNKTOW:
Flush Left
|TO NAIBOLEE RASPROSTRANENNYJ STILX WYRAWNIWANIQ (PO KRAJNEJ MERE DLQ
ANGLIJSKOGO QZYKA).sTROKI [email protected] PO LEWOMU [email protected],NO [email protected]
NEROWNYMI S PRAWOGO KRAQ.
Flush Right
|TO WYRAWNIWAET [email protected] STROKU PO PRAWOMU [email protected] NEOBHODIMO,SLEWA
[email protected] PROBELY I ZNAKI TABULQCII,^TOBY PRAWYE KONCY STROK WYSTRAI-
WALISX W [email protected]
Full |TO WYRAWNIWAET TEKST PO OBOIM KONCAM STROK.wYROWNENNYJ TAKIM OBRAZOM
TEKST SMOTRITSQ KRASIWO W PE^ATNOJ KNIGE,GDE WSE PROBELY MOVNO NASTROITX
ODINAKOWO,NO SMOTRITSQ NE TAK HORO[O S RAWNO[IRINNYM [RIFTOM NA\KRANE.
wOZMOVNO,BUDU]IE WERSII Emacs POZWOLQT NASTRAIWATX [IRINU PROBELOW W
STROKE,^TOBY DOSTI^X\LEGANTNOGO WYRAWNIWANIQ.
Center |TO CENTRIRUET [email protected] STROKU MEVDU TEKU]IMI POLQMI.
gLAWA 21:kOMANDY DLQ ESTESTWENNYH QZYKOW 203None |TO [email protected]^AET ZAPOLNENIE [email protected] STROKA BUDET OSTAWATXSQ TA-
KOJ,KAK WY EE NAPISALI;FUNKCII ZAPOLNENIQ I AWTOMATI^ESKOGO ZAPOLNENIQ
NE BUDUT IMETX\FFEKTA W TEKSTE S TAKOJ USTANOWKOJ.wY WSE VE MOVETE DE-
LATX OTSTUP SLEWA.w NEZAPOLNENNYH OBLASTQH WSE PEREWODY STROK S^[email protected]
VESTKIMI (SM.rAZDEL 21.11.2 [vESTKIE I GIBKIE PEREWODY STROK],S.199).
w REVIME Enriched WY TAKVE MOVETE ZADAWATX STILX WYRAWNIWANIQ S KLAWIATURY,IS-
POLXZUQ PREFIKSNYJ ZNAK M-j:
M-j c
M-S cENTRIRUET OBLASTX (set-justification-center).
M-j u dELAET OBLASTX NEWYROWNENNOJ (set-justification-none).
M-j l wYRAWNIWAET OBLASTX SLEWA (set-justification-left).
M-j r wYRAWNIWAET OBLASTX SPRAWA (set-justification-right).
M-j f wYRAWNIWAET OBLASTX [email protected] (set-justification-full).
sTILI WYRAWNIWANIQ [email protected] K CELYM ABZACAM.wSE KOMANDY DLQ IZMENENIQ WY-
RAWNIWANIQ [email protected] NA ABZAC,SODERVA]IJ TO^KU,ILI,ESLI OBLASTX AKTIWNA,NA WSE
ABZACY,[email protected]]IESQ S [email protected]
sTILX WYRAWNIWANIQ PO UMOL^[email protected] ZADAETSQ PEREMENNOJ default-justification.eE
ZNA^ENIEM DOLVEN BYTX ODIN IZ SIMWOLOW left,right,full,center ILI none.
21.11.8 uSTANOWKA DRUGIH SWOJSTW TEKSTA
[email protected] Other Properties POZWOLQET WAM DOBAWLQTX ILI UDALQTX TRI DRUGIH POLEZNYH
SWOJSTWA TEKSTA:read-only,invisible I intangible.sWOJSTWO intangible ZAPRE]AET
DWIVENIE TO^KI WNUTRI\TOGO TEKSTA,SWOJSTWO TEKSTA invisible DELAET TEKST NEWIDIMYM,
A SWOJSTWO read-only ZAPRE]AET IZMENENIE TEKSTA.
dLQ DOBAWLENIQ KAVDOGO IZ\TIH OSOBYH SWOJSTW K OBLASTI ESTX PUNKT [email protected]
PUNKT [email protected],`Remove Special',UDALQET WSE\TI OSOBYE SWOJSTWA IZ TEKSTA OBLASTI.
nA DANNYJ MOMENT SWOJSTWA invisible I intangible NE [email protected] W FORMATE
text/enriched.sWOJSTWO read-only SOHRANQETSQ,NO ONO NE WHODIT W STANDART FORMATA
text/enriched,PO\TOMU DRUGIE REDAKTORY MOGUT EGO IGNORIROWATX.
21.11.9 pRINUDITELXNOE [email protected]^ENIE REVIMA Enriched
oBY^NO Emacs ZNAET,KOGDA WY REDAKTIRUETE FORMATIROWANNYJ TEKST,POSKOLXKU ON
RASPOZNAET SPECIALXNYE POMETKI,ISPOLXZOWANNYE W FAJLE,K KOTOROMU WY OBRATILISX.
oDNAKO,[email protected] SITUACII,W KOTORYH WY DOLVNY PREDPRINQTX OSOBYE MERY,^TOBY PREOB-
RAZOWATX SODERVIMOE FAJLA ILI [email protected]^ITX REVIM Enriched:
пЂЏ kOGDA WY OBRA]AETESX K FAJLU,KOTORYJ BYL SOZDAN KAKIM-TO DRUGIM REDAKTOROM,
Emacs MOVET NE RASPOZNATX\TOT FAJL KAK OTFORATIROWANNYJ W text/enriched.w TAKOM
SLU^AE,KOGDA WY OBRA]AETESX K FAJLU,WY UWIDITE KOMANDY FORMATIROWANIQ,A NE
FORMATIROWANNYJ TEKST.nABERITE M-x format-decode-buffer,^TOBY PEREWESTI IH.
пЂЏ kOGDA WY WSTAWLQETE FAJL W BUFER,A NE OBRA]AETESX K NEMU.Emacs DELAET NEOBHO-
DIMYE PREOBRAZOWANIQ WSTAWLQEMOGO TEKSTA,NO NE [email protected]^AET REVIM Enriched.eSLI WY
HOTITE SDELATX\TO,WWEDITE M-x enriched-mode.
kOMANDA format-decode-buffer PEREWODIT TEKST IZ RAZLI^NYH FORMATOW WO WNUTREN-
NIJ FORMAT Emacs.oNA PROSIT WAS UKAZATX FORMAT,IZ KOTOROGO DELATX PREOBRAZOWANIE;
ODNAKO,KAK PRAWILO WY MOVETE PROSTO NAVATX
h RETi,^TO WELIT Emacs PREDPOLOVITX FOR-
MAT SAMOMU.
204 rUKOWODSTWO PO GNU EmacseSLI WY HOTITE PROSMOTRETX NA TEKST W text/enriched-FAJLE BUKWALXNO,KAK POSLE-
DOWATELXNOSTX ZNAKOW,A NE KAK FORMATIROWANNYJ TEKST,WOSPOLXZUJTESX KOMANDOJ M-x
find-file-literally.oNA OBRA]AETSQ K FAJLU,KAK I find-file,NO NE PROIZWODIT PRE-
OBRAZOWANIE FORMATA.oNA TAKVE PODAWLQET PREOBRAZOWANIE KODOW ZNAKOW (SM.rAZDEL 18.7
[sISTEMY KODIROWANIQ],S.165 ) I AWTOMATI^[email protected] RASPAKOWKU (SM.rAZDEL 14.11 [sVATYE
FAJLY],S.133 ).~TOBY [email protected]^ITX PREOBRAZOWANIE FORMATA,NO POZWOLITX PEREWOD KODOW
ZNAKOW I/ILI AWTOMATI^[email protected] RASPAKOWKU,ESLI ONA NUVNA,ISPOLXZUJTE format-find-file
S PODHODQ]IMI ARGUMENTAMI.
gLAWA 22:rEDAKTIROWANIE PROGRAMM 20522 rEDAKTIROWANIE PROGRAMM
w Emacs ESTX MNOGO KOMAND,PREDNAZNA^ENNYH DLQ PONIMANIQ SINTAKSISA QZYKOW PRO-
GRAMMIROWANIQ,TAKIH KAK lISP I sI.|TI KOMANDY MOGUT:
пЂЏ pEREDWIGATX ILI UNI^TOVATX SBALANSIROWANNYE WYRAVENIQ ILI s-WYRAVENIQ (SM.rAZDEL 22.2 [sPISKI],S.206).
пЂЏ pEREDWIGATX ^EREZ ILI POME^ATX WYRAVENIQ WERHNEGO UROWNQ |OPREDELENIQ FUNKCIJ
W lISPE,FUNKCII W sI (SM.rAZDEL 22.4 [oPREDELENIQ FUNKCIJ],S.208).
пЂЏ pOKAZYWATX,KAK SBALANSIROWANY KRUGLYE SKOBKI (SM.rAZDEL 22.6 [pARNOSTX],S.218).
пЂЏ wSTAWLQTX,UNI^TOVATX ILI WYRAWNIWATX KOMMENTARII (SM.rAZDEL 22.7 [kOMMENTA-
RII],S.219 ).
пЂЏ sLEDOWATX OBY^NYM SOGLA[ENIQM OB OTSTUPAH,PRINQTYH W QZYKE (SM.rAZDEL 22.5
[oTSTUPY W PROGRAMMAH],S.208 ).
kOMANDY DLQ SLOW,PREDLOVENIJ I ABZACEW O^ENX UDOBNY PRI REDAKTIROWANII PROGRAMM,
DAVE HOTQ IH TRADICIONNYM PRIMENENIEM QWLQETSQ REDAKTIROWANIE TEKSTOW NA ESTESTWEN-
NOM QZYKE.bOLX[INSTWO SIMWOLOW SODERVAT SLOWA (SM.rAZDEL 21.1 [sLOWA],S.181);PREDLO-
VENIQ MOGUT BYTX NAJDENY W STROKAH ILI KOMMENTARIQH (SM.rAZDEL 21.2 [pREDLOVENIQ],
S.182 ).aBZACY TAK TAKOWYE NE [email protected] W KODE,NO KOMANDY RABOTY S ABZACAMI
TEM NE MENEE POLEZNY,TAK KAK OSNOWNYE REVIMY DLQ QZYKOW PROGRAMMIROWANIQ OPREDELQ-
@T ABZACY KAK KUSKI TEKSTA,NA^[email protected]]IESQ I ZAKAN^[email protected]]IESQ PUSTYMI STROKAMI (SM.rAZDEL 21.3 [aBZACY],S.183).rAZUMNOE ISPOLXZOWANIE PUSTYH STROK DLQ ULU^[ENIQ ^I-
TAEMOSTI PROGRAMMY BUDET TAKVE PREDOSTAWLQTX KOMANDAM,[email protected]]IM S ABZACAMI,
INTERESNYE KUSKI TEKSTA DLQ RABOTY.
sREDSTWO WYBORO^NOGO POKAZA POLEZNO DLQ PROSMOTRA OB]EJ STRUKTURY FUNKCII (SM.rAZDEL 11.4 [wYBORO^NYJ POKAZ],S.83).|TO SREDSTWO DELAET TAK,^TO NA\KRANE [email protected]
TOLXKO TE STROKI,OTSTUP W KOTORYH MENX[E ZADANNOJ WELI^INY.
22.1 oSNOWNYE REVIMY DLQ QZYKOW PROGRAMMIROWANIQ
Emacs TAKVE IMEET OSNOWNYE REVIMY DLQ QZYKOW PROGRAMMIROWANIQ lISP,Scheme
(WARIANT lISPA),Awk,sI,sI++,fORTRAN,Icon,Java,Objective-C,pASKALX,Perl,Pike,
CORBA IDL,I Tcl.eSTX TAKVE OSNOWNOJ REVIM DLQ Make-FAJLOW,NAZYWAEMYJ REVIMOM
MakeпЂЊle.wTOROJ ALXTERNATIWNYJ REVIM DLQ Perl NAZYWAETSQ REVIMOM CPerl.
w IDEALE,OSNOWNOJ REVIM DOLVEN BYTX REALIZOWAN DLQ KAVDOGO QZYKA PROGRAMMIROWA-
NIQ,KOTORYJ WY MOVETE POVELATX REDAKTIROWATX PRI POMO]I Emacs;NO ^ASTO REVIM DLQ
ODNOGO QZYKA MOVET OBSLUVIWATX DRUGIE QZYKI SO SHOVIM SINTAKSISOM.sU][email protected]]IE
REVIMY DLQ QZYKOW |\TO TE,KOTORYE KTO-TO WZQL NA SEBQ TRUD NAPISATX.
eSTX NESKOLXKO RAZNOWIDNOSTEJ REVIMA Lisp,KOTORYE OTLI^[email protected] SPOSOBOM WZAIMODEJ-
STWIQ S ISPOLNENIEM lISPA.sM.rAZDEL 23.8 [wY^ISLENIE lISPA],S.254.
kAVDYJ IZ OSNOWNYH REVIMOW DLQ QZYKA PROGRAMMIROWANIQ OPREDELQET [email protected]^
hTABi DLQ
ZAPUSKA FUNKCII,[email protected]]EJ OTSTUP,KOTOROJ IZWESTNY SOGLA[ENIQ OB OTSTUPAH DLQ\TOGO
QZYKA I KOTORAQ SOOTWETSTWENNO IZMENQET OTSTUP TEKU]EJ STROKI.nAPRIMER,W REVIME s,
h TABi PRIWQZAN K c-indent-line.C-j OBY^NO OPREDELQETSQ TAK,^TOBY DELATX hRETi,ZA KO-
TORYM SLEDUET h TABi;TAKIM OBRAZOM,\TA KOMANDA TOVE DELAET OTSTUP W REVIMOZAWISIMOM
WIDE.
w BOLX[INSTWE QZYKOW PROGRAMMIROWANIQ OTSTUP ^ASTO IZMENQETSQ OT STROKI K STROKE.
sLEDOWATELXNO,OSNOWNYE REVIMY DLQ TAKIH QZYKOW [email protected]
hDELi TAK,^TOBY
ON TRAKTOWAL ZNAK TABULQCII KAK\KWIWALENTNOE KOLI^ESTWO PROBELOW (ISPOLXZUQ KOMANDU
backward-delete-char-untabify).|TO POZWOLQET STIRATX OTSTUP PO ODNOMU STOLBCU,NE
ZABOTQSX O TOM,SDELAN LI ON S POMO][email protected] PROBELOW ILI ZNAKOW TABULQCII.~TOBY UDALITX W
\TIH REVIMAH ZNAK TABULQCII PERED TO^KOJ,ISPOLXZUJTE C-b C-d.
206 rUKOWODSTWO PO GNU EmacsrEVIMY QZYKOW PROGRAMMIROWANIQ [email protected],^TO ABZACY [email protected] TOLXKO PUSTY-
MI STROKAMI,TAK ^TO KOMANDY RABOTY S ABZACAMI [email protected] POLEZNYMI.rEVIM Auto Fill,
[email protected]^ENNYJ W OSNOWNOM REVIME QZYKA PROGRAMMIROWANIQ,DELAET OTSTUP W SOZDAWAEMYH
IM NOWYH STROKAH.
[email protected]^ENIE OSNOWNOGO REVIMA ZAPUSKAET OBY^[email protected] LOWU[KU,[email protected] LOWU[KOJ RE-
VIMA,KOTORAQ QWLQETSQ ZNA^ENIEM LISPOWSKOJ PEREMENNOJ.dLQ KAVDOGO OSNOWNOGO REVIMA
ESTX SWOQ LOWU[KA,I IMQ\TOJ LOWU[KI WSEGDA SOSTAWLQETSQ IZ IMENI KOMANDY,ZAPUSKA-
@]EJ\TOT REVIM,I SLOWA`-hook'.nAPRIMER,[email protected]^ENIE REVIMA s ZAPUSKAET LOWU[KU
c-mode-hook,TOGDA KAK [email protected]^ENIE REVIMA Lisp ZAPUSKAET LOWU[KU lisp-mode-hook.sM.rAZDEL 31.2.3 [lOWU[KI],S.349.
22.2 sPISKI I s-WYRAVENIQ
pO SOGLA[[email protected],[email protected]^I Emacs DLQ RABOTY SO SBALANSIROWANNYMI WYRAVENIQMI OBY^NO
[email protected] Control-Meta-ZNAKAMI.pO [email protected] ONI STREMQTSQ POHODITX NA SWOI Control-
I Meta-ANALOGI.oBY^NO S^ITAETSQ,^TO\TI KOMANDY [email protected] OTNO[ENIE K WYRAVENIQM W
QZYKAH PROGRAMMIROWANIQ,NO ONI MOGUT OKAZATXSQ POLEZNYMI W [email protected] QZYKE,W KOTOROM
SU]ESTWUET KAKAQ-LIBO RAZNOWIDNOSTX KRUGLYH SKOBOK ([email protected]^AQ ESTESTWENNYE QZYKI).
|TI KOMANDY DELQTSQ NA DWA KLASSA.nEKOTORYE [email protected] DELO TOLXKO SO SPISKAMI (ZA-
[email protected]^ENNYMI W SKOBKI GRUPPAMI).oNI NE WIDQT NI^EGO,KROME KRUGLYH,KWADRATNYH ILI
FIGURNYH SKOBOK (TEH,KOTORYE DOLVNY BYTX SBALANSIROWANY W QZYKE,S KOTORYM WY RABO-
TAETE) I U[email protected]]IH SIMWOLOW,KOTORYE MOGUT BYTX ISPOLXZOWANY,^TOBY\KRANIROWATX
\TI SKOBKI.
dRUGIE KOMANDY [email protected] DELO S WYRAVENIQMI ILI s-WYRAVENIQMI.sLOWO`s-WYRAVENIE'
PROISHODIT OT s-expression,STAROGO TERMINA DLQ WYRAVENIQ W lISPE.nO W Emacs PONQTIE
`s-WYRAVENIE'NE OGRANI^IWAETSQ lISPOM.oNO OBOZNA^AET WYRAVENIE W [email protected] QZYKE,NA
KOTOROM NAPISANA WA[A PROGRAMMA.kAVDYJ QZYK PROGRAMMIROWANIQ IMEET SWOJ SOBSTWEN-
NYJ OSNOWNOJ REVIM,KOTORYJ NASTRAIWAET SINTAKSI^ESKIE TABLICY TAK,^TO WYRAVENIQ
NA\TOM QZYKE [email protected] KAK s-WYRAVENIQ.
oBY^NO s-WYRAVENIE [email protected]^AET W SEBQ SIMWOLY,^ISLA I STROKOWYE KONSTANTY,A TAKVE
WSE,^TO SODERVITSQ W KRUGLYH,KWADRATNYH ILI FIGURNYH SKOBKAH.
w QZYKAH,KOTORYE [email protected] PREFIKSNYE I INFIKSNYE OPERATORY,TAKIH KAK sI,NE
WSE WYRAVENIQ MOGUT BYTX s-WYRAVENIQMI.nAPRIMER,REVIM s NE RASPOZNAET`foo + bar'
KAK s-WYRAVENIE,NESMOTRQ NA TO,^TO\TO QWLQETSQ WYRAVENIEM sI;ON RASPOZNAET`foo'
KAK ODNO s-WYRAVENIE I`bar'KAK DRUGOE,SO ZNAKOM`+'W KA^ESTWE PUNKTUACII MEVDU NIMI.
|TO FUNDAMENTALXNAQ NEODNOZNA^NOSTX:KAK`foo + bar',TAK I`foo'[email protected] ZAKONNYMI
KANDIDATAMI NA s-WYRAVENIE,^EREZ KOTOROE NUVNO PEREDWINUTXSQ,ESLI TO^KA NAHODITSQ
NA`f'.zAMETXTE,^TO`(foo + bar)'|\TO EDINOE s-WYRAVENIE W REVIME s.
nEKOTORYE QZYKI [email protected] [email protected] FORMU SINTAKSISA WYRAVENIJ,I NIKTO NE POZABO-
TILSQ O TOM,^TOBY Emacs EGO PRAWILXNO PONIMAL.
22.3 kOMANDY RABOTY SO SPISKAMI I s-WYRAVENIQMI
C-M-f pEREDWINUTXSQ WPERED ^EREZ s-WYRAVENIE (forward-sexp).
C-M-b pEREDWINUTXSQ NAZAD ^EREZ s-WYRAVENIE (backward-sexp).
C-M-k uNI^TOVITX s-WYRAVENIE WPERED (kill-sexp).
C-M-h DELi uNI^TOVITX s-WYRAVENIE NAZAD (backward-kill-sexp).
C-M-u pEREJTI WWERH I NAZAD PO STRUKTURE SPISKA (backward-up-list).
C-M-d pEREJTI WNIZ I WPERED PO STRUKTURE SPISKA (down-list).
gLAWA 22:rEDAKTIROWANIE PROGRAMM 207C-M-n pEREDWINUTXSQ WPERED ^EREZ SPISOK (forward-list).
C-M-p pEREDWINUTXSQ NAZAD ^EREZ SPISOK (backward-list).
C-M-t pERESTAWITX WYRAVENIQ (transpose-sexps).
[email protected] pOSTAWITX METKU POSLE [email protected]]EGO WYRAVENIQ (mark-sexp).
~TOBY PEREDWINUTXSQ WPERED ^EREZ s-WYRAVENIE,ISPOLXZUJTE C-M-f (forward-sexp).
eSLI PERWAQ ZNA^A]AQ LITERA POSLE TO^KI |\TO [email protected]]IJ OGRANI^ITELX (`('W lISPE;
`(',`['ILI`{'W sI),TO C-M-f PEREDWIGAET ZA PARNYJ [email protected]]IJ OGRANI^ITELX.eSLI
\TOT ZNAK NA^INAET SIMWOL,STROKU ILI ^ISLO,TO C-M-f PEREDWIGAET ^EREZ NIH.
kOMANDA C-M-b (backward-sexp) DWIGAET NAZAD ^EREZ s-WYRAVENIE.pODROBNYE PRAWILA
POHOVI NA OPISANNYE WY[E DLQ C-M-f,NO S PROTIWOPOLOVNYM NAPRAWLENIEM.eSLI PERED
s-WYRAVENIEM STOQT KAKIE-LIBO PREFIKSNYE SIMWOLY (W lISPE\TO ODINO^NAQ KAWY^KA,
OBRATNAQ KAWY^KA I ZAPQTAQ),TO C-M-b PEREHODIT I ^EREZ NIH.kOMANDY DLQ s-WYRAVENIJ
[email protected] ^EREZ KOMMENTARII,KAK\TO DELAETSQ DLQ PROPUSKOW W BOLX[INSTWE REVI-
MOW.
C-M-f ILI C-M-b S ARGUMENTOM [email protected] [email protected] ZADANNOE ^ISLO RAZ;S OTRICATELX-
NYM ARGUMENTOM,ONI PEREME][email protected] W PROTIWOPOLOVNOM NAPRAWLENII.
uNI^TOVENIE CELOGO s-WYRAVENIQ MOVET BYTX SDELANO PRI POMO]I C-M-k (kill-sexp)
ILI C-M-hDELi (backward-kill-sexp).C-M-k UNI^TOVAET ZNAKI,^EREZ KOTORYE PEREDWINULA
BY C-M-f,A C-M-hDELi UNI^TOVAET ZNAKI,^EREZ KOTORYE PEREDWINULA BY C-M-b.
kOMANDY DLQ SPISKOW [email protected] ^EREZ SPISKI,KAK I KOMANDY s-WYRAVENIJ,NO LEGKO
[email protected] ^EREZ [email protected] KOLI^ESTWO DRUGIH WIDOW s-WYRAVENIJ (SIMWOLY,STROKI I
TAK DALEE).|TO C-M-n (forward-list) I C-M-p (backward-list).oNI POLEZNY W OSNOWNOM
TEM,^TO OBY^NO [email protected] KOMMENTARII (TAK KAK KOMMENTARII KAK PRAWILO NE SODERVAT
NIKAKIH SPISKOW).
C-M-n I C-M-p [email protected] NA ODNOM UROWNE SKOBOK,KOGDA\TO WOZMOVNO.~TOBY PERE-
DWINUTXSQ WWERH NA ODIN (ILI n) UROWENX,ISPOLXZUJTE C-M-u (backward-up-list).C-M-u
DWIGAET NAZAD I WWERH MIMO ODNOGO NEPARNOGO [email protected]]EGO OGRANI^ITELQ.pOLOVITELX-
NYJ ARGUMENT SLUVIT S^ET^IKOM POWTOROW;OTRICATELXNYJ ARGUMENT MENQET NAPRAWLENIE
DWIVENIQ I TAKVE ZAPRA[IWAET POWTORENIE,TAKIM OBRAZOM,W\TOM SLU^AE DWIVENIE PRO-
ISHODIT WPERED I WWERH NA ODIN ILI BOLX[E UROWNEJ.
~TOBY PEREDWINUTXSQ WNIZ PO STRUKTURE SPISKOW,ISPOLXZUJTE C-M-d (down-list).w
REVIME Lisp,GDE`('|\TO EDINSTWENNYJ OT[email protected]]IJ OGRANI^ITELX,\TO PO^TI TO VE SA-
MOE,^TO I POISK`('.kOLI^ESTWO UROWNEJ SKOBOK,NA KAKOE SLEDUET SPUSTITXSQ,OPREDELQET
ARGUMENT.
kOMANDA C-M-t (transpose-sexp),KOTORAQ PERENOSIT PREDYDU]EE s-WYRAVENIE ^EREZ
[email protected]]EE,OT^ASTI KAVETSQ SLU^AJNO [email protected] POPAW[EJ,NO TEM NE MENEE ONA O^ENX UDOBNA.
aRGUMENT SLUVIT DLQ PODS^ETA ^ISLA POWTOROW,A OTRICATELXNYJ ARGUMENT PERETASKIWAET
WYRAVENIE W OBRATNOM NAPRAWLENII (TAKIM OBRAZOM OTMENQQ DEJSTWIE C-M-t S POLOVI-
TELXNYM ARGUMENTOM).aRGUMENT,RAWNYJ [email protected],WMESTO TOGO ^TOBY NI^EGO NE DELATX,
PERESTAWLQET MESTAMI s-WYRAVENIQ,KON^[email protected]]IESQ POSLE TO^KI I METKI.
~TOBY USTANOWITX OBLASTX WOKRUG [email protected]]EGO s-WYRAVENIQ W BUFERE,ISPOLXZUJTE
[email protected] (mark-sexp),KOTORAQ STAWIT POMETKU W TO VE SAMOE MESTO,KUDA DOLVNA BY BY-
LA PEREDWINUTXSQ [email protected] WOSPRINIMAET ARGUMENT TAK VE,KAK C-M-f.w ^ASTNOSTI,
OTRICATELXNYJ ARGUMENT UDOBEN DLQ USTANOWKI METKI W NA^ALE PREDYDU]EGO s-WYRAVENIQ.
pONIMANIE SINTAKSISA KOMANDAMI DLQ SPISKOW I s-WYRAVENIJ [email protected] UPRAWLQETSQ
SINTAKSI^ESKOJ [email protected] ZNAK MOVET BYTX OB_QWLEN,NAPRIMER,[email protected]]IM
OGRANI^ITELEM I DEJSTWOWATX KAK [email protected]]AQ KRUGLAQ SKOBKA.sM.rAZDEL 31.6 [sINTAK-
SIS],S.366.
208 rUKOWODSTWO PO GNU Emacs22.4 oPREDELENIQ FUNKCIJ
w Emacs,[email protected]^ENNYE W SKOBKI GRUPPY NA WERHNEM UROWNE W BUFERE [email protected] OPRE-
DELENIQMI FUNKCIJ.|TO NAZWANIE PROISHODIT OT TOGO FAKTA,^TO BOLX[INSTWO SPISKOW
WERHNEGO UROWNQ W lISP-FAJLE |\TO\KZEMPLQRY SPECIALXNOJ FORMY defun,NO [email protected]
GRUPPA WERHNEGO UROWNQ,[email protected]^ENNAQ W SKOBKI,NA QZYKE Emacs PONIMAETSQ KAK OPREDELE-
NIE FUNKCII,NEZAWISIMO OT EE SODERVANIQ I OT ISPOLXZUEMOGO QZYKA PROGRAMMIROWANIQ.
nAPRIMER,TELO FUNKCII W sI |\TO OPREDELENIE FUNKCII.
C-M-a pEREDWINUTXSQ K NA^ALU TEKU]EGO ILI PRED[[email protected]]EGO OPREDELENIQ FUNKCII
(beginning-of-defun).
C-M-e pEREDWINUTXSQ W KONEC TEKU]EGO ILI [email protected]]EGO OPREDELENIQ FUNKCII (end-
of-defun).
C-M-h pOMETITX OBLASTX WOKRUG WSEGO TEKU]EGO ILI [email protected]]EGO OPREDELENIQ FUNKCII
(mark-defun).
kOMANDY DWIVENIQ K NA^ALU ILI KONCU TEKU]EGO OPREDELENIQ FUNKCII |\TO C-M-a
(beginning-of-defun) I C-M-e (end-of-defun).
eSLI WY POVELAETE PROIZWESTI KAKIE-TO DEJSTWIQ NAD TEKU]IM OPREDELENIEM FUNKCII,
ISPOLXZUJTE C-M-h (mark-defun),KOTORAQ STAWIT TO^KU W NA^ALE I METKU W KONCE TEKU]EGO
ILI [email protected]]EGO OPREDELENIQ FUNKCII.nAPRIMER,\TO PROSTEJ[IJ SPOSOB POLU^ITX GOTO-
WOE DLQ PEREME]ENIQ W DRUGOE MESTO OPREDELENIE FUNKCII.w REVIME s,C-M-h ZAPUSKAET
[email protected] c-mark-function,KOTORAQ PO^TI\KWIWALENTNA mark-defun;RAZLI^IE SOSTOIT W
TOM,^TO ONA PEREHODIT ^EREZ OB_QWLENIQ ARGUMENTOW,IMQ FUNKCII I TIP WOZWRA]AEMYH
DANNYH,TAK ^TO FUNKCIQ sI OKAZYWAETSQ WNUTRI OBLASTI [email protected] 8.4
[pOMETKA OB_EKTOW],S.65.
Emacs PREDPOLAGAET,^TO [email protected] [email protected]]IE SKOBKI,NAJDENNYE W SAMOM LEWOM STOLB-
CE,|\TO NA^ALO OPREDELENIQ FUNKCII.pO\TOMU NIKOGDA NE STAWXTE [email protected]]IE SKOBKI
S LEWOGO KRAQ W lISP-FAJLE,ESLI ONI NE [email protected] NA^ALOM SPISKA WERHNEGO UROWNQ.nIKO-
GDA NE STAWXTE [email protected]][email protected] [email protected] SKOBKU ILI DRUGOJ [email protected]]IJ OGRANI^ITELX
W NA^ALE STROKI W PROGRAMME NA sI,ESLI TOLXKO ONI NE NA^[email protected] TELO FUNKCII.bOLX-
[INSTWO WOZMOVNYH PROBLEM WOZNIKAET,KOGDA WY HOTITE POSTAWITX [email protected]]IJ OGRA-
NI^ITELX W NA^ALE STROKI WNUTRI STROKOWOJ KONSTANTY.~TOBY IZBEVATX NEPRIQTNOSTEJ,
POSTAWXTE\[email protected]]IJ ZNAK (`\'W sI I Emacs Lisp,`/'W NEKOTORYH DRUGIH DIALEKTAH
lISPA) PERED [email protected]]IM OGRANI^ITELEM.|TO NE POWLIQET NA SODERVIMOE STROKI.
w O^ENX DALEKOM PRO[LOM ORIGINALXNYJ Emacs NAHODIL OPREDELENIQ FUNKCIJ,DWIGAQSX
WWERH PO UROWNQM SKOBOK DO TEH POR,POKA NE DOHODIL DO UROWNQ,OT KOTOROGO NEKUDA BYLO
IDTI DALX[E.|TO WSEGDA TREBOWALO PROSMOTRA POLNOGO PUTI OBRATNO DO NA^ALA BUFERA,
DAVE DLQ MALENXKOJ FUNKCII.~TOBY USKORITX\TU [email protected],Emacs BYL IZMENEN,I TEPERX
ON PREDPOLAGAET,^TO [email protected] ZNAK`('(ILI [email protected] DRUGOJ,PRIPISANNYJ K SINTAKSI^ESKOMU
KLASSU [email protected]]EGO OGRANI^ITELQ) NA LEWOJ GRANICE STROKI |\TO NA^ALO OPREDELENIQ
FUNKCIJ.|TA\WRISTIKA PO^TI WSEGDA PRAWILXNA I POZWOLQET IZBEVATX RESURSOEMKOGO
PROSMOTRA;ODNAKO,ONA TREBUET WYPOLNENIQ OPISANNYH WY[E SOGLA[ENIJ.
22.5 oTSTUPY W PROGRAMMAH
nAILU^[IJ SPOSOB SOHRANITX PRAWILXNOSTX OTSTUPOW W PROGRAMME |\TO ISPOLXZOWATX
Emacs DLQ SOZDANIQ NOWYH OTSTUPOW PO MERE WNESENIQ IZMENENIJ.w Emacs ESTX KOMANDY
DLQ SOZDANIQ PRAWILXNOGO OTSTUPA ODINO^NOJ STROKI,ZADANNOGO ^ISLA STROK ILI WSEH
STROK WNUTRI ODNOJ GRUPPY,[email protected]^ENNOJ W SKOBKI.
Emacs TAKVE PREDOSTAWLQET PROGRAMMU STRUKTURNOJ PE^ATI DLQ lISPA,[email protected]
W BIBLIOTEKE pp.|TA PROGRAMMA PEREFORMATIRUET LISPOWSKIJ OB_EKT,WYBIRAQ OTSTUPY
TAKIM OBRAZOM,^TOBY REZULXTAT HORO[O WYGLQDEL I UDOBNO ^ITALSQ.
gLAWA 22:rEDAKTIROWANIE PROGRAMM 20922.5.1 oSNOWNYE KOMANDY DLQ OTSTUPOW W PROGRAMMAH
hTABi uSTANOWITX OTSTUP TEKU]EJ STROKI.
C-j |KWIWALENT hRETi,ZA KOTORYM SLEDUET hTABi (newline-and-indent).
oSNOWNAQ KOMANDA OTSTUPA |\TO h TABi,KOTORAQ DAET TEKU]EJ STROKE PRAWILXNYJ OT-
STUP,OSNOWYWAQSX NA OTSTUPE PREDYDU]IH STROK.fUNKCIQ,[email protected] ZAPUSKAET hTABi,
ZAWISIT OT OSNOWNOGO REVIMA;W REVIME Lisp\TO lisp-indent-line,W REVIME s\TO c-
indent-line I TAK DALEE.|TI FUNKCII [email protected] RAZLI^NYE SINTAKSISY RAZNYH QZYKOW,
NO WSE ONI [email protected] PRIMERNO ODNO I TO VE.h TABi W OSNOWNOM REVIME [email protected] QZYKA PROGRAM-
MIROWANIQ WSTAWLQET ILI UDALQET PROBELXNYE ZNAKI W NA^ALE TEKU]EJ STROKI,NEZAWISIMO
OT TOGO,GDE W STROKE RASPOLAGAETSQ TO^KA.eSLI TO^KA NAHODITSQ SREDI PROBELXNYH ZNAKOW
W NA^ALE STROKI,h TABi OSTAWLQET EE POSLE NIH;W PROTIWNOM SLU^AE hTABi OSTAWLQET TO^KU
FIKSIROWANNOJ PO OTNO[[email protected] K [email protected]]IM EE ZNAKAM.
~TOBY WSTAWITX W TO^KE ZNAK TABULQCII,ISPOLXZUJTE C-q h TABi.
pRI WWODE NOWOGO KODA ISPOLXZUJTE C-j (newline-and-indent),KOTORAQ\KWIWALENTNA
h RETi,ZA KOTOROJ SLEDUET hTABi.C-j SOZDAET [email protected] STROKU,A ZATEM DAET EJ [email protected]
]IJ OTSTUP.
h TABi SOZDAET OTSTUP WO WTOROJ I [email protected]]IH STROKAH TELA GRUPPY,[email protected]^ENNOJ W SKOB-
KI,TAK,^TO KAVDAQ OKAZYWAETSQ POD PREDYDU]EJ;PO\TOMU,ESLI WY IZMENQETE OTSTUP
ODNOJ STROKI NA NESTANDARTNYJ,TO STROKI NIVE BUDUT STREMITXSQ SLEDOWATX EMU.tA-
KOE POWEDENIE UDOBNO W TEH SLU^AQH,KOGDA WY ZAMENQETE STANDARTNYJ REZULXTAT hTABi,
POSKOLXKU WY NA[LI EGO NE\STETI^NYM DLQ KAKOJ-TO STROKI.
pOMNITE,^TO [email protected]]IE KRUGLYE I FIGURNYE SKOBKI ILI DRUGIE [email protected]]IE
OGRANI^ITELI NA LEWOM KRAE [email protected] Emacs (I PRAWILAMI OTSTUPA) KAK NA^A-
LO FUNKCII.pO\TOMU WY NIKOGDA NE DOLVNY STAWITX [email protected]]IJ OGRANI^ITELX,NE
[email protected]]IJSQ NA^ALOM FUNKCII,W NULEWOM STOLBCE,DAVE WNUTRI STROKOWOJ KONSTANTY.|TO
OGRANI^ENIE VIZNENNO WAVNO DLQ SKOROSTI RABOTY KOMAND OTSTUPA;WY DOLVNY PROSTO
PRINQTX EGO.dLQ BOLEE PODROBNOJ INFORMACII OB\TOM SMOTRITE rAZDEL 22.4 [oPREDELE-
NIQ FUNKCIJ],S.208.
22.5.2 oTSTUP W NESKOLXKIH STROKAH
eSLI WY HOTITE POMENQTX OTSTUP NESKOLXKIH STROK KODA,KOTORYE BYLI IZMENENY ILI
PEREDWINUTY NA DRUGOJ UROWENX W STRUKTURE SPISKOW,WY IMEETE W SWOEM RASPORQVENII
NESKOLXKO KOMAND.
C-M-q sDELATX NOWYJ OTSTUP WO WSEH STROKAH W PREDELAH ODNOGO SPISKA (indent-sexp).
C-u
h TABi sDWINUTX WESX SPISOK VESTKO W STORONU TAK,^TOBY EGO PERWAQ STROKA POLU^ILA
NADLEVA]IJ OTSTUP.
C-M-\sDELATX NOWYJ OTSTUP WO WSEH STROKAH W OBLASTI (indent-region).
wY MOVETE WNOWX SDELATX OTSTUP SODERVIMOGO ODINO^NOGO SPISKA,PEREMESTIW TO^KU W
EGO NA^ALO I NABRAW C-M-q (\TO KOMANDA indent-sexp W REVIME Lisp,c-indent-exp W REVI-
ME s;ONA TAKVE PRIWQZANA K DRUGIM PODHODQ]IM FUNKCIQM W DRUGIH REVIMAH).oTSTUP
STROKI,NA KOTOROJ NA^INAETSQ\TO s-WYRAVENIE,NE IZMENQETSQ;PO\TOMU IZMENQETSQ TOLX-
KO OTNOSITELXNYJ OTSTUP W PREDELAH SPISKA,A NE EGO POZICIQ.~TOBY ISPRAWITX TAKVE I
EGO [email protected],NABERITE hTABi PERED C-M-q.
eSLI OTNOSITELXNYJ OTSTUP WNUTRI SPISKA PRAWILXNYJ,NO OTSTUP EGO PERWOJ STROKI
|NET,PEREJDITE K\TOJ STROKE I NABERITE C-u hTABi.hTABi S ^ISLOWYM ARGUMENTOM DELAET
W TEKU]EJ STROKE OBY^NYJ OTSTUP,A ZATEM IZMENQET OTSTUP WO WSEH STROKAH W GRUPPE,NA-
^INAQ S TEKU]EJ,NA TU VE [email protected] WELI^INU.dRUGIMI SLOWAMI,ONA OBNOWLQET OTSTUP CELOJ
210 rUKOWODSTWO PO GNU EmacsGRUPPY KAK NEDELIMOJ EDINICY.|TO RAZUMNO,HOTQ I NE IZMENQET STROKI,KOTORYE NA^I-
[email protected] WNUTRI STROKOWYH KONSTANT,ILI STROKI PREPROCESSORA sI,KOGDA\TO PROISHODIT
W REVIME s.
mOVNO UKAZATX DIAPAZON STROK,W KOTORYH SLEDUET WNOWX SDELATX OTSTUP,DRUGIM SPO-
SOBOM | S POMO][email protected] OBLASTI.kOMANDA C-M-\(indent-region) PRIMENQET hTABi K KAVDOJ
STROKE,^EJ PERWYJ ZNAK NAHODITSQ MEVDU TO^KOJ I METKOJ.
22.5.3 nASTROJKA OTSTUPOW DLQ lISPA
oBRAZEC OTSTUPA DLQ LISPOWSKOGO WYRAVENIQ MOVET ZAWISETX OT FUNKCII,WYZYWAEMOJ
\TIM WYRAVENIEM.dLQ KAVDOJ LISPOWSKOJ FUNKCII WY MOVETE WYBIRATX SREDI NESKOLX-
KIH PREDOPREDELENNYH OBRAZCOW OTSTUPA ILI OPREDELITX PROIZWOLXNYJ OTSTUP S POMO][email protected]
PROGRAMMY NA lISPE.
sTANDARTNYJ [ABLON OTSTUPA TAKOW:WTORAQ STROKA WYRAVENIQ SDWIGAETSQ POD PERWYJ
ARGUMENT,ESLI ON NAHODITSQ NA TOJ VE SAMOJ STROKE,^TO I NA^ALO WYRAVENIQ;W PROTIWNOM
SLU^AE WTORAQ STROKA SDWIGAETSQ POD IMQ FUNKCII.kAVDAQ [email protected]]AQ STROKA IMEET TOT
VE OTSTUP,^TO I PREDYDU]AQ STROKA S TOJ VE GLUBINOJ WLOVENNOSTI.
eSLI PEREMENNAQ lisp-indent-offset NE RAWNA nil,TO ONA PEREKRYWAET OBY^NYJ [A-
BLON OTSTUPA DLQ WTOROJ STROKI WYRAVENIQ,TAK ^TO TAKIE STROKI WSEGDA [email protected]
WPRAWO NA lisp-indent-offset STOLBCOW DALX[E,^EM SODERVA]IJ IH SPISOK.
sTANDARTNYJ [ABLON PEREKRYWAETSQ W NEKOTORYH OPREDELENNYH FUNKCIQH.dLQ FUNK-
CIJ,^XI IMENA NA^[email protected] S def,OTSTUP WTOROJ STROKI WSEGDA DELAETSQ NA lisp-body-
indention DOPOLNITELXNYH STOLBCOW DALX[E [email protected]]EJ SKOBKI,NA^[email protected]]EJ WYRAVE-
NIE.
sTANDARTNYJ [ABLON MOVET PEREKRYWATXSQ RAZLI^NYMI SPOSOBAMI DLQ OTDELXNYH
FUNKCIJ SOGLASNO SWOJSTWU IMENI\TOJ FUNKCII lisp-indent-function.eSTX ^ETYRE WA-
RIANTA DLQ\TOGO SWOJSTWA:
nil |TO TO VE SAMOE,^TO I OTSUTSTWIE SWOJSTWA;ISPOLXZUETSQ STANDARTNYJ [ABLON
OTSTUPA.
defun {ABLON,ISPOLXZUEMYJ DLQ IMEN FUNKCIJ,KOTORYE NA^[email protected] S def,TAKVE
ISPOLXZUETSQ I DLQ\TOJ FUNKCII.
^ISLO,n pERWYE n ARGUMENTOW\TOJ FUNKCII S^[email protected] OTLI^ITELXNYMI ARGUMENTAMI,
OSTALXNYE [email protected] KAK TELO WYRAVENIQ.sTROKA W\TOM WYRAVENII
OTSTUPAETSQ W SOOTWETSTWII S TEM,QWLQETSQ LI W NEJ PERWYJ ARGUMENT OTLI^I-
TELXNYM ILI NET.eSLI ARGUMENT QWLQETSQ ^[email protected] TELA,TO STROKA OTSTUPAETSQ
NA lisp-body-indent STOLBCOW BOLX[E,^EM [email protected]]AQ SKOBKA,NA^[email protected]
]AQ SODERVA]EE EE WYRAVENIE.eSLI ARGUMENT QWLQETSQ OTLI^ITELXNYM,I
\TO PERWYJ ILI WTOROJ ARGUMENT,TO OTSTUP DELAETSQ NA WDWOE BOLX[EE ^ISLO
DOPOLNITELXNYH STOLBCOW.eSLI ARGUMENT OTLI^ITELEN I NE QWLQETSQ PERWYM
ILI WTORYM,TO DLQ\TOJ STROKI PRIMENQETSQ STANDARTNYJ [ABLON.
SIMWOL,SIMWOL
SIMWOL DOLVEN BYTX IMENEM FUNKCII;\TA FUNKCIQ WYZYWAETSQ DLQ WY^ISLENIQ
OTSTUPA STROKI W PREDELAH\TOGO WYRAVENIQ.fUNKCIQ POLU^AET DWA ARGUMENTA:
SOSTOQNIE zNA^ENIE,WOZWRA]AEMOE IZ parse-partial-sexp (\TO PRIMITIW
lISPA DLQ PODS^ETA WELI^INY OTSTUPOW I WLOVENNOSTEJ),KOGDA ONA
DELAET RAZBOR WPLOTX DO NA^ALA\TOJ STROKI.
POZICIQ pOZICIQ,S KOTOROJ NA^INAETSQ STROKA,W KOTOROJ DELAETSQ OTSTUP.
oNA DOLVNA WOZWRA]ATX LIBO ^ISLO,KOTOROE RAWNO KOLI^ESTWU STOLBCOW OTSTU-
PA DLQ\TOJ STROKI,LIBO SPISOK,^EJ GOLOWNOJ\LEMENT QWLQETSQ TAKIM ^ISLOM.
gLAWA 22:rEDAKTIROWANIE PROGRAMM 211oTLI^IE MEVDU WOZWRA]ENIEM ^ISLA I WOZWRA]ENIEM SPISKA [email protected]^AETSQ W
TOM,^TO ^ISLO GOWORIT,^TO WSE [email protected]]IE STROKI TOGO VE UROWNQ WLOVENNO-
STI DOLVNY POLU^ATX TAKOJ VE OTSTUP,KAK\TA STROKA;SPISOK GOWORIT,^TO
[email protected]]IE STROKI MOGUT TREBOWATX OTLI^NYE OTSTUPY.|TO WAVNO,ESLI OT-
STUPY PODS^[email protected] S POMO][email protected] C-M-q;ESLI ZNA^ENIE |\TO ^ISLO,TO C-M-q
NE NUVDAETSQ W PERES^ETE OTSTUPA DLQ [email protected]]IH STROK DO KONCA SPISKA.
22.5.4 kOMANDY DLQ OTSTUPOW W sI
wOT KOMANDY DLQ SOZDANIQ OTSTUPOW W REVIME C I RODSTWENNYH S NIM:
C-c C-q oBNOWLQET OTSTUP W TEKU]EM OPREDELENII FUNKCII WERHNEGO UROWNQ ILI SOBI-
RAET W ODNO CELOE OB_QWLENIE TIPA (c-indent-defun).
C-M-q oBNOWLQET OTSTUP W KAVDOJ STROKE SBALANSIROWANNOGO WYRAVENIQ,KOTOROE SLE-
DUET POSLE TO^KI (c-indent-exp).pREFIKSNYJ ARGUMENT PODAWLQET PROWERKU
O[IBOK I WYWOD PREDUPREVDENIJ O NEDOPUSTIMOM SINTAKSISE.
h TABi oBNOWLQET OTSTUP W TEKU]EJ STROKE I/ILI W NEKOTORYH SLU^AQH WSTAWLQET ZNAK
TABULQCII (c-indent-command).
eSLI c-tab-always-indent RAWNA t,\TA KOMANDA WSEGDA OBNOWLQET OTSTUP TE-
KU]EJ STROKI I NE DELAET NI^EGO BOLX[E.|TO PRINIMAETSQ PO UMOL^[email protected]
eSLI\TA PEREMENNAQ RAWNA nil,DANNAQ KOMANDA OBNOWLQET OTSTUP TEKU]EJ
STROKI,TOLXKO ESLI TO^KA NAHODITSQ S LEWOGO KRAQ ILI NA OTSTUPE;W PROTIW-
NOM SLU^AE ONA WSTAWLQET [email protected] (ILI\KWIWALENTNOE ^ISLO PROBELOW,ESLI
indent-tabs-mode RAWNA nil).
[email protected] DRUGOE ZNA^ENIE (NE nil ILI t) OZNA^AET,^TO NUVNO WSEGDA OBNOWLQTX
OTSTUP STROKI,A TAKVE WSTAWLQTX ZNAK TABULQCII,ESLI TO^KA NAHODITSQ WNU-
TRI KOMMENTARIQ,STROKI ILI DIREKTIWY PREPROCESSORA.
C-u hTABi oBNOWLQET OTSTUP TEKU]EJ STROKI W SOOTWETSTWII S EE SINTAKSISOM;KROME TOGO,
VESTKO SME]AET WSE OSTALXNYE STROKI WYRAVENIQ,NA^[email protected]]EGOSQ NA TEKU]EJ
STROKE.sM.rAZDEL 22.5.2 [mNOGOSTRO^NYJ OTSTUP],S.209.
~TOBY OBNOWITX OTSTUP WSEGO TEKU]EGO BUFERA,NABERITE C-x h C-M-\.|TO SNA^ALA
WYDELQET WESX BUFER KAK OBLASTX,A ZATEM OBNOWLQET OTSTUP W\TOJ OBLASTI.
~TOBY OBNOWITX OTSTUP W TEKU]EM BLOKE,ISPOLXZUJTE C-M-u C-M-q.|TA KOMANDA PERE-
ME]AET K NA^ALU BLOKA I DELAET W NEM OTSTUP.
22.5.5 nASTROJKA OTSTUPA W sI
rEVIM C I RODSTWENNYE REVIMY [email protected] PROSTOJ,NO GIBKIJ MEHANIZM DLQ NASTROJ-
KI OTSTUPA.|TOT MEHANIZM RABOTAET W DWA\TAPA:SNA^ALA STROKI [email protected]
SINTAKSI^ESKI W SOOTWETSTWII S IH SODERVIMYM I KONTEKSTOM;ZATEM KAVDOMU WIDU SIN-
TAKSI^ESKIH KONSTRUKCIJ PRIWQZYWAETSQ ZNA^ENIE SDWIGA,KOTORYJ WY MOVETE NASTROITX.
22.5.5.1 {AG 1 |SINTAKSI^ESKIJ ANALIZ
nA PERWOM [AGE MEHANIZM OTSTUPOW W sI SMOTRIT NA STROKU PERED TOJ,W KOTOROJ WY W
DANNYJ MOMENT DELAETE OTSTUP,I OPREDELQET SINTAKSI^ESKIE KOMPONENTY KONSTRUKCII NA
\TOJ STROKE.oN STROIT SPISOK\TIH SINTAKSI^ESKIH KOMPONENTOW,GDE KAVDYJ KOMPONENT
SODERVIT SINTAKSI^ESKIJ SIMWOL I,INOGDA,[email protected] W BUFERE.nEKOTORYE SINTAKSI^ESKIE
SIMWOLY [email protected] GRAMMATI^ESKIE\LEMENTY,NAPRIMER statement I substatement;DRU-
GIE [email protected] POLOVENIQ W SOSTAWE GRAMMATI^ESKIH\LEMENTOW,NAPRIMER class-open I
knr-argdecl.
212 rUKOWODSTWO PO GNU EmacspO IDEE,STROKA KODA NA sI WSEGDA IMEET OTSTUP OTNOSITELXNO OTSTUPA KAKOJ-TO STROKI
WY[E PO\TOMU BUFERU.|TO PREDSTAWLQETSQ POZICIEJ W BUFERE W SPISKE SINTAKSI^ESKIH
KOMPONENTOW.
wOT PRIMER.pREDPOLOVIM,^TO U NAS ESTX [email protected]]IJ KOD W BUFERE S REVIMOM C++
(NOMERA STROK W DEJSTWITELXNOSTI NE [email protected] W BUFERE):
1:void swap (int& a,int& b)
2:{
3:int tmp = a;
4:a = b;
5:b = tmp;
6:}
eSLI WY NABERETE C-c C-s (^TO ZAPUSKAET KOMANDU c-show-syntactic-information) NA
STROKE 4,BUDET POKAZAN REZULXTAT RABOTY MEHANIZMA OTSTUPOW DLQ\TOJ STROKI:
((statement.32))
|TO UKAZYWAET NA TO,^TO DANNAQ STROKA QWLQETSQ OPERATOROM,I ONA IMEET OTSTUP
OTNOSITELXNO POZICII 32 W BUFERE,TO ESTX OTNOSITELXNO`i'W int NA STROKE 3.eSLI WY
PEREMESTITE KURSOR K STROKE 3 I NABERETE C-c C-s,\TO POKAVET [email protected]]EE:
((defun-block-intro.28))
|TO UKAZYWAET NA TO,^TO STROKA int |\TO PERWYJ OPERATOR W BLOKE,I ONA IMEET
OTSTUP OTNOSITELXNO POZICII 28,TO ESTX FIGURNOJ SKOBKI SRAZU POSLE ZAGOLOWKA FUNKCII.
wOT E]E ODIN PRIMER:
1:int add (int val,int incr,int doit)
2:{
3:if (doit)
4:{
5:return (val + incr);
6:}
7:return (val);
8:}
eSLI W STROKE 4 NABRATX C-c C-s,WY UWIDITE WOT ^TO:
((substatement-open.43))
|TO GOWORIT,^TO DANNAQ FIGURNAQ SKOBKA OTKRYWAET BLOK PODOPERATORA.kSTATI,
PODOPERATOR |\TO STROKA POSLE OPERATOROW if,else,while,do,switch,for,try,catch,
finally ILI synchronized.
wNUTRI KOMAND DLQ OTSTUPA W sI,POSLE TOGO KAK STROKA SINTAKSI^ESKI PROANALICIRO-
WANA,OPISANIE REZULXTATOW ANALIZA HRANITSQ W SPISKE W PEREMENNOJ c-syntactic-context.
kAVDYJ\LEMENT\TOGO SPISKA |\TO SINTAKSI^ESKIJ KOMPONENT:PARA,SODERVA]AQ SIN-
TAKSI^ESKIJ SIMWOL I (WOZMOVNO) [email protected]][email protected] EMU [email protected] W BUFERE.w SPISKE
KOMPONENT MOVET NESKOLXKO\LEMENTOW;KAK PRAWILO TOLXKO ODIN IZ NIH IMEET [email protected] W
BUFERE.
22.5.5.2 {AG 2 |PODS^ET OTSTUPA
mEHANIZMA OTSTUPOW W sI WY^ISLQET WELI^INU OTSTUPA DLQ TEKU]EJ STROKI,ISPOLXZUQ
SPISOK SINTAKSI^ESKIH KOMPONENTOW,c-syntactic-context,POLU^ENNYJ IZ SINTAKSI^ESKO-
GO ANALIZA.kAVDYJ KOMPONENT |\TO PARA,KOTORAQ SODERVIT SINTAKSI^ESKIJ SIMWOL I
MOVET SODERVATX [email protected] W BUFERE.
kAVDYJ KOMPONENT DAET WKLAD W OKON^ATELXNYJ OTSTUP STROKI DWUMQ PUTQMI.wO-
PERWYH,SINTAKSI^ESKIJ SIMWOL OPREDELQET\LEMENT c-offsets-alist,\TO ASSOCIATIWNYJ
gLAWA 22:rEDAKTIROWANIE PROGRAMM 213SPISOK,STAWQ]IJ W SOOTWETSTWIE SINTAKSI^ESKIM SIMWOLAM WELI^INY SDWIGA.sDWIG KAV-
DOGO SINTAKSI^ESKOGO SIMWOLA DOBAWLQETSQ K OB]EMU OTSTUPU.wO-WTORYH,ESLI KOMPONENT
[email protected]^AET [email protected] W BUFERE,K OTSTUPU DOBAWLQETSQ NOMER STOLBCA\TOJ POZICII.wSE\TI
SDWIGI I NOMERA STOLBCOW S SUMME [email protected] OB]IJ OTSTUP.
[email protected]]IE PRIMERY [email protected] RABOTU MEHANIZMA OTSTUPOW W QZYKE sI:
1:void swap (int& a,int& b)
2:{
3:int tmp = a;
4:a = b;
5:b = tmp;
6:}
pREDPOLOVIM,^TO TO^KA NAHODITSQ NA STROKE 3,I WY NAVIMAETE
hTABi,^TOBY OBNOWITX
W\TOJ STROKE OTSTUP.kAK OB_QSNQLOSX WY[E (SM.rAZDEL 22.5.5.1 [sINTAKSI^ESKIJ ANALIZ],
S.211 ),SINTAKSI^ESKIM KOMPONETOM\TOJ STROKI BUDET:
((defun-block-intro.28))
w DANNOM SLU^AE PRI PODS^ETE OTSTUPA SNA^ALA PROSMATRIWAETSQ defun-block-intro
W ASSOCIATIWNOM SPISKE c-offsets-alist.pREDPOLOVIM,^TO TAM NAJDENO ^ISLO 2;ONO
DOBAWLQETSQ K OB]EMU (INICIALIZIROWANNOMU NULEM),WYDAWAQ OB]EJ OBNOWLENNYJ OTSTUP
W 2 PROBELA.
[email protected]]IJ [AG |NAJTI NOMER STOLBCA DLQ POZICII 28 W BUFERE.pOSKOLXKU FIGURNAQ
SKOBKA W POZICII 28 RASPOLOVENA W NULEWOM STOLBCE,K OB]EMU ^ISLU DOBAWLQETSQ 0.tAK
KAK W\TOJ STROKE ESTX TOLXKO ODIN SINTAKSI^ESKIJ KOMPONET,OB]IJ OTSTUP DLQ\TOJ
STROKI RAWEN DWUM PROBELAM.
1:int add (int val,int incr,int doit)
2:{
3:if (doit)
4:{
5:return(val + incr);
6:}
7:return(val);
8:}
eSLI WY NAVMETE
hTABi W STROKE 4,POWTORQETSQ TAKOJ VE PROCESS,NO S INYMI DANNYMI.
sPISOK SINTAKSI^ESKIH KOMPONENTOW DLQ\TOJ STROKI TAKOW:
((substatement-open.43))
zDESX PERWOE,^TO DELAETSQ DLQ POS^ETA OTSTUPA,| I]ETSQ SIMWOL substatement-open
W c-offsets-alist.bUDEM S^ITATX,^TO SDWIG DLQ\TOGO SIMWOLA RAWEN 2.w\TOM MESTE
PROMEVUTO^NOE OB]EE ZNA^ENIE RAWNO 2 (0 + 2 = 2).zATEM K NEMU DOBAWLQETSQ NOMER
STROKI POZICII 43 W BUFERE,GDE STOIT`i'IZ if NA STROKE 3.|TOT ZNAK RASPOLOVEN WO
WTOROM STOLBCE NA STROKE.iTOGO W SUMME POLU^AETSQ 4 PROBELA.
eSLI PRI ANALIZE STROKI POQWLQETSQ SINTAKSI^ESKIJ SIMWOL,KOTORYJ OTSUTSTWUET W
c-offsets-alist,ON IGNORIRUETSQ;I\TO QWLQETSQ O[IBKOJ,ESLI KROME TOGO PEREMENNAQ
c-strict-syntax-p OTLI^NA OT nil.
22.5.5.3 iZMENENIE STILQ OTSTUPOW
eSTX DWA SPOSOBA NASTROITX STILX OTSTUPOW DLQ REVIMOW,PODOBNYH REVIMU C.wO-
PERWYH,WY MOVETE WYBRATX ODIN IZ PREDOPREDELENNYH STILEJ,KAVDYJ IZ KOTORYH ZADAET
SDWIGI DLQ WSEH SINTAKSI^ESKIH SIMWOLOW.dLQ BOLX[EJ GIBKOSTI WY MOVETE NASTOITX
OBRABOTKU OTDELXNYH SINTAKSI^ESKIH SIMWOLOW.sM.rAZDEL 22.5.5.4 [sINTAKSI^ESKIE SIM-
WOLY],S.214,PERE^ENX WSEH OPREDELENNYH SINTAKSI^ESKIH SIMWOLOW.
214 rUKOWODSTWO PO GNU EmacsM-x c-set-style hRETi STILX hRETi
wYBIRAET PREDOPREDELENNYJ STILX STILX.~TOBY POLU^ITX PERE^ENX PODDER-
VIWAEMYH STILEJ,NABERITE PRI WWODE STILQ ZNAK?;^TOBY UZNATX,KAK WYGLQ-
DIT TOT ILI INOJ STILX,WYBERITE EGO I PRIMENITE DLQ FRAGMENTA KODA NA
sI.
C-c C-o SIMWOL h RETi SDWIG hRETi
uSTANAWLIWAET SDWIG DLQ SINTAKSI^ESKOGO SIMWOLA SIMWOL (c-set-offset).
wTOROJ ARGUMENT,SDWIG,UKAZYWAET [email protected] WELI^INU SDWIGA.
rAZMER OTSTUPA DLQ KAVDOGO SINTAKSI^ESKOGO SIMWOLA UPRAWLQETSQ PEREMENNOJ c-
offsets-alist.eE ZNA^ENIE |\TO ASSOCIATIWNYJ SPISOK,I KAVDYJ\LEMENT\TOGO SPISKA
IMEET FORMU (SINTAKSI^ESKIJ-SIMWOL.SDWIG).iZMENQQ SDWIGI DLQ RAZNYH SINTAKSI-
^ESKIH SIMWOLOW,WY MOVETE NASTRAIWATX OTSTUPY W MELX^AJ[IH PODROBNOSTQH.~TOBY
IZMENITX\TOT ASSOCIATIWNYJ SPISOK,ISPOLXZUJTE c-set-offset (SMOTRITE NIVE).
zNA^ENIE KAVDOGO SDWIGA W c-offsets-alist MOVET BYTX CELYM ^ISLOM,IMENEM FUNK-
CII ILI PEREMENNOJ,SPISKOM ILI ODNIM IH SIMWOLOW +,-,++,--,* ILI/,OBOZNA^[email protected]]IH
POLOVITELXNYE ILI OTRICATELXNYE KRATNYE PEREMENNOJ c-basic-offset.tAKIM OBRAZOM,
ESLI WY HOTITE POMENQTX UROWNI OTSTUPOW S TREH PROBELOW NA DWA PROBELA,USTANOWITE
c-basic-offset W ZNA^ENIE 3.
iSPOLXZOWANIE FUNKCII W KA^ESTWE ZNA^ENIQ SDWIGA PREDOSTAWLQET [email protected] GIBKOSTX W
NASTROJKE OTSTUPOW.|TA FUNKCIQ WYZYWAETSQ S ODNIM ARGUMENTOM,SODERVA]IM PARU IZ
SINTAKSI^ESKOGO SIMWOLA I POZICII W BUFERE,ESLI ONA ESTX.fUNKCIQ DOLVNA WOZWRA]ATX
CELOE ^ISLO,RAWNOE SDWIGU.
eSLI ZNA^ENIEM SDWIGA QWLQETSQ SPISOK,EGO\LEMENTY [email protected] W SOOTWETSTWII
S OPISANNYMI WY[E PRAWILAMI,POKA NE NAJDENO OTLI^NOE OT nil ZNA^ENIE.tOGDA\TO
ZNA^ENIE DOBAWLQETSQ K OB]EMU OTSTUPU OBY^NYM SPOSOBOM.oSNOWNOE PRIMENENIE\TOGO
SOSTOIT W SLOVENII REZULXTATOW NESKOLXKIH FUNKCIJ.
kOMANDA C-c C-o (c-set-offset) |\TO PROSTEJ[IJ SPOSOB USTANOWITX SDWIGI,KAK
INTERAKTIWNO,TAK I W WA[EM FAJLE`~/.emacs'.sNA^ALA UKAVITE SINTAKSI^ESKIJ SIMWOL,
A POTOM VELAEMYJ SDWIG.sM.rAZDEL 22.5.5.4 [sINTAKSI^ESKIE SIMWOLY],S.214,PERE^ENX
DOPUSTIMYH SINTAKSI^ESKIH SIMWOLOW I IH ZNA^ENIJ.
22.5.5.4 sINTAKSI^ESKIE SIMWOLY
|TO TABLICA DOPUSTIMYH SINTAKSI^ESKIH SIMWOLOW DLQ OTSTUPOW REVIMA C I RODSTWEN-
NYH S NIM REVIMOW I IH SINTAKSI^ESKIE ZNA^ENIQ.oBY^NO WSEM\TIM SIMWOLAM PRIPISY-
WAETSQ SDWIG W c-offsets-alist.
string wNUTRI STROKI,ZANIMA]EJ NESKOLXKO STROK W BUFERE.
c wNUTRI MNOGOSTRO^NOGO BLO^NOGO KOMMENTARIQ W STILE sI.
defun-open
nA FIGURNOJ SKOBKE,KOTORAQ OTKRYWAET OPREDELENIE FUNKCII.
defun-close
nA FIGURNOJ SKOBKE,KOTORAQ ZAKRYWAET OPREDELENIE FUNKCII.
defun-block-intro
nA PERWOJ STROKE OPREDELENIQ FUNKCII WERHNEGO UROWNQ.
class-open
nA FIGURNOJ SKOBKE,KOTORAQ OTKRYWAET OPREDELENIE KLASSA.
class-close
nA FIGURNOJ SKOBKE,KOTORAQ ZAKRYWAET OPREDELENIE KLASSA.
gLAWA 22:rEDAKTIROWANIE PROGRAMM 215inline-open
nA FIGURNOJ SKOBKE,KOTORAQ OTKRYWAET OPREDELQEMYJ WNUTRI KLASSA inline-
METOD.
inline-close
nA FIGURNOJ SKOBKE,KOTORAQ ZAKRYWAET OPREDELQEMYJ WNUTRI KLASSA inline-
METOD.
extern-lang-open
nA FIGURNOJ SKOBKE,KOTORAQ OTKRYWAET BLOK NA WNE[NEM QZYKE.
extern-lang-close
nA FIGURNOJ SKOBKE,KOTORAQ ZAKRYWAET BLOK NA WNE[NEM QZYKE.
func-decl-cont
nA OBLASTI MEVDU SPISKOM ARGUMENTOW W OPREDELENII FUNKCII I [email protected]
]EJ\TO OPREDELENIE FIGURNOJ SKOBKOJ ([email protected]^AQ OPREDELENIQ FUNKCIJ W STI-
LE K&R).w sI WY NE MOVETE PISATX ZDESX NI^EGO,KROME PROBELXNYH ZNAKOW
I KOMMENTARIEW;W sI++ I Java W\TOM KONTEKTE MOGUT POQWLQTXSQ OB_QWLENIQ
throws I DRUGIE WE]I.
knr-argdecl-intro
nA PERWOJ STROKE OB_QWLENIQ ARGUMENTOW W STILE K&R sI.
knr-argdecl
nA ODNOJ IZ [email protected]]IH STROK OB_QWLENIQ ARGUMENTOW W STILE K&R sI.
topmost-intro
nA PERWOJ STROKE OPREDELENIQ KONSTRUKCII SAMOGO WERHNEGO UROWNQ.
topmost-intro-cont
nA OSTALXNYH STROKAH OPREDELENIQ SAMOGO WERHNEGO UROWNQ.
member-init-intro
nA PERWOJ STROKE SPISKA INICIALIZACIJ ^LENOW.
member-init-cont
nA [email protected]]IH STROKAH SPISKA INICIALIZACIJ ^LENOW.
inher-intro
nA PERWOJ STROKE SPISKA MNOVESTWENNOGO NASLEDOWANIQ.
inher-cont
nA ODNOJ IH [email protected]]IH STROK MNOVESTWENNOGO NASLEDOWANIQ.
block-open
nA [email protected]]EJ FIGURNOJ SKOBKE OPERATORNOGO BLOKA.
block-close
nA [email protected]]EJ FIGURNOJ SKOBKE OPERATORNOGO BLOKA.
brace-list-open
nA [email protected]]EJ FIGURNOJ SKOBKE SPISKA MASSIWA enum ILI static.
brace-list-close
nA [email protected]]EJ FIGURNOJ SKOBKE SPISKA MASSIWA enum ILI static.
brace-list-intro
nA PERWOJ STROKE SPISKA MASSIWA enum ILI static.
brace-list-entry
nA ODNOJ IH [email protected]]IH STROK SPISKA MASSIWA enum ILI static.
216 rUKOWODSTWO PO GNU Emacsbrace-entry-open
nA ODNOJ IZ [email protected]]IH STROK SPISKA MASSIWA enum ILI static,KOGDA STROKA
NA^INAETSQ S [email protected]]EJ FIGURNOJ SKOBKI.
statement
nA OBY^NOM OPERATORE.
statement-cont
nA STROKE PRODOLVENIQ OPERATORA.
statement-block-intro
nA PERWOJ STROKE NOWOGO OPERATORNOGO BLOKA.
statement-case-intro
nA PERWOJ STROKE\BLOKA"case.
statement-case-open
nA PERWOJ STROKE BLOKA case,NA^[email protected]]EJSQ S FIGURNOJ SKOBKI.
inexpr-statement
nA OPERATORNOM BLOKE WNUTRI WYRAVENIQ.|TO ISPOLXZUETSQ DLQ RAS[IRENIQ
GNU W QZYKE sI I DLQ DLQ SPECIALXNYH FUNKCIJ Pike,KOTORYE [email protected] W
KA^ESTWE ARGUMENTA OPERATORNYJ BLOK.
inexpr-class
nA OPREDELENII KLASSA WNUTRI WYRAVENIQ.|TO ISPOLXZUETSQ DLQ ANONOIMNYH
KLASSOW I ANONOIMNYH INICIALIZATOROW MASSIWOW W Java.
substatement
nA PERWOJ STROKE POSLE if,while,for,do ILI else.
substatement-open
nA FIGURNOJ SKOBKE,[email protected]]EJ BLOK PODOPERATORA.
case-label
nA METKE case ILI default.
access-label
nA METKAH DOSTUPA sI++ private,protected ILI public.
label nA OBY^NOJ METKE.
do-while-closure
nA while,KOTORYJ ZAWER[AET [email protected] do-while.
else-clause
nA else KONSTRUKCII if-else.
catch-clause
nA STROKAH catch I finally W KONSTRUKCIQH try...catch W sI++ I Java.
comment-intro
nA STROKE,SODERVA]EJ TOLXKO NA^ALO KOMMENTARIQ.
arglist-intro
nA PERWOJ STROKE SPISKA ARGUMENTOW.
arglist-cont
nA ODNOJ IZ [email protected]]IH STROK SPISKA ARGUMENTOW,KOGDA NA STROKE S OTKRY-
[email protected]]EJ SPISOK ARGUMENTOW KRUGLOJ SKOBKOJ NET NI ODNOGO ARGUMENTA.
arglist-cont-nonempty
nA ODNOJ IZ [email protected]]IH STROK SPISKA ARGUMENTOW,KOGDA NA STROKE S OTKRY-
[email protected]]EJ SPISOK ARGUMENTOW KRUGLOJ SKOBKOJ ESTX HOTQ BY ODIN ARGUMENT.
gLAWA 22:rEDAKTIROWANIE PROGRAMM 217arglist-close
nA [email protected]]EJ KRUGLOJ SKOBKE SPISKA ARGUMENTOW.
stream-op
nA ODNOJ STROK PRODOLVENIQ KONSTRUKCII POTOKOWOGO OPERATORA.
inclass nA KONSTRUKCII,WLOVENNOJ W OPREDELENIE KLASSA.oTSTUP OTNOSITELEN OTKRY-
[email protected]]EJ FIGURNOJ SKOBKE OPREDELENIQ KLASSA.
inextern-lang
nA KONSTRUKCII,WLOVENNOJ W BLOK NA WNE[NEM QZYKE.
inexpr-statement
nA PERWOJ STROKE OPERATORNOGO BLOKA WNUTRI WYRAVENIQ.|TO NUVNO DLQ RAS-
[IRENIQ GCC W QZYKE sI,KOTOROE ISPOLXZUET SINTAKSIS ({...}).|TO TAKVE
NUVNO DLQ SPECIALXNYH FUNKCIJ W Pike,[email protected]]IH W KA^ESTWE ARGUMENTA
OPERATORNYJ BLOK.
inexpr-class
nA PERWOJ STROKE OPREDELENIQ KLASSA WNUTRI WYRAVENIQ.|TO ISPOLXZUETSQ
DLQ ANONOIMNYH KLASSOW I ANONOIMNYH INICIALIZATOROW MASSIWOW W Java.
cpp-macro
nA NA^ALE MAKROSA PREPROCESSORA.
friend nA OB_QWLENII sI++ friend.
objc-method-intro
nA PERWOJ STROKE OPREDELENIQ METODA Objective-C.
objc-method-args-cont
nA ODNOJ IZ STROK PRODOLVENIQ OPREDELENIQ METODA Objective-C.
objc-method-call-cont
nA ODNOJ IZ STROK PRODOLVENIQ WYZOWA METODA Objective-C.
inlambda kAK inclass,NO PRIMENQETSQ WNUTRI LQMBDA-FUNKCIJ (T.E.ANONIMNYH).iS-
POLXZUETSQ TOLXKO W Pike.
lambda-intro-cont
nA STROKE,[email protected]]EJ ZAGOLOWOK LQMBDA-FUNKCII,MEVDU [email protected]^EWYM SLOWOM
lambda I TELOM FUNKCII.iSPOLXZUETSQ TOLXKO W Pike.
22.5.5.5 pEREMENNYE,[email protected]]IE OTSTUPAMI W sI
|TOT RAZDEL OPISYWAET DOPOLNITELXNYE PEREMENNYE,KOTORYE [email protected] POWEDENIEM
OTSTUPOW W REVIME C I RODSTWENNYH S NIM REVIMAH.
c-offsets-alist
aSSOCIATIWNYJ SPISOK SINTAKSI^ESKIH SIMWOLOW I IH SDWIGOW.wY NE DOLV-
NY MENQTX EGO PRQMO,DELAJTE\TO ^EREZ c-set-offset.sM.rAZDEL 22.5.5.3
[iZMENENIE STILQ OTSTUPOW],S.213,DLQ PODROBNOSTEJ.
c-style-alist
pEREMENNAQ DLQ OPREDELENIQ STILEJ OTSTUPOW;SMOTRITE NIVE.
c-basic-offset
bAZOWYJ SDWIG,ISPOLXZUEMYJ SIMWOLAMI + I - W c-offsets-alist.
c-special-indent-hook
lOWU[KA DLQ SPECIALXNYH PODSTROEK OTSTUPOW,OPREDELQEMYH POLXZOWATELEM.
|TA LOWU[KA WYZYWAETSQ POSLE TOGO,KAK W STROKE UVE SDELAN OTSTUP REVIMOM
C ILI RODSTWENNYM S NIM REVIMOM.
218 rUKOWODSTWO PO GNU EmacspEREMENNAQ c-style-alist ZADAET PREDOPREDELENNYE STILI OTSTUPOW.kAVDYJ\LE-
MENT IMEET FORMU (IMQ USTANOWKA-PEREMENNOJ...),GDE IMQ |\TO IMQ STILQ.kAVDAQ
USTANOWKA-PEREMENNOJ IMEET FORMU (PEREMENNAQ.ZNA^ENIE);PEREMENNAQ |\TO ODNA IZ
NASTROE^NYH PEREMENNYH,ISPOLXZUEMYH REVIMOM C,A ZNA^ENIE |\TO ZNA^ENIE DLQ\TOJ
PEREMENNOJ,KOGDA ISPOLXZUETSQ WYBRANNYJ STILX.
kOGDA PEREMENNAQ RAWNA c-offsets-alist,\TO OSOBYJ SLU^AJ:ZNA^ENIE DOBAWLQETSQ W
NA^ALO ZNA^ENIQ c-offsets-alist,A NE ZAME]AET EGO.sLEDOWATELXNO,ZNA^ENIE NE OBQZANO
UKAZYWATX KAVDYJ SINTAKSI^ESKIJ SIMWOL | MOVNO NAPISATX TOLXKO TE,DLQ KOTORYH
STILX OTLI^EN OT PRINIMAEMOGO PO UMOL^[email protected]
oTSTUPY STROK,SODERVA]IH TOLXKO KOMMENTARII,TAKVE PODWERVENY [email protected] PERE-
MENNOJ c-comment-only-line-offset (SM.rAZDEL 22.15.5 [kOMMENTARII W sI],S.239).
22.5.5.6 sTILI OTSTUPOW W sI
sTILX sI |\TO NABOR NASTROEK STILQ OTSTUPOW.Emacs POSTAWLQETSQ S NESKOLXKIMI
PREDOPREDELENNYMI STILQMI OTSTUPOW DLQ C I RODSTWENNYH REVIMOW,[email protected]^AQ gnu,k&r,
bsd,stroustrup,linux,python,java,whitesmith,ellemtel I cc-mode.pO UMOL^[email protected]
PRIMENQETSQ STILX gnu.
~TOBY WYBRATX NUVNYJ WAM STILX,ISPOLXZUJTE KOMANDU M-x c-set-style.zADAWAJTE
IMQ STILQ W KA^ESTWE ARGUMENTA (REGISTR NE IMEET ZNA^ENIQ).wYBRANNYJ STILX PRIMENQ-
ETSQ TOLXKO K NOWYM BUFERAM,NO NE K TEM,^TO WY UVE REDAKTIRUETE.wY TAKVE MOVETE
USTANOWITX [email protected] c-default-style,^TOBY UKAZATX STILX DLQ RAZLI^NYH OSNOWNYH
REVIMOW.eE ZNA^ENIEM DOLVEN BYTX ASSOCIATIWNYJ SPISOK,GDE KAVDYJ\LEMENT ZADAET
ODIN OSNOWNOJ REVIM I STILX OTSTUPOW,KOTORYJ DLQ NEGO NUVNO ISPOLXZOWATX.nAPRIMER,
(setq c-default-style
'((java-mode."java") (other."gnu")))
OPREDELQET QWNYJ WYBOR DLQ REVIMA Java I WELIT PRINIMATX STILX`gnu'PO UMOL^[email protected]
DLQ OSTALXNYH C-PODOBNYH REVIMOW.
~TOBY OPREDELITX NOWYJ STILX OTSTUPOW W sI,WYZOWITE [email protected] c-add-style:
(c-add-style IMQ ZNA^ENIQ PRIMENITX-SRAZU)
zDESX IMQ |\TO IMQ NOWOGO STILQ (STROKA),A ZNA^ENIQ |\TO ASSOCIATIWNYJ SPISOK,^XI
\LEMENTY [email protected] FORMU (PEREMENNAQ.ZNA^ENIE).zADAWAEMYE WAMI PEREMENNYE DOLVNY
BYTX SREDI OPISANNYH W\TOM RUKOWODSTWE (SM.rAZDEL 22.5.5.5 [pEREMENNYE DLQ OTSTUPOW
W sI],S.217 ).
eSLI PRIMENITX-SRAZU NE RAWNA nil,c-add-style [email protected]^AET W NOWYJ STILX SRAZU
POSLE EGO OPREDELENIQ.
22.6 aWTOMATI^ESKOE OTOBRAVENIE PARNYH SKOBOK
sPOSOBNOSTX Emacs NAHODITX PARNYE SKOBKI PREDNAZNA^AETSQ DLQ TOGO,^TOBY AWTOMA-
TI^ESKI POKAZYWATX,KAK SKOBKI W TEKSTE [email protected] DRUG DRUGU.wSQKIJ RAZ,KOGDA
WY NABIRAETE [email protected]]IJSQ ZNAK,KOTORYJ QWLQETSQ [email protected]]IM OGRANI^ITELEM,
KURSOR NA MGNOWENIE PEREDWIGAETSQ W POLOVENIE [email protected]]EGO [email protected]]EGO OGRANI-
^ITELQ,PRI USLOWII,^TO ON NAHODITSQ NA\KRANE.eSLI EGO NET NA\KRANE,TO W\HO-OBLASTI
POKAZYWAETSQ NEMNOGO TEKSTA,NA^[email protected]]EGOSQ S [email protected]]EGO OGRANI^ITELQ.w [email protected]
SLU^AE WY MOVETE SKAZATX,KAKAQ GRUPPA ZAKRYWAETSQ.
w lISPE AWTOMATI^ESKOE SOOTWETSTWIE PRIMENQETSQ TOLXKO K KRUGLYM SKOBKAM.w sI
ONO PRIMENQETSQ TAKVE K FIGURNYM I KWADRATNYM SKOBKAM.Emacs UZNAET,KAKIE ZNAKI
RASSMATRIWATX KAK PARNYE OGRANI^ITELI,OSNOWYWAQSX NA SINTAKSI^ESKOJ TABLICE,KOTORAQ
USTANAWLIWAETSQ OSNOWNYM REVIMOM.sM.rAZDEL 31.6 [sINTAKSIS],S.366.
gLAWA 22:rEDAKTIROWANIE PROGRAMM 219eSLI [email protected]]IJ I [email protected]]IJ OGRANI^ITELI NE [email protected] DRUG DRUGU,KAK
NAPRIMER W`[x)',W\HO-OBLASTI POQWLQETSQ [email protected]]EE SOOB]ENIE.pRAWILXNYE
PARY [email protected] W SINTAKSI^ESKOJ TABLICE.
oTOBRAVENIEM PARNYH SKOBOK [email protected] TRI PEREMENNYE.blink-matching-paren
[email protected]^AET ILI [email protected]^AET\TU WOZMOVNOSTX;nil [email protected]^AET,A ZNA^ENIE PO UMOL^[email protected],
RAWNOE t,[email protected]^AET EE.blink-matching-delay GOWORIT,SKOLXKO SEKUND NUVNO OVIDATX;
PO UMOL^[email protected]\TO 1,NO NA NEKOTORYH SISTEMAH POLEZNO ZADATX ^ASTX SEKUNDY.blink-
matching-paren-distance UKAZYWAET,SKOLXKO ZNAKOW W OBRATNOM NAPRAWLENII NADO ISSLE-
DOWATX,^TOBY NAJTI PARNYJ [email protected]]IJ OGRANI^ITELX.eSLI PARA NE BUDET NAJDENA NA
TAKOM RASSTOQNII,TO SKANIROWANIE OSTANAWLIWAETSQ I NI^EGO NE OTOBRAVAETSQ.|TO DELA-
ETSQ DLQ TOGO,^TOBY IZBEVATX BOLX[IH ZATRAT WREMENI NA POISK PARNOGO OGRANI^ITELQ W
TOM SLU^AE,ESLI PARY NE SU]ESTWUET.pO UMOL^[email protected] ONA RAWNA 12000.
pRI ISPOLXZOWANII X Windows WY MOVETE ZAPROSITX BOLEE MO][email protected] [email protected]
RAZNOWIDNOSTX AWTOMATI^ESKOGO POKAZA PARNYH SKOBOK,[email protected]^IW REVIM Show Paren.|TOT
REVIM [email protected]^AET OBY^NYJ SPOSOB OTOBRAVENIQ PARNYH SKOBOK I ISPOLXZUET WMESTO NEGO
PODSWETKU SOWPADENIJ.kOGDA TO^KA NAHODITSQ POSLE [email protected]]EJ SKOBKI,PODWE^[email protected]
\TA [email protected]]AQ SKOBKA I PARNAQ EJ [email protected]]AQ;INA^E,ESLI TO^KA NAHODITSQ PERED OT-
[email protected]]EJ SKOBKOJ,PODSWE^IWAETSQ PARNAQ SKOBKA.(pODSWE^IWATX [email protected]][email protected] SKOBKU
POSLE TO^KI NE NUVNO,POTOMU ^TO POWERH\TOGO ZNAKA NAHODITSQ KURSOR.) dLQ [email protected]^ENIQ
I [email protected]^ENIQ\TOGO REVIMA ISPOLXZUJTE KOMANDU M-x show-paren-mode.
22.7 uPRAWLENIE KOMMENTARIQMI
pOSKOLXKU KOMMENTARII [email protected] WESXMA WAVNOJ ^[email protected] PROGRAMMIROWANIQ,Emacs
PREDOSTAWLQET OSOBYE KOMANDY DLQ REDAKTIROWANIQ I WSTAWKI KOMMENTAREW.
22.7.1 kOMANDY DLQ KOMMENTARIEW
kOMANDY KOMMENTARIEW [email protected],UNI^[email protected] I [email protected] KOMMENTARII:
M-;wSTAWITX ILI WYROWNQTX KOMMENTARIJ W TEKU]EJ STROKE (indent-for-
comment).
C-x;uSTANOWITX STOLBEC KOMMENTARIQ (set-comment-column).
C-u - C-x;
uNI^TOVITX KOMMENTARIJ W TEKU]EJ STROKE (kill-comment).
C-M-j pODOBNA hRETi,ZA KOTOROJ SLEDUET WSTAWKA ILI WYRAWNIWANIE KOMMENTARIQ
(indent-new-comment-line).
M-x comment-region
dOBAWITX ILI UDALITX OGRANI^ITELI KOMMENTARIEW NA WSEH STROKAH OBLASTI.
kOMANDA,KOTORAQ SOZDAET KOMMENTARII,NAZYWAETSQ M-;(indent-for-comment).eSLI
NA STROKE E]E NET KOMMENTARIQ,TO SOZDAETSQ NOWYJ KOMMENTARIJ,WYROWNENNYJ PO OSOBOMU
STOLBCU,NAZYWAEMOMU STOLBCOM KOMMENTARIQ.kOMMENTARIJ SOZDAETSQ WSTAWKOJ STROKI,
S KOTOROJ,KAK DUMAET Emacs,DOLVNY NA^INATXSQ KOMMENTARII (ZNA^ENIE comment-start,
SMOTRITE NIVE).tO^KA OSTAWLQETSQ ZA\TOJ STROKOJ.eSLI TEKST W STROKE TEKSTA PROSTI-
RAETSQ DALX[E STOLBCA KOMMENTARIQ,TO DELAETSQ OTSTUP DO PODHODQ]EJ GRANICY (OBY^NO
WSTAWLQETSQ PO KRAJNEJ MERE ODIN PROBEL).eSLI OSNOWNOJ REVIM OPREDELIL STROKU,ZA-
WER[[email protected]][email protected] KOMMENTARIJ,TO ONA WSTAWLQETSQ POSLE TO^KI,^TOBY SOHRANITX PRAWILXNYJ
SINTAKSIS.
M-;MOVET BYTX ISPOLXZOWANA TAKVE I DLQ WYRAWNIWANIQ SU][email protected]]EGO KOMMENTARIQ.
eSLI STROKA UVE SODERVIT NA^ALO KOMMENTARIQ,TO M-;PROSTO PEREDWIGAET ZA NEGO TO^KU I
220 rUKOWODSTWO PO GNU EmacsDELAET OTSTUP DO PRINQTOJ [email protected]^ENIE:KOMMENTARII,NA^[email protected]]IESQ W STOLBCE
0,NE [email protected]
nEKOTORYE OSNOWNYE REVIMY [email protected] OSOBYE PRAWILA OTSTUPA DLQ NEKOTORYH WIDOW KOM-
MENTARIEW W OPREDELENNYH KONTEKSTAH.nAPRIMER,W KODE NA lISPE,KOMMENTARII,NA^[email protected]
]IESQ S DWOJNOJ TO^KI S ZAPQTOJ,[email protected] OTSTUP TAKOJ VE,KAK ESLI BY ONI BYLI STROKAMI
KODA,A NE OTSTUP DO STOLBCA KOMMENTARIQ.kOMMENTARII,NA^[email protected]]IESQ S TREH TO^EK S
ZAPQTOJ,PREDPOLAGAETSQ RASPOLAGATX S LEWOJ GRANICY STROKI.Emacs PONIMAET\TI SOGLA-
[ENIQ,WYPOLNQQ OTSTUP KOMMENTARIQ S DWOJNOJ TO^KOJ S ZAPQTOJ,ISPOLXZUQ hTABi I NE
IZMENQQ OTSTUP KOMMENTARIQ S TROJNOJ TO^KOJ S ZAPQTOJ WOOB]E.
;;|TA PROSTO PRIMER FUNKCII
;;;zDESX GODQTSQ I 2,I 3 TO^KI S ZAPQTOJ.
(defun foo (x)
;;;a TEPERX PERWAQ ^ASTX FUNKCII
;;[email protected]]AQ STROKA DOBAWLQET EDINICU.
(1+ x));|TA STROKA DOBAWLQET EDINICU.
dLQ KOMMENTARIQ W KODE NA sI,KOTOROMU NA EGO STROKE PRED[[email protected] TOLXKO PROBELX-
NYE ZNAKI,DELAETSQ TAKOJ VE OTSTUP,KAK DLQ STROKI KODA.
dAVE KOGDA SU][email protected]]IJ KOMMENTARIJ IMEET PRAWILXNYJ OTSTUP,M-;PO-PREVNEMU
POLEZNA DLQ PEREHODA SRAZU K NA^ALU KOMMENTARIQ.
kOMANDA C-u - C-x;(kill-comment) UNI^TOVAET KOMMENTARIJ W TEKU]EJ STROKE,ESLI
ON TAM ESTX.oTSTUP PERED NA^ALOM KOMMENTARIQ TAKVE UNI^TOVAETSQ.eSLI NA\TOJ
STROKE NET KOMMENTARIQ,TO NI^EGO NE DELAETSQ.~TOBY PERENESTI KOMMENTARIJ W [email protected]
STROKU,PEREDWINXTESX W KONEC\TOJ STROKI,SDELAJTE C-y I ZATEM M-;,^TOBY ZANOWO EGO
WYROWNQTX.zAMETXTE,^TO C-u - C-x;|\TO NE OTDELXNYJ [email protected]^;\TO C-x;(set-comment-
column) S OTRICATELXNYM ARGUMENTOM.|TA KOMANDA ZAPROGRAMMIROWANA TAKIM OBRAZOM,
^TO KOGDA ONA POLU^AET OTRICATELXNYJ ARGUMENT,ONA WYZYWAET kill-comment.oDNAKO,
kill-comment |\TO DOPUSTIMAQ KOMANDA,[email protected] WY MOVETE NEPOSREDSTWENNO PRIWQZATX
K [email protected]^U,ESLI WY\TOGO HOTITE.
22.7.2 mNOGOSTRO^NYE KOMMENTARII
eSLI WY NABIRAETE KOMMENTARIJ I OBNARUVIWAETE,^TO HOTELI BY PRODOLVITX EGO NA
DRUGOJ STROKE,TO WY MOVETE ISPOLXZOWATX KOMANDU C-M-j (indent-new-comment-line).
oNA ZAWER[AET NABRANNYJ WAMI KOMMENTARIJ,ZATEM SOZDAET [email protected] [email protected] STROKU I NA^I-
NAET NOWYJ KOMMENTARIJ,S OTSTUPOM POD STARYM KOMMENTARIEM.kOGDA DEJSTWUET REVIM
Auto Fill,TO PEREHOD ZA STOLBEC ZAPOLNENIQ WO WREMQ NABORA KOMMENTARIQ PRIWODIT K TO-
MU,^TO KOMMENTARIJ BUDET PRODOLVATXSQ IMENNO TAKIM OBRAZOM.eSLI WO WREMQ NABORA
C-M-j TO^KA NAHODITSQ NE W KONCE STROKI,TO TEKST W OSTAW[EJSQ ^ASTI STROKI STANOWITSQ
^[email protected] NOWOJ STROKI KOMMENTARIQ.
~TOBY PREWRATITX SU][email protected]]IE STROKI W STROKI KOMMENTARIEW,ISPOLXZUJTE KOMANDU
M-x comment-region.oNA DOBAWLQET OGRANI^ITELI K STROKAM,KOTORYE NA^[email protected] W OB-
LASTI,DELAQ IH TAKIM OBRAZOM KOMMENTARIQMI.s OTRICATELXNYM ARGUMENOM,ONA DELAET
OBRATNOE |UDALQET OGRANI^ITELI KOMMENTARIEW IZ STROK OBLASTI.
s POLOVITELXNM ARGUMENTOM,comment-region POWTORQET POSLEDNIJ ZNAK IZ DOBAWLQE-
MOJ POSLEDOWATELXNOSTI,NA^[email protected]]EJ KOMMENTARIJ.tAKIM OBRAZOM,W REVIME Lisp,C-u 2
M-x comment-region DOBAWIT`;;'NA [email protected] STROKU.pOWTORENIE OGRANI^ITELEJ KOMMEN-
TARIQ |\TO SPOSOB PRIWLE^ENIQ K NEMU WNIMANIQ.w lISPE DLQ POLU^ENIQ PRAWILXNYH
OTSTUPOW WY DOLVNY ISPOLXZOWATX ARGUMENT,RAWNYJ DWUM,MEVDU OPREDELENIQMI FUNK-
CIJ,I TREM |WNUTRI OPREDELENIJ FUNKCIJ.
pEREMENNAQ comment-padding UKAZYWAET,SKOLXKO PROBELOW DOLVNA WSTAWITX comment-
region W [email protected] STROKU MEVDU OGRANI^ITELEM KOMMENTARIQ I IZNA^ALXNYM TEKSTOM\TOJ
STROKI.pO UMOL^[email protected]\TO 1.
gLAWA 22:rEDAKTIROWANIE PROGRAMM 22122.7.3 pARAMETRY UPRAWLENIQ KOMMENTARIQMI
sTOLBEC KOMMENTARIQ HRANITSQ W PEREMENNOJ comment-column.wY MOVETE QWNO USTA-
NOWITX EE NA NUVNOE ^ISLO.iLI WY MOVETE ISPOLXZOWATX KOMANDU C-x;(set-comment-
column),KOTORAQ USTANAWLIWAET STOLBEC KOMMENTARIQ RAWNYM TOMU STOLBCU,GDE NAHODIT-
SQ TO^KA.C-u C-x;USTANAWLIWAET STOLBEC KOMMENTARIQ TAK,^TOBY ON SOOTWETSTWOWAL
POSLEDNEMU [email protected] PERED TO^KOJ W\TOM BUFERE,I ZATEM DELAET M-;,^TOBY WYRAW-
NQTX STROKU TEKU]EGO KOMMENTARIQ POD PREDYDU][email protected],^TO C-u - C-x;ZAPUSKAET
[email protected] kill-comment,KAK OPISANO WY[E.
pEREMENNAQ comment-column |\TO SOBSTWENNAQ PEREMENNAQ KAVDOGO BUFERA:USTANOWKA
EE WLIQET TOLXKO NA TEKU]IJ BUFER,NO SU]ESTWUET I ZNA^ENIE PO UMOL^[email protected],KOTOROE WY
TAKVE MOVETE IZMENITX S POMO][email protected] setq-default.sM.rAZDEL 31.2.4 [lOKALXNYE PERE-
MENNYE],S.350.mNOGIE OSNOWNYE REVIMY [email protected]\TU [email protected] DLQ TEKU]EGO
BUFERA.
kOMANDY RABOTY S KOMMENTARIQMI [email protected] KOMMENTARII,OSNOWYWAQSX NA REGULQR-
NOM WYRAVENII,KOTOROE QWLQETSQ ZNA^ENIEM PEREMENNOJ comment-start-skip.uBEDITESX,
^TO\TO REGULQRNOE WYRAVENIE NE SOOTWETSTWUET PUSTOJ STROKE.oNO MOVET SOOTWETSTWO-
WATX ^EMU-TO BOLX[EMU,^EM PROSTO OGRANI^[email protected],NA^[email protected]]EMU KOMMENTARIJ,W SAMOM
STROGOM ZNA^ENII\TOGO SLOWA;NAPRIMER,W REVIME s ZNA^ENIE\TOJ PEREMENNOJ RAWNO
"/\\*+ *",^TO SOOTWETSTWUET DOPOLNITELXNYM ZWEZDO^KAM I PROBELAM POSLE SAMOGO`/*'.
(oBRATITE WNIMANIE,`\\'TREBUETSQ W SINTAKSISE lISPA DLQ TOGO,^TOBY [email protected]^ITX W STRO-
KU`\',KOTORAQ NUVNA,^TOBY OTMENITX DLQ PERWOJ ZWEZDO^KI EE SPECIALXNOE ZNA^ENIE W
SINTAKSISE REGULQRNYH WYRAVENIJ.sM.rAZDEL 12.5 [rEGULQRNYE WYRAVENIQ],S.91.)
kOGDA KOMANDA DLQ KOMMENTARIEW SOZDAET NOWYJ KOMMENTARIJ,ONA WSTAWLQET W EGO
NA^ALO ZNA^ENIE comment-start.zNA^ENIE comment-end WSTAWLQETSQ POSLE TO^KI,TAK ^TO
ONO BUDET SLEDOWATX ZA TEKSTOM,KOTORYJ WY WSTAWITE W\TOT KOMMENTARIJ.w REVIME s
comment-start IMEET ZNA^ENIE"/*",A comment-end IMEET ZNA^ENIE"*/".
pEREMENNAQ comment-multi-line UPRAWLQET TEM,KAK WEDET SEBQ C-M-j (indent-new-
comment-line) PRI ISPOLXZOWANII WNUTRI KOMMENTARIQ.eSLI comment-multi-line RAWNA
nil,KAK\TO OBY^NO I BYWAET,TO KOMMENTARIJ NA TEKU]EJ STROKE ZAWER[AETSQ,A NA NOWOJ
STROKE NA^INAETSQ NOWYJ KOMMENTARIJ.eSLI comment-multi-line OTLI^NA OT nil,TO NO-
WAQ [email protected]]AQ STROKA PODGOTAWLIWAETSQ KAK ^ASTX TOGO VE SAMOGO KOMMENTARIQ,KOTORYJ
NAHODILSQ NA PERWOJ STROKE.|TO WYPOLNQETSQ [email protected]]IM OBRAZOM:W STAROJ STROKE NE
WSTAWLQETSQ OGRANI^ITELX KOMMENTARIQ,I W [email protected] STROKU NE WSTAWLQESQ NA^ALO KOMMEN-
TARIQ.w TEH QZYKAH,GDE [email protected] MNOGOSTRO^NYE KOMMENTARII,WYBOR ZNA^ENIJ DLQ\TOJ
PEREMENNOJ |DELO WA[EGO WKUSA.
pEREMENNAQ comment-indent-function DOLVNA SODERVATX [email protected],KOTORAQ BUDET WY-
ZYWATXSQ DLQ PODS^ETA OTSTUPA WO WNOWX WSTAWLQEMOM KOMMENTARII ILI DLQ WYRAWNIWANIQ
SU][email protected]]EGO KOMMENTARIQ.|TA FUNKCIQ WYZYWAETSQ BEZ ARGUMENTA,NO S TO^KOJ W NA-
^ALE KOMMENTARIQ ILI W KONCE STROKI,ESLI WSTAWLQETSQ NOWYJ KOMMENTARIJ.oNA DOLVNA
WOZWRATITX NOMER STOLBCA,W KOTOROM DOLVEN NA^INATXSQ KOMMENTARIJ.nAPRIMER,W RE-
VIME Lisp\TA FUNKCIQ-LOWU[KA DLQ SOZDANIQ OTSTUPA OSNOWYWAET SWOE RE[ENIE NA TOM,
SKOLXKO TO^EK S ZAPQTOJ NA^[email protected] SU][email protected]]IJ KOMMENTARIJ,I NA KODE W PREDYDU]IH
STROKAH.
22.8 rEDAKTIROWANIE BEZ RAZBALANSIROWANNYH SKOBOK
M-( pOSTAWITX SKOBKI WOKRUG [email protected]]EGO s-WYRAVENIQ (ILI s-WYRAVENIJ) (insert-
parentheses).
M-) pEREDWINUTXSQ ^EREZ [email protected]][email protected] [email protected]][email protected] SKOBKU I SDELATX NOWYJ OTSTUP
(move-past-close-and-reindent).
222 rUKOWODSTWO PO GNU EmacskOMANDY M-( (insert-parentheses) I M-) (move-past-close-and-reindent) SOZDANY
DLQ OBLEG^ENIQ TAKOGO WIDA REDAKTIROWANIQ,PRI KOTOROM SKOBKI WSEGDA [email protected] SBA-
LANSIROWANNYMI.M-( WSTAWLQET PARU SKOBOK,LIBO WMESTE,KAK W`()',LIBO,ESLI ZADAN
ARGUMENT,WOKRUG [email protected]]IH NESKOLXKIH s-WYRAVENIJ,I OSTAWLQET TO^KU POSLE OTKRYTOJ
SKOBKI.tO^KA OSTAETSQ POSLE [email protected]]EJ SKOBKI.kOMANDA M-) PEREME]AETSQ ^EREZ
[email protected]][email protected] SKOBKU,UDALQQ [email protected] PRED[[email protected]]IJ EJ OTSTUP I DELAQ POSLE NEE OTSTUP
PRI POMO]I C-j.
nAPRIMER,WMESTO NABORA ( F O O ),WY MOVETE NABRATX M-( F O O,^TO IMEET TOT VE
SAMYJ\FFEKT,ZA [email protected]^ENIEM TOGO,^TO KURSOR OSTAETSQ PERED [email protected]]EJ SKOBKOJ.
M-( MOVET WSTAWLQTX PERED [email protected]]EJ SKOBKOJ PROBEL W ZAWISIMOSTI OT SINTAKSI-
^ESKOGO KLASSA PREDYDU]EGO ZNAKA.uSTANOWITE parens-require-spaces W ZNA^ENIE nil,
ESLI WY HOTITE PODAWITX\TO.
22.9 zAWER[ENIE DLQ IMEN SIMWOLOW
oBY^NO ZAWER[ENIE PROISHODIT W MINIBUFERE.nO ODIN IZ WIDOW ZAWER[ENIQ DOSTUPEN
WO WSEH BUFERAH:ZAWER[ENIE DLQ IMEN SIMWOLOW.
M-hTABi (lisp-complete-symbol) ZAPUSKAET KOMANDU,ZAWER[[email protected]][email protected] ^ASTI^NO NABRAN-
NYJ SIMWOL PERED TO^KOJ,ISPOLXZUQ MNOVESTWO IMEN SIMWOLOW,[email protected]]IH SMYSL W\TOM
KONTEKSTE.wSE [email protected]]IE ZNAKI,OPREDELQEMYE PO ^ASTI^NOMU IMENI,[email protected] W
TO^KE.
eSLI ^ASTI^NOE IMQ W BUFERE IMEET BOLEE ODNOGO WOZMOVNOGO ZAWER[ENIQ,I U NIH
NET OB]IH [email protected]]IH ZNAKOW,W DRUGOM OKNE POKAZYWAETSQ PERE^ENX WSEH WOZMOVNYH
ZAWER[ENIJ.
w BOLX[INSTWE OSNOWNYH REVIMOW DLQ QZYKOW PROGRAMMIROWANIQ,M-hTABi ZAPUSKAET KO-
MANDU complete-symbol,KOTORAQ PREDOSTAWLQET DWA TIPA ZAWER[ENIQ.oBY^NO ONA DELAET
ZAWER[ENIQ,OSNOWYWAQSX NA TABLICE TEGOW (SM.rAZDEL 22.13 [tEGI],S.224);S ^ISLOWYM
ARGUMENTOM (NEZAWISIMO OT EGO ZA^ENIQ),ONA DELAET ZAWER[ENIE,OSNOWYWAQSX NA IMENAH,
PERE^ISLENNYH W UKAZATELE PONQTIJ W Info-FAJLE DLQ\TOGO QZYKA.pO\TOMU ^TOBY ZAWER-
[ITX IMQ SIMWOLA,OPREDELENNOGO W WA[EJ SOBSTWENNOJ PROGRAMME,ISPOLXZUJTE M-
hTABi
BEZ ARGUMENTA;^TOBY ZAWER[ITX IMQ STANDARTNOJ BIBLIOTE^NOJ FUNKCII,ISPOLXZUJTE
C-u M-h TABi.kONE^NO,OSNOWANNOE NA Info ZAWER[ENIE RABOTAET,TOLXKO ESLI ESTX Info-FAJL
DLQ STANDARTNOJ BIBLIOTEKI FUNKCIJ WA[EGO QZYKA,I TOLXKO ESLI ON USTANOWLEN W WA[EJ
SISTEME.
w REVIME Emacs-Lisp PROSTRANSTWO IMEN DLQ ZAWER[ENIQ OBY^NO SOSTOIT IZ NETRIWI-
ALXNYH SIMWOLOW,[email protected]]IH W DANNYJ MOMENT W Emacs | TEH,^TO [email protected] OPRE-
DELENIE FUNKCII,ZNA^ENIE ILI SWOJSTWA.oDNAKO,ESLI NEPOSREDSTWENNO PERED NA^ALOM
^ASTI^NOGO SIMWOLA ESTX [email protected]]AQ SKOBKA,W KA^ESTWE ZAWER[ENIJ [email protected]
TOLXKO SIMWOLY S OPREDELENIEM FUNKCII.kOMANDA,[email protected]]AQ\TO,NAZYWAETSQ lisp-
complete-symbol.
w REVIME Text I RODSTWENNYH S NIM,M-hTABi ZAWER[AET SLOWA,OSNOWYWAQSX NA SLOWARE
PROGRAMMY PROWERKI PRAWOPISANIQ.sM.rAZDEL 13.4 [pRAWOPISANIE],S.102.
22.10 rEVIM Which Function
rEVIM Which Function |\TO WTOROSTEPENNYJ REVIM,KOTORYJ POKAZYWAET W STROKE
REVIMA IMQ TEKU]EJ FUNKCII PO MERE TOGO,KAK WY PEREDWIGAETESX PO BUFERU.
~TOBY [email protected]^ITX (ILI [email protected]^ITX) REVIM Which Function,ISPOLXZUJTE KOMANDU M-x
which-function-mode.|TO GLOBALXNAQ KOMANDA;ONA PRIMENQETSQ KO WSEM BUFERAM,KAK
K SU][email protected]]IM,TAK I K TEM,^TO E]E BUDUT SOZDANY.oDNAKO,\TO ZATRAGIWAET TOLXKO
OPREDELENNYE OSNOWNYE REVIMY,PERE^ISLENNYE W ZNA^ENII which-func-modes.(eSLI\TO
gLAWA 22:rEDAKTIROWANIE PROGRAMM 223ZNA^ENIE t,TO REVIM Which Function PRIMENQETSQ KO WSEM OSNOWNYM REVIMAM,KOTORYE
[email protected],KAK\TO PODDERVIWAETSQ |K OSNOWNYM REVIMAM,[email protected]]IM Imenu.)
22.11 kOMANDY DOKUMENTACII
kOGDA WY REDAKTIRUETE KOD NA lISPE,PREDNAZNA^ENNYJ DLQ ZAPUSKA W Emacs,WY MO-
VETE ISPOLXZOWANY KOMANDY C-h f (describe-function) I C-h v (describe-variable) DLQ
PE^ATI DOKUMENTACII O FUNKCIQH I PEREMENNYH,KOTORYE WY HOTITE WYZWATX.|TI KOMAN-
DY [email protected] MINIBUFER DLQ S^ITYWANIQ IMENI FUNKCII ILI PEREMENNOJ I [email protected]
[email protected] W OKNE.
dLQ BOLX[EGO UDOBSTWA\TI KOMANDY [email protected] ARGUMENTY PO UMOL^[email protected],OSNO-
WANNYE NA KODE W OKRESTNOSTI TO^KI.C-h f USTANAWLIWAET ZNA^ENIE PO UMOL^[email protected] RAWNYM
FUNKCII,WYZWANNOJ W SPISKE SAMOGO GLUBOKOGO UROWNQ,SODERVA]EM TO^KU.C-h v ISPOLX-
ZUET W KA^ESTWE ZNA^ENIQ PO UMOL^[email protected] IMQ SIMWOLA,NAHODQ]EGOSQ WOKRUG ILI RQDOM S
TO^KOJ.
dLQ KODA NA Emacs Lisp WY TAKVE MOVETE ISPOLXZOWATX REVIM Eldoc.|TOT WTOROSTEPEN-
NYJ REVIM POSTOQNNO POKAZYWAET W\HO-OBLASTI SPISOK ARGUMENTOW DLQ FUNKCII,KOTORAQ
WYZYWAETSQ W TO^KE.(dRUGIMI SLOWAMI,ON NAHODIT WYZOW FUNKCII,KOTORYJ SODERVIT
TO^KU,I POKAZYWAET SPISOK ARGUMENTOW\TOJ FUNKCII.) rEVIM Eldoc PRIMENIM TOLXKO
K REVIMAM Emacs Lisp I Lisp Interaction.dLQ [email protected]^ENIQ I [email protected]^ENIQ\TOGO REVIMA
ISPOLXZUJTE KOMANDU M-x eldoc-mode.
dLQ sI,lISPA I DRUGIH QZYKOW WY MOVETE ISPOLXZOWATX C-h C-i (info-lookup-symbol),
^TOBY PROSMOTRETX [email protected] Info PO KAKOMU-TO SIMWOLU.wY ZADAETE SIMWOL W MINI-
BUFERE;PO UMOL^[email protected] BERETSQ SIMWOL,NAHODQ]IJSQ W BUFERE W TO^KE.gDE ISKATX DOKU-
[email protected] PO SIMWOLAM |W KAKIH Info-FAJLAH I KAKIH IMENNYH UKAZATELQH |OPREDELQET
OSNOWNOJ REVIM.wY MOVETE TAKVE ISPOLXZOWATX M-x info-lookup-file DLQ NAHOVDENIQ
DOKUMENTACII DLQ IMENI FAJLA.
wY MOVETE PRO^ITATX\STRANICU man"DLQ KOMANDY OPERACIONNOJ SISTEMY,BIBLIOTE^-
NOJ FUNKCII ILI SISTEMNOGO WYZOWA S POMO][email protected] KOMANDY M-x manual-entry.dLQ FORMA-
TIROWANIQ STRANICY ONA ZAPUSKAET PROGRAMMU man I,ESLI POZWOLQET WA[A OPERACIONNAQ
SISTEMA,DELAET\TO ASINHRONNO,^TOBY WY MOGLI PRODOLVATX REDAKTIROWANIE,POKA STRA-
NICA FORMATIRUETSQ.(MS-DOS I MS-Windows 3 NE [email protected] ASINHRONNYH PODPROCESSOW,
TAK ^TO NA\TIH SISTEMAH WY NE MOVETE REDAKTIROWATX,KOGDA Emacs OVIDAET,POKA man
ZAKON^IT RABOTU.) rEZULXTAT NAPRAWLQETSQ W BUFER S IMENEM`*Man TEMA*'.|TI BUFERY IS-
[email protected] OSOBYJ OSNOWNOJ REVIM,REVIM Man,KOTORYJ OBLEG^AET PROKRUTKU I PROSMOTR
DRUGIH STRANIC man.dLQ POLU^ENIQ PODROBNOSTEJ NABERITE C-h m W BUFERE STRANICY
man.
dLQ DLINNYH STRANIC PRAWILXNAQ USTANOWKA NA^ERTANIJ MOVET ZANQTX ZNA^ITELXNOE
WREMQ.pO UMOL^[email protected] Emacs ISPOLXZUET W STRANICAH man NA^ERTANIQ,ESLI MOVET POKAZY-
WATX RAZNYE [RIFTY ILI CWETA.wY MOVETE [email protected]^ITX ISPOLXZOWANIE RAZNYH NA^ERTANIJ
W STRANICAH man,USTANOWIW [email protected] Man-fontify-manpage-flag RAWNOJ nil.
eSLI WY WSTAWITE TEKST STRANICY man W BUFER Emacs KAKIM-TO DRUGIM SPOSOBOM,WY
MOVETE ISPOLXZOWATX KOMANDU M-x Man-fontify-manpage,^TOBY PROIZWESTI TE VE PREOB-
RAZOWANIQ,^TO DELAET M-x manual-entry.
pROEKT GNU NADEETSQ KOGDA-NIBUDX ZAMENITX BOLX[INSTWO STRANIC man NA LU^[E OR-
GANIZOWANNYE RUKOWODSTWA,KOTORYE WY MOVETE PROSMATRIWATX S POMO][email protected] Info.sM.rAZ-
DEL 7.7 [dRUGIE SPRAWKI],S.60.pOSKOLXKU\TOT PROCESS ZAWER[EN LI[X ^ASTI^NO,^ITATX
STRANICY man WSE E]E POLEZNO.
224 rUKOWODSTWO PO GNU Emacs22.12 vURNALY IZMENENIJ
kOMANDA Emacs C-x 4 a DOBAWLQET W VURNAL IZMENENIJ [email protected] ZAPISX DLQ FAJLA,KOTO-
RYJ WY REDAKTIRUETE (add-change-log-entry-other-window).
fAJL VURNALA IZMENENIJ SODERVIT HRONOLOGI^ESKOE OPISANIE TOGO,PO^EMU I KOGDA WY
IZMENQLI PROGRAMMU,SOSTOQ]EE IZ POSLEDOWATELXNOSTI ZAPISEJ,[email protected]]IH OTDELXNYE
IZMENENIQ.kAK PRAWILO ONO HRANITSQ W FAJLE S IMENEM`ChangeLog'W TOM VE SAMOM
KATALOGE,W KOTOROM NAHODITSQ FAJL,KOTORYJ WY REDAKTIRUETE,ILI W ODNOM IZ EGO RO-
DITELXSKIH KATALOGOW.eDINSTWENNYJ FAJL`ChangeLog'MOVET ZAPISYWATX IZMENENIQ DLQ
WSEH FAJLOW W EGO KATALOGE I WO WSEH EGO PODKATALOGAH.
zAPISX W VURNALE IZMENENIJ NA^INAETSQ SO STROKI ZAGOLOWKA,KOTORAQ SODERVIT WA[E
IMQ,WA[ ADRES\LEKTRONNOJ PO^TY (POLU^AEMYJ IZ PEREMENNOJ user-mail-address) I
TEKU][email protected] DATU I WREMQ.kROME\TIH STROK ZAGOLOWKA,KAVDAQ STROKA W VURNALE IZMENENIJ
NA^INAETSQ S PROBELA ILI TABULQCII.oSNOWNAQ ^ASTX ZAPISI SOSTOIT IZ PUNKTOW,KAVDYJ
IZ KOTORYH NA^INAETSQ SO STROKI,NA^[email protected]]EJSQ S PROPUSKA I ZWEZDO^KI.wOT PRIMER DWUH
ZAPISEJ,OBE DATIROWANY MAEM 1993 GODA I OBE SODERVAT DWA PUNKTA:
1993-05-25 Richard Stallman <[email protected]>
* man.el:Rename symbols`man-*'to`Man-*'.
(manual-entry):Make prompt string clearer.
* simple.el (blink-matching-paren-distance):
Change default to 12,000.
1993-05-24 Richard Stallman <[email protected]>
* vc.el (minor-mode-map-alist):Don't use it if it's void.
(vc-cancel-version):Doc fix.
(pREDYDU]IE WERSII Emacs ISPOLXZOWALI DRUGOJ FORMAT DATY.)
oDNA ZAPISX MOVET OPISYWATX NESKOLXKO IZMENENIJ;KAVDOE IZMENENIE DOLVNO OPISY-
WATXSQ W OTDELXNOM PUNKTE.oBY^NO MEVDU PUNKTAMI DOLVNA BYTX PUSTAQ STROKA.kOGDA
PUNKTY SWQZANY MEVDU SOBOJ (^ASTI ODNOGO IZMENENIQ W RAZNYH MESTAH),GRUPPIRUJTE
IH,NE OSTAWLQQ MEVDU NIMI [email protected] STROKU.wTORAQ ZAPISX WY[E SODERVIT DWA PUNKTA,
SGRUPPIROWANNYH TAKIM SPOSOBOM.
C-x 4 a OBRA]AETSQ K FAJLU VURNALA IZMENENIJ I SOZDAET [email protected] ZAPISX,ESLI TOLXKO
POSLEDNIJ PO WREMENI PUNKT NE DATIROWAN SEGODNQ[NIM DNEM I NE NESET WA[E IMQ.tAK-
VE ONA SOZDAET NOWYJ PUNKT DLQ TEKU]EGO FAJLA.dLQ MNOGIH QZYKOW ONA MOVET DAVE
PREDPOLOVITX IMQ IZMENENNOJ FUNKCII ILI OB_EKTA.
k FAJLU VURNALA IZMENENIJ OBRA][email protected] W REVIME Change Log.w\TOM OSNOWNOM RE-
VIME KAVDAQ SWQZKA SGRUPPIROWANNYH PUNKTOW S^ITAETSQ ODNIM ABZACEM,A KAVDAQ ZAPISX
S^ITAETSQ STRANICEJ.|TO OBLEG^AET REDAKTIROWANIE ZAPISEJ.C-j I AWTOMATI^ESKOE ZA-
POLNENIE [email protected] W KAVDOJ NOWOJ STROKE TAKOJ VE OTSTUP,KAK W PREDYDU]EJ;\TO UDOBNO
DLQ WWODA SODERVIMOGO ZAPISEJ.
sISTEMY UPRAWLENIQ WERSIQMI [email protected] DRUGOJ SPOSOB OTSLEVIWANIQ IZMENENIJ W WA[EJ
PROGRAMME I WEDENIQ VURNALA IZMENENIJ.sM.rAZDEL 14.7.3.3 [bUFER VURNALA],S.119.
22.13 tABLICY TEGOW
tABLICA TEGOW |\TO OPISANIE TOGO,KAK MNOGOFAJLOWAQ PROGRAMMA RAZBIWAETSQ NA FAJ-
LY.oNA PERE^ISLQET IMENA FAJLOW-KOMPONENTOW I IMENA I POZICII FUNKCIJ (ILI DRUGIH
gLAWA 22:rEDAKTIROWANIE PROGRAMM 225IMENOWANNYH POD_EDINIC) W KAVDOM FAJLE.oB_EDINENIE SWQZANNYH FAJLOW DELAET WOZ-
MOVNYM POISK ILI ZAMENU WO WSEH FAJLAH S POMO][email protected] ODNOJ KOMANDY.zAPISX IMEN FUNK-
CIJ I POZICIJ DELAET WOZMOVNOJ KOMANDU M-.,KOTORAQ NAHODIT OPREDELENIE,OTYSKIWAQ
SWEDENIQ O TOM,W KAKOM FAJLE ONO NAHODITSQ.
tABLICY TEGOW HRANQTSQ W FAJLAH,IMENUEMYH FAJLAMI TABLIC TEGOW.oB]EPRINQTOE
IMQ DLQ FAJLA TABLICY TEGOW |`TAGS'.
kAVDYJ\LEMENT W TABLICE TEGOW ZAPISYWAET IMQ ODNOGO TEGA,IMQ FAJLA,W KOTOROM
\TOT TEG OPREDELEN (QWNO),I MESTOPOLOVENIE OPREDELENIQ TEGA W\TOM FAJLE.
kAKIE IMENNO IMENA IZ OPISANNYH FAJLOW [email protected] W TABLICE TEGOW,ZAWISIT OT
QZYKA PROGRAMMIROWANIQ OPISANNOGO FAJLA.oBY^NO ONI [email protected]^[email protected] WSE FUNKCII I POD-
PROGRAMMY,MOGUT TAKVE [email protected]^ATX GLOBALXNYE PEREMENNYE,TIPY DANNYH I ^TO-NIBUDX
E]E OTNOSQ]EESQ K DELU.kAVDOE ZAPISANNOE IMQ NAZYWAETSQ TEGOM.
22.13.1 sINTAKSIS TEGOW ISHODNOGO FAJLA
w NAIBOLEE POPULQRNYH QZYKAH SINTAKSIS TEGOW OPREDELQETSQ [email protected]]IM OBRAZOM:
пЂЏ w PROGRAMME NA sI,[email protected] FUNKCIQ sI ILI typedef |\TO TEG,TEGOM [email protected] I
OPREDELENIQ struct,union I enum.oPREDELENIQ MAKROSOW (#define) I KONSTANT (enum)
TAKVE [email protected] TEGAMI,ESLI TOLXKO WY NE ZADALI PRI SOZDANII TABLICY TEGOW [email protected]^
`-no-defines'.aNALOGI^NO,TEGAMI [email protected] GLOBALXNYE PEREMENNYE,ESLI TOLXKO WY
NE ZADALI [email protected]^`-no-globals'.iSPOLXZOWANIE`-no-globals'I`-no-defines'MOVET
SDELATX FAJLY TABLIC TEGOW GORAZDO MENX[E.
пЂЏ w KODE NA sI++,POMIMO WSEH TEGOW KODA sI [email protected] TAKVE FUNKCII-^LENY I,
WOZMOVNO,PEREMENNYE-^LENY,ESLI WY ISPOLXZUETE [email protected]^`-members'.tEGI DLQ PERE-
MENNYH I FUNKCIJ W KLASSAH [email protected] KAK`KLASS::PEREMENNAQ'I`KLASS::FUNKCIQ'.
пЂЏ w KODE NA Java,TEGI [email protected]^[email protected] WSE KONSTRUKCII,RASPOZNAWAEMYE W sI++ [email protected] KON-
STRUKCII extends I implements.tEGI DLQ PEREMENNYH I FUNKCIJ W KLASSAH [email protected]
SQ KAK`KLASS.PEREMENNAQ'I`KLASS.FUNKCIQ'.
пЂЏ w TEKSTE DLQ LaT
E
X,TEGAMI SLUVAT ARGUMENTY KAVDOJ IZ KOMAND\chapter,
\section,\subsection,\subsubsection,\eqno,\label,\ref,\cite,\bibitem,\part,
\appendix,\entry ILI\index.
dRUGIE KOMANDY TOVE MOGUT SOZDAWATX TEGI,ESLI WY UKAVETE IH W PEREMENNOJ SRE-
DY TEXTAGS PERED WYZOWOM etags.zNA^ENIEM\TOJ PEREMENNOJ SREDY DOLVEN BYTX
RAZDELENNYJ DWOETO^IQMI SPISOK IMEN KOMAND.
TEXTAGS="def:newcommand:newenvironment"
export TEXTAGS
ZADAET (S ISPOLXZOWANIEM SINTAKSISA Bourne shell),^TO KOMANDY`\def',`\newcommand'
I`\newenvironment'TAKVE [email protected] TEGI.
пЂЏ w KODE NA lISPE [email protected] FUNKCIQ,OPREDELENNAQ ^EREZ defun,[email protected] PEREMENNAQ,OPRE-
DELENNAQ ^EREZ defvar ILI defconst,I WOOB]E PERWYJ ARGUMENT [email protected] WYRAVENIQ,
KOTOROE NA^INAETSQ S`(def'W NULEWOM STOLBCE,[email protected] TEGOM.
пЂЏ w KODE NA Scheme TEGI [email protected]^[email protected] WSE OPREDELQEMOE S POMO][email protected] def ILI KONSTRUKCII,
^XE IMQ NA^INAETSQ S`def'.oNI TAKVE [email protected]^[email protected] PEREMENNYE,USTANOWLENNYE S POMO-
][email protected] set!NA WERHNEM UROWNE FAJLA.
[email protected] TAKVE NESKOLXKO DRUGIH QZYKOW:
пЂЏ w KODE ASSEMBLERA,TEGI |\TO METKI,[email protected]]IESQ W NA^ALE STROKI,ZA KOTORYMI
IDET DWOETO^IE.
пЂЏ wO WHODNYH FAJLAH Bison ILI Yacc KAVDOE PRAWILO OPREDELQET KONSTRUIRUEMYJ IM
NETERMINAL KAK TEG.~ASTI FAJLA,SODERVA]IE KOD NA sI,[email protected] KAK KOD sI.
226 rUKOWODSTWO PO GNU EmacsпЂЏ w KODE NA Cobol TEGAMI SLUVAT IMENA PARAGRAFOW;TO ESTX [email protected] SLOWA,KOTORYE
NA^[email protected] W STOLBCE 8,I POSLE KOTORYH STOIT TO^KA.
пЂЏ w KODE NA Erlang TEGAMI SLUVAT OPREDELENNYE W FAJLE FUNKCII,ZAPISI I MAKROSY.
пЂЏ w fORTRAN-KODE TEGAMI [email protected] FUNKCII,PODPROGRAMMY I BLOKI DANNYH.
пЂЏ w KODE NA pASKALE TEGAMI BUDUT OPREDELENNYE W FAJLE FUNKCII I PROCEDURY.
пЂЏ w KODE NA Perl TEGAMI [email protected] PROCEDURY,OPREDELQEMYE [email protected]^EWYM SLOWOM sub.
пЂЏ w KODE NA Postscript TEGAMI [email protected] FUNKCII.
пЂЏ w KODE NA pROLOGE TEGI [email protected] NA LEWOJ GRANICE.
wY TAKVE MOVETE GENERIROWATX TEGI,OSNOWYWAQSX NA SOPOSTAWLENII REGULQRNYH WYRA-
VENIJ (SM.rAZDEL 22.13.2 [sOZDANIE TABLICY TEGOW],S.226),^TOBY OBRABOTATX DRUGIE
FORMATY I QZYKI.
22.13.2 sOZDANIE TABLICY TEGOW
dLQ SOZDANIQ FAJLA TABLICY TEGOW ISPOLXZUETSQ PROGRAMMA etags.oNA ZNAET NESKOLXKO
QZYKOW,KAK OPISANO W PREDYDU]EM RAZDELE.etags ZAPUSKAETSQ [email protected]]IM OBRAZOM:
etags WHODNYE-FAJLY...
pROGRAMMA etags S^ITYWAET UKAZANNYE FAJLY I ZAPISYWAET TABLICU TEGOW POD IMENEM
`TAGS'W TEKU]EM RABO^EM KATALOGE.etags RASPOZNAET QZYK,ISPOLXZUEMYJ WO WHODNOM
FAJLE,OSNOWYWAQSX NA IMENI\TOGO FAJLA I EGO SODERVANII.wY MOVETE UKAZATX QZYK S
POMO][email protected] [email protected]^A`-language=IMQ',OPISANNOGO NIVE.
eSLI DANNYE TABLICY TEGOW STANOWQTSQ USTAREW[IMI IZ-ZA IZMENENIJ W OPISANNYH W
TABLICE FAJLAH,TO TABLICA TEGOW OBNOWLQETSQ TEM VE SPOSOBOM,^TO BYL PRIMENEN DLQ EE
NA^ALXNOGO SOZDANIQ.nET NEOBHODIMOSTI DELATX\TO ^ASTO.
eSLI TABLICA TEGOW NE W SOSTOQNII ZAPISATX TEG ILI ZAPISYWAET EGO NE DLQ TOGO FAJLA,
TO Emacs MOVET NE NAJTI EGO OPREDELENIE.oDNAKO,ESLI POZICIQ,ZAPISANNAQ W TABLICU
TEGOW,STANOWITSQ NEMNOGO NEWERNOJ (IZ-ZA NEKOTOROGO REDAKTIROWANIQ W FAJLE,W KOTOROM
NAHODITSQ OPREDELENIE\TOGO TEGA),TO EDINSTWENNYM SLEDSTWIEM BUDET SLEGKA ZAMEDLENNYJ
POISK TEGA.dAVE ESLI HRANQ]AQSQ POZICIQ SOWSEM NEPRAWILXNA,Emacs WSE-TAKI NAJDET
TEG,NO DLQ\TOGO ON DOLVEN BUDET OBSLEDOWATX WESX FAJL.
tAKIM OBRAZOM,WAM NUVNO OBNOWLQTX TABLICU TEGOW,KOGDA WY OPREDELQETE NOWYE TEGI,
KOTORYE WY HOTITE WNESTI W SPISOK,ILI KOGDA WY PEREME]AETE OPREDELENIQ TEGOW IZ ODNOGO
FAJLA W DRUGOJ,ILI KOGDA IZMENENIQ STANOWQTSQ SU]ESTWENNYMI.oBY^NO NET NUVDY
OBNOWLQTX TABLICU TEGOW POSLE KAVDOGO REDAKTIROWANIQ ILI DAVE KAVDYJ DENX.
oDNA TABLICA TEGOW MOVET KAK BY [email protected]^ATX [email protected] [email protected]^AEMOGO FAJLA TEGOW
UKAZYWAETSQ S POMO][email protected] [email protected]^A`-include=FAJL'PRI SOZDANII [email protected]^[email protected]]EGO FAJLA.pO-
SLEDNIJ FAJL ZATEM WEDET SEBQ TAK,KAK ESLI BY ON SODERVAL WSE FAJLY,ZADANNYE WO
[email protected]^ENNOM FAJLE,TAK VE KAK I TE FAJLY,KOTORYE ON SODERVIT NEPOSREDSTWENNO.
eSLI PRI ZAPUSKE etags WY ZADADITE ISHODNYE FAJLY PO OTNOSITELXNYM IMENAM,FAJL
TEGOW BUDET SODERVATX IMENA FAJLOW,OTNOSITELXNYE K KATALOGU,W KOTOROM\TOT FAJL TEGOW
BYL IZNA^ALXNO ZAPISAN.tOGDA WY SMOVETE PEREMESTITX WSE DEREWO KATALOGOW,SODERVA]EE
I FAJL TEGOW,I ISHODNYE FAJLY,I FAJL TEGOW WSE RAWNO BUDET PRAWILXNO SSYLATXSQ NA
ISHODNYE FAJLY.
eSLI W KA^ESTWE ARGUMENTOW etags WY ZADADITE [email protected] IMENA FAJLOW,TO FAJL
TEGOW BUDET SODERVATX [email protected] IMENA.tOGDA FAJL TEGOW BUDET TAK VE SSYLATXSQ
NA TE VE ISHODNYE FAJLY,DAVE ESLI WY PEREMESTITE EGO,DO TEH POR,POKA ISHODNYE
FAJLY [email protected] NA STAROM [email protected] IMENA FAJLOW NA^[email protected] S`/',ILI S
`USTROJSTWO:/'W MS-DOS I MS-Windows.
gLAWA 22:rEDAKTIROWANIE PROGRAMM 227kOGDA WY HOTITE SOZDATX TABLICY TEGOW DLQ O^ENX BOLX[OGO ^ISLA FAJLOW,U WAS MOGUT
WOZNIKNUTX PROBLEMY S IH PERE^ISLENIEM W KOMANDNOJ STROKE,POSKOLXKU NEKOTORYE SISTE-
MY [email protected] OGRANI^ENIE NA EE DLINU.pROSTEJ[IJ SPOSOB OBOJTI\TO OGRANI^ENIE
| SKAZATX etags S^ITYWATX IMENA FAJLOW SO STANDARTNOGO WWODA,NABRAW DEFIS NA MESTE
IMEN FAJLOW,KAK ZDESX:
find.-name"*.[chCH]"-print | etags -
iSPOLXZUJTE [email protected]^`-language=IMQ'DLQ QWNOGO UKAZANIQ QZYKA.wY MOVETE PEREME[I-
WATX\TI [email protected]^I S IMENAMI FAJLOW;KAVDYJ OTNOSITSQ K IMENA FAJLA,KOTOROE SLEDUET ZA
NIM.zADAJTE`-language=auto',^TOBY WELETX etags PRODOLVATX SAMOJ PREDPOLAGATX QZYK
PO IMENI I SODERVIMOMU FAJLA.zADAJTE`-language=none',^TOBY [email protected] [email protected]^ITX
SPECIFI^[email protected] DLQ QZYKA OBRABOTKU;TOGDA etags RASPOZNAET TEGI TOLXKO PO [email protected]
S REGULQRNYM WYRAVENIEM.`etags -help'PE^ATAET PERE^ENX QZYKOW,KOTORYE ZNAET etags,
I PRAWILA PREDPOLOVENIQ QZYKA PO IMENI FAJLA.
[email protected]^`-regex'PREDOSTAWLQET OB]IJ SPOSOB RASPOZNAWANIQ TEGOW,OSNOWANYJ NA SOPO-
STAWLENII S REGULQRNYM WYRAVENIEM.wY MOVETE SWOBODNO PEREME[IWATX\TI [email protected]^I S
IMENAMI FAJLOW.kAVDYJ [email protected]^`-regex'DOBAWLQETSQ K PRED[[email protected]]IM I PRIMENQETSQ
TOLXKO K [email protected]]IM FAJLAM.sINTAKSIS TAKOW:
-regex=/regexp-TEG[/regexp-IMQ]/
GDE regexp-TEG ISPOLXZUETSQ DLQ NAHOVDENIQ STROK TEGOW.oNO WSEGDA ZACEPLENNOE,TO
ESTX WEDET SEBQ TAK,KAK ESLI BY W NA^ALE STOQLO`^'.eSLI WY HOTITE U^ESTX OTSTUPY,
PROSTO NAZOWITE SOWPADENIEM PROIZWOLXNOE KOLI^ESTWO PROPUSKOW,NA^AW WA[E REGULQRNOE
WYRAVENIE S`[\t]*'.zNAK`\'W REGULQRNYH WYRAVENIQH\KRANIRUET [email protected]]IJ ZNAK,
A`\t'OBOZNA^AET SIMWOL TABULQCII.oBRATITE WNIMANIE,etags NE OBRABATYWAET DRUGIE
[email protected]]IE POSLEDOWATELXNOSTI sI DLQ SPECIALXNYH ZNAKOW.
etags PRIDERVIWAETSQ TOGO VE SINTAKSISA REGULQRNYH WYRAVENIJ,^TO I Emacs,NO S
WWEDENIEM OPERATORA INTERWALA,KOTORYJ RABOTAET KAK W grep I ed.sINTAKSIS OPERATORA
INTERWALA TAKOJ:`\{m,n\}',\TO OZNA^AET,^TO NUVNO NAJTI SOWPADENIE S PREDYDU]IM
WYRAVENIEM PO MENX[EJ MERE m RAZ I WPLOTX DO n RAZ.
regexp-TEG NE DOLVNO SOWPADATX S BOLX[IM ^ISLOM ZNAKOW,^EM\TO NEOBHODIMO DLQ
RASPOZNAWANIQ NUVNOGO WAM TEGA.eSLI SOOTWETSTWIE TAKOWO,^TO regexp-TEG NEIZBEVNO
SOWPADAET S BOLX[IM,^EM NUVNO,^ISLOM ZNAKOW,WY MOVETE NAJTI POLEZNYM DOBAWITX
regexp-IMQ,^TOBY SUZITX OBLASTX TEGA.wY MOVETE NAJTI PRIMERY NIVE.
[email protected]^`-R'UDALQET WSE REGULQRNYE WYRAVENIQ,OPREDELENNYE [email protected]^AMI`-regex'.oN
PRIMENQETSQ K [email protected]]IM ZA NIM IMENAM FAJLOW,KAK WY MOVETE WIDETX IZ [email protected]]EGO
PRIMERA:
etags -regex=/reg1/voo.doo -regex=/reg2/\
bar.ber -R -lang=lisp los.er
zDESX etags WYBIRAET QZYK DLQ ANALIZA`voo.doo'I`bar.ber'W SOOTWETSTWII S IH SODERVI-
MYM.etags TAKVE ISPOLXZUET reg1 DLQ RASPOZNAWANIQ DOPOLNITELXNYH TEGOW W`voo.doo'
I OBA WYRAVENIQ reg1 I reg2 DLQ RASPOZNAWANIQ DOPOLNITELXNYH TEGOW W`bar.ber'.dLQ
RASPOZNAWANIQ TEGOW W`los.er'etags ISPOLXZUET PRAWILA TEGOW DLQ lISPA I NE ISPOLXZUET
REGULQRNYE WYRAVENIQ.
wOT E]E NESKOLXKO PRIMEROW.rEGULQRNYE WYRAVENIQ WZQTY W KAWY^KI,^TOBY OBOLO^KA
NE INTERPRETIROWALA IH PO-SWOEMU.
пЂЏ sDELATX TEGI DLQ MAKROSA DEFVAR W ISHODNYH FAJLAH Emacs:
-regex='/[\t]*DEFVAR_[A-Z_\t(]+"\([^"]+\)"/'
пЂЏ sDELATX TEGI DLQ VHDL-FAJLOW (\TOT PRIMER | ODNA STROKA,RAZBITAQ ZDESX DLQ
PRAWILXNOGO FORMATIROWANIQ):
-language=none
-regex='/[\t]*\(ARCHITECTURE\|CONFIGURATION\) +[^ ]* +OF/'
228 rUKOWODSTWO PO GNU Emacs-regex='/[\t]*\(ATTRIBUTE\|ENTITY\|FUNCTION\|PACKAGE\
\( BODY\)?\|PROCEDURE\|PROCESS\|TYPE\)[\t]+\([^\t(]+\)/\3/'
пЂЏ sDELATX TEGI DLQ FAJLOW NA Tcl (\TOT POSLEDNIJ PRIMER POKAZYWAET ISPOLXZOWANIE
ARGUMENTA regexp-IMQ):
-lang=none -regex='/proc[\t]+\([^\t]+\)/\1/'
~TOBY POLU^ITX PERE^ENX DRUGIH DOSTUPNYH [email protected]^EJ etags,WYPOLNITE etags --help.
22.13.3 wYBOR TABLICY TEGOW
Emacs HRANIT W KAVDYJ MOMENT ODNU [email protected] TABLICU TEGOW,I WSE KOMANDY DLQ
RABOTY S TABLICAMI TEGOW [email protected]\TU [email protected] TABLICU.~TOBY WYBRATX TABLICU
TEGOW,NABERITE M-x visit-tags-table,KOTORAQ S^ITAET IMQ FAJLA TABLICY TEGOW KAK
ARGUMENT.iMQ`TAGS'W KATALOGE PO UMOL^[email protected] ISPOLXZUETSQ KAK IMQ FAJLA PO UMOL^[email protected]
wSE,^TO DELAET\TA KOMANDA,| SOHRANQET IMQ FAJLA W PEREMENNOJ tags-file-name.
Emacs FAKTI^ESKI NE S^ITYWAET SODERVIMOE TABLICY TEGOW DO TEH POR,POKA WY NE POPY-
TAETESX ISPOLXZOWATX EGO.sAMOSTOQTELXNAQ USTANOWKA\TOJ PEREMENNOJ TAK VE HORO[A,KAK
I ISPOLXZOWANIE visit-tags-table.nA^ALXNOE ZNA^ENIE PEREMENNOJ RAWNO nil;\TO ZNA^E-
NIE SOOB]AET WSEM KOMANDAM DLQ RABOTY S TABLICAMI TEGOW,^TO ONI DOLVNY ZAPRA[IWATX,
KAKOE IMQ FAJLA TABLICY TEGOW NADO ISPOLXZOWATX.
iSPOLXZOWANIE visit-tags-table,KOGDA TABLICA TEGOW UVE ZAGRUVENA,DAET WAM WYBOR:
WY MOVETE DOBAWITX [email protected] TABLICU TEGOW K TEKU]EMU SPISKU TAKIH TABLIC ILI NA^ATX
NOWYJ SPISOK.kOMANDY RABOTY S TEGAMI [email protected] WSE TABLICY TEGOW W TEKU]EM SPISKE.
eSLI WY NA^INAETE NOWYJ SPISOK,NOWAQ TABLICA TEGOW ISPOLXZUETSQ WMESTO OSTALXNYH.
eSLI WY DOBAWLQETE [email protected] TABLICU TEGOW K TEKU]EMU SPISKU,ONA ISPOLXZUETSQ WMESTE
S OSTALXNYMI.kOGDA KOMANDY RABOTY S TEGAMI [email protected] SPISOK TABLIC TEGOW,ONI NE
WSEGDA NA^[email protected] S NA^ALA SPISKA;ONI NA^[email protected] S PERWOJ TABLICY,KOTORAQ OPISYWAET
TEKU]IJ FAJL (ESLI TAKAQ ESTX),PROHODQT DALEE DO KONCA SPISKA I ZATEM [email protected]
SPISOK S NA^ALA DO TEH POR,POKA W NEM NE BUDUT PROWERENY WSE TABLICY.
wY MOVETE QWNO ZADATX SPISOK TABLIC TEGOW,USTANOWIW [email protected] tags-table-list W
ZNA^ENIE SPISKA STROK,KAK POKAZANO:
(setq tags-table-list
'("~/emacs""/usr/local/lib/emacs/src"))
|TO ZASTAWLQET KOMANDY,[email protected]]IE S TEGAMI,PROSMATRIWATX FAJLY`TAGS'W KATALOGAH
`~/emacs'I`/usr/local/lib/emacs/src'.pORQDOK ZAWISIT OT TOGO,W KAKOM FAJLE WY
SEJ^AS NAHODITESX I KAKAQ TABLICA TEGOW UPOMINAET\TOT FAJL,KAK OBQSNENO WY[E.
nE USTANOWLIWAJTE PEREMENNYE tags-file-name I tags-table-list ODNOWREMENNO.
22.13.4 pOISK OPREDELENIQ TEGA
sAMAQ WAVNAQ WE]X,[email protected] WAM [email protected] DELATX TABLICY TEGOW,|\TO POISK OPRE-
DELENIQ KONKRETNOGO TEGA.
M-.TEG h RETi
nAJTI PERWOE OPREDELENIE TEGA (find-tag).
C-u M-.nAJTI [email protected]]EE PO O^EREDI OPREDELENIE POSLEDNEGO ZADANNOGO TEGA.
C-u - M-.wERNUTXSQ K PREDYDU]EMU NAJDENNOMU TEGU.
C-M-.OBRAZEC hRETi
nAJTI TEG,^XE IMQ SOWPADAET S OBRAZCOM (find-tag-regexp).
C-u C-M-.nAJTE [email protected]]IJ TEG,^XE IMQ SOWPADAET S POSLEDNIM ISPOLXZOWANNYM OBRAZ-
COM.
gLAWA 22:rEDAKTIROWANIE PROGRAMM 229C-x 4.TEG hRETi
nAJTE PERWOE OPREDELENIE TEGA,NO POKAZATX EGO W DRUGOM OKNE (find-tag-
other-window).
C-x 5.TEG h RETi
nAJTE PERWOE OPREDELENIE TEGA I SOZDATX NOWYJ FREJM DLQ WYBORA BUFERA
(find-tag-other-frame).
M-* wERNUTXSQ K TOMU MESTU,GDE WY RANEE WYZWALI M-.I TOWARI]EJ.
M-.(find-tag) |\TO KOMANDA DLQ POISKA OPREDELENIQ ZADANNOGO TEGA.oNA I]ET EGO PO
TABLICE TEGOW KAK STROKU I ZATEM ISPOLXZUET\TU [email protected] IZ TABLICY TEGOW DLQ TOGO,
^TOBY OPREDELITX FAJL,W KOTOROM NAHODITSQ OPREDELENIE,I [email protected] POLOVE-
NIE OPREDELENIQ W FAJLE.zATEM find-tag OBRA]AETSQ K\TOMU FAJLU,PEREDWIGAET TO^KU
W [email protected] [email protected] I NA^INAET POISK OPREDELENIQ NA POSTOQNNO [email protected]]EM
RASSTOQNII.
eSLI ZADAETSQ PUSTOJ ARGUMENT (PROSTO
hRETi),TO W KA^ESTWE IMENI TEGA,KOTORYJ NADO
NAJTI,ISPOLXZUETSQ s-WYRAVENIE,NAHODQ]EESQ W BUFERE PERED ILI WOKRUG TO^KI.dLQ
POLU^ENIQ INFORMACII O s-WYRAVENIQH SMOTRITErAZDEL 22.2 [sPISKI],S.206,
aRGUMENT DLQ M-.NE OBQZAN BYTX POLNYM IMENEM TEGA;DOSTATO^NO ^ASTI.|TO WOZMOV-
NO,POTOMU ^TO M-.NAHODIT W TABLICE TEGI,KOTORYE SODERVAT TEG KAK POSTROKU.oDNAKO,
ONA PREDPO^ITAET TO^NOE SOWPADENIE [email protected] LI[X POSTROKI.~TOBY NAJTI DRUGIE TE-
GI,KOTORYE [email protected] TOJ VE PODSTROKE,SLEDUET DATX find-tag ^ISLOWOJ ARGUMENT,
KAK W C-u M-.;\TA KOMANDA NE S^ITYWAAET IMQ TEGA,NO PRODOLVAET POISK PO TEKSTU TABLI-
CY TEGOW DRUGOGO TEGA,SODERVA]EGO [email protected] [email protected]@ [email protected] PODSTROKU.eSLI U
WAS ESTX NASTOQ]AQ KLAWI[A h METAi,TO M-0 M-.MOVET SLUVITX BOLEE PROSTOJ ALXTERNA-
TIWOJ C-u M-..
pODOBNO BOLX[INSTWU KOMAND,KOTORYE MOGUT [email protected]^ATX BUFERY,find-tag IMEET
WARIANT,KOTORYJ POKAZYWAET NOWYJ BUFER W DRUGOM OKNE,I E]E ODIN,KOTORYJ SOZDAET
NOWYJ FREJM.pERWAQ KOMANDA |\TO C-x 4.,KOTORAQ WYZYWAET [email protected] find-tag-other-
window.wTORAQ,C-x 5.,WYZYWAET find-tag-other-frame.
~TOBY WERNUTXSQ K MESTAM,GDE WY NEDAWNO NAHODILI TEGI,ISPOLXZUJTE C-u - M-.;W
BOLEE OB]EM WIDE,M-.S OTRICATELXNYM ^ISLOWYM ARGUMENTOM.|TA KOMANDA MOVET PE-
RENESTI WAS W DRUGOJ BUFER.C-x 4.S OTRICATELXNYM ARGUMENTOM NAHODIT PREDYDU]EE
POLOVENIE TEGA W DRUGOM OKNE.
tAK VE,KAK WY MOVETE WERNUTXSQ K MESTAM,GDE WY NEDAWNO NAHODILI TEGI,WY MOVETE
WERNUTXSQ K MESTAM,OTKUDA WY IH NA[LI.iSPOLXZUJTE DLQ\TOGO M-*,^TO WYZYWAET
KOMANDU pop-tag-mark.tIPI^NOE PRIMENENIE\TIH KOMAND |NAJTI I IZU^ITX OPREDELENIE
^EGO-TO S POMO][email protected] M-.I ZATEM WERNUTXSQ K TOMU MESTU,GDE WY BYLI,S POMO][email protected] M-*.
i C-u - M-.,I M-* [email protected] WAM PO[AGOWO PROHODITX NAZAD DO GLUBINY,OPREDELQEMOJ
PEREMENNOJ find-tag-marker-ring-length.
kOMANDA C-M-.(find-tag-regexp) OBRA]AETSQ K TEGAM,[email protected]]IM ZADANNOMU
REGULQRNOMU [email protected] POHOVA NA M-.,NO PROIZWODIT SOPOSTAWLENIE S REGULQRNYM
WYRAVENIEM,A NE SO STROKOJ.
22.13.5 pOISK I ZAMENA PRI POMO]I TABLIC TEGOW
kOMANDY\TOGO RAZDELA OBRA][email protected] I [email protected] WSE FAJLY,PERE^ISLENNYE W
WYBRANNOJ TABLICE TEGOW,ODIN ZA DRUGIM.tABLICA TEGOW SLUVIT DLQ\TIH KOMAND TOLXKO
DLQ TOGO,^TOBY OPREDELITX POSLEDOWATELXNOSTX POISKA W FAJLAH.
M-x tags-search h RETi regexp hRETi
pOISK regexp WO WSEH FAJLAH W WYBRANNOJ TABLICE TEGOW.
230 rUKOWODSTWO PO GNU EmacsM-x tags-query-replace hRETi regexp hRETi ZAMENA hRETi
oSU]ESTWITX query-replace-regexp W KAVDOM FAJLE W WYBRANNOJ TABLICE TE-
GOW.
M-,pEREZAPUSTITX ODNU IZ WY[EUPOMQNUTYH KOMAND IZ TEKU]EGO POLOVENIQ TO^KI
(tags-loop-continue).
M-x tags-search S^ITYWAET REGULQRNOE WYRAVENIE,ISPOLXZUQ MINIBUFER,ZATEM I]ET
\TO REGULQRNOE WYRAVENIE PO O^EREDI W KAVDOM FAJLE IZ WYBRANNOJ TABLICY TEGOW.oNA
POKAZYWAET IMQ FAJLA,KOTORYJ W DANNYJ MOMENT PROSMATRIWAETSQ,TAKIM OBRAZOM,WY
MOVETE SLEDITX ZA HODOM POISKA.kAK TOLXKO OPREDELQETSQ MESTONAHOVDENIE,tags-search
WOZWRA]AETSQ.
nAJDQ ODNO SOOTWETSTWIE,WY,WEROQTNO,ZAHOTITE NAJTI WSE OSTALXNYE.~TOBY NAJTI
E]E ODNO SOOTWETSTWIE,NABERITE M-,(tags-loop-continue),\TO WOZOBNOWIT tags-search.
|TA KOMANDA PROSMATRIWAET OSTATOK TEKU]EGO BUFERA I ZATEM OSTAW[IESQ FAJLY TABLICY
TEGOW.
M-x tags-query-replace OSU]ESTWLQET WO WSEH FAJLAH W TABLICE TEGOW [email protected] ZA-
MENU REGULQRNOGO WYRAVENIQ S PODTWERVDENIEM.oNA S^ITYWAET REGULQRNOE WYRAVE-
NIE,KOTOROE SLEDUET ISKATX,I STROKU DLQ ZAMENY,TO^NO TAK VE,KAK OBY^NAQ M-x
query-replace-regexp.oNA I]ET O^ENX POHOVE NA M-x tags-search,NO S POWTORAMI,
OBRABATYWAQ SOWPADENIQ SOGLASNO WA[EMU WWODU.sM.rAZDEL 12.7 [zAMENA],S.95,BOLEE
[email protected] [email protected] O ZAMENE S PODTWERVDENIEM.
mOVNO PROJTI PO WSEM FAJLAM W TABLICE TEGOW S POMO][email protected] EDISTWENNOGO WYZOWA M-x
tags-query-replace.nO INOGDA BYWAET POLEZNO WREMENNO WYJTI,^TO WY MOVETE SDELATX
S POMO][email protected] [email protected] SOBYTIQ WWODA,NE [email protected]]EGO OSOBOGO SMYSLA PRI ZAMENE S PODTWERVDE-
NIEM.wY MOVETE WPOSLEDSTWII WOZOBNOWITX ZAMENU S PODTWERVDENIEM,NABRAW M-,;\TA
KOMANDA WOZOBNOWLQET [email protected]@ [email protected] WAMI KOMANDU POISKA ILI ZAMENY TEGOW.
kOMANDY\TOGO RAZDELA PRIWODQT K GORAZDO BOLEE [IROKOMU POISKU,^EM SEMEJSTWO
find-tag.kOMANDY find-tag I]UT TOLXKO OPREDELENIQ TEGOW,[email protected]]IH S WA[EJ
PODSTROKOJ ILI REGULQRNYM WYRAVENIEM.kOMANDY tags-search I tags-query-replace
NAHODQT KAVDOE WHOVDENIE REGULQRNOGO WYRAVENIQ,KAK [email protected]T W TEKU]EM BUFERE OBY^-
NYE KOMANDY POISKA I ZAMENY.
|TI KOMANDY [email protected] BUFERY TOLXKO WREMENNO,DLQ FAJLOW,W KOTORYH ONI DOLVNY
DELATX POISK (DLQ TEH,K KOTORYM UVE NE OBRA]AETSQ KAKOJ-NIBUDX BUFER Emacs).bUFERY,
W KOTORYH NET SOWPADENIJ,BYSTRO UNI^[email protected];OSTALXNYE [email protected] SU]ESTWOWATX.
wAS,WOZMOVNO,PORAZILO,^TO tags-search O^ENX POHOVA NA grep.wY MOVETE TAKVE
ZAPUSTITX SAMU grep KAK POD^[email protected] Emacs,I Emacs POKAVET WAM [email protected]]IE STROKI
ODNU ZA DRUGOJ.|TO RABOTAET WO MNOGOM POHOVE NA ZAPUSK KOMPILQCII;OBRA]ENIE K
TEM POZICIQM W ISHODNYH FAJLAH,GDE grep NA[LA SOWPADENIQ,RABOTAET KAK OBRA]ENIE K
O[IBKAM KOMPILQCII.sM.rAZDEL 23.1 [kOMPILQCIQ],S.247.
22.13.6 zAPROSY K TABLICE TEGOW
M-x list-tags
h RETi FAJL hRETi
pOKAZATX SPISOK TEGOW,OPREDELENNYH W ZADANNOM FAJLE S TEKSTOM PROGRAMMY.
M-x tags-apropos h RETi regexp hRETi
pOKAZATX SPISOK WSEH TEGOW,[email protected]]IH REGULQRNOMU [email protected] regexp.
M-x list-tags S^ITYWAET IMQ ODNOGO IZ FAJLOW,OPISANNYH W WYBRANNOJ TABLICE TE-
GOW,I POKAZYWAET SPISOK WSEH TEGOW,OPREDELENNYH W\TOM FAJLE.aRGUMENT\IMQ FAJLA"
FAKTI^ESKI QWLQETSQ PROSTO STROKOJ DLQ SRAWNENIQ S IMENAMI,ZAPISANNYMI W TABLICE
TEGOW;ON S^ITYWAETSQ KAK STROKA,A NE KAK IMQ FAJLA.pO\TOMU ZAWER[ENIE I ZNA^ENIE PO
UMOL^[email protected] NEWOZMOVNY,I WY DOLVNY WWODITX IMQ FAJLA W TOM VE SAMOM WIDE,W KOTOROM
gLAWA 22:rEDAKTIROWANIE PROGRAMM 231ONO POQWLQETSQ W TABLICE TEGOW.nE [email protected]^AJTE KATALOG KAK ^ASTX IMENI FAJLA,ESLI IMQ
FAJLA,ZAPISANNOGO W TABLICE TEGOW,NE