File:  [Local Repository] / gnujdoc / emacs-20.6 / mark-ja.texi
Revision 1.1: download - view: text, annotated - select for diffs
Wed Apr 26 06:42:34 2000 UTC (20 years, 6 months ago) by hayashi
Branches: MAIN
CVS tags: HEAD
New files

    1: @c =============================================================
    2: @c = 元 翻 訳: 高汐一紀@電気通信大学
    3: @c = 加筆修正: 大木敦雄@大塚.筑波大学 = 1998/11/25
    4: @c = 20.4改訂: 大木敦雄@大塚.筑波大学 = 1999/09/12
    5: @c =============================================================
    6: @c This is part of the Emacs manual.
    7: @c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
    8: @c See file emacs.texi for copying conditions.
    9: @node Mark, Killing, Help, Top
   10: @c @chapter The Mark and the Region
   11: @chapter マークとリージョン
   12: @c @cindex mark
   13: @c @cindex setting a mark
   14: @c @cindex region
   15: @cindex マーク
   16: @cindex マークの設定
   17: @cindex リージョン
   18: 
   19: @c   Many Emacs commands operate on an arbitrary contiguous part of the
   20: @c current buffer.  To specify the text for such a command to operate on,
   21: @c you set @dfn{the mark} at one end of it, and move point to the other
   22: @c end.  The text between point and the mark is called @dfn{the region}.
   23: @c Emacs highlights the region whenever there is one, if you enable
   24: @c Transient Mark mode (@pxref{Transient Mark}).
   25: Emacsの数多くのコマンドは、カレントバッファの任意の連続領域を操作します。
   26: このようなコマンドに操作対象となるテキストを指定するには、
   27: その一方の端に@dfn{マーク}(mark)を置き、
   28: もう一方の端にポイントを移動します。
   29: ポイントとマークに挟まれたテキストを@dfn{リージョン}(region)と呼びます。
   30: 暫定マーク(transient-mark)モードをオンにすると、
   31: リージョンが存在すれば
   32: Emacsはつねにそのリージョンを強調表示します
   33: (@pxref{Transient Mark})。
   34: 
   35: @c   You can move point or the mark to adjust the boundaries of the region.
   36: @c It doesn't matter which one is set first chronologically, or which one
   37: @c comes earlier in the text.  Once the mark has been set, it remains where
   38: @c you put it until you set it again at another place.  Each Emacs buffer
   39: @c has its own mark, so that when you return to a buffer that had been
   40: @c selected previously, it has the same mark it had before.
   41: リージョンの境界を調整するには、ポイントやマークを移動します。
   42: 時間的にどちらを先に設定したとか、
   43: テキスト内でどちらが先にあるかとかは関係ありません。
   44: いったんマークを設定すると、他の箇所に再設定するまで、
   45: その位置情報はそのまま変わりません。
   46: 各Emacsバッファには個別にマークがありますから、
   47: 以前に選択したバッファへ戻ったときには、
   48: 以前と同じままのマークが残っています。
   49: 
   50: @c   Many commands that insert text, such as @kbd{C-y} (@code{yank}) and
   51: @c @kbd{M-x insert-buffer}, position point and the mark at opposite ends of
   52: @c the inserted text, so that the region contains the text just inserted.
   53: @kbd{C-y}(@code{yank})や@kbd{M-x insert-buffer}などのテキストを
   54: 挿入するコマンドの多くは、挿入したテキストの両端にポイントとマークを置いて、
   55: 挿入したテキストがリージョンに含まれるようにします。
   56: 
   57: @c   Aside from delimiting the region, the mark is also useful for
   58: @c remembering a spot that you may want to go back to.  To make this
   59: @c feature more useful, each buffer remembers 16 previous locations of the
   60: @c mark in the @dfn{mark ring}.
   61: リージョンの境界を定めること以外に、
   62: あとで戻る可能性のある箇所を覚えておくためにもマークを使えます。
   63: この機能をより使いやすくするために、
   64: 各バッファでは、それまでに設定した16個のマーク位置を
   65: @dfn{マークリング}(mark ring)に記録しています。
   66: 
   67: @menu
   68: * Setting Mark::	Commands to set the mark.
   69: * Transient Mark::	How to make Emacs highlight the region--
   70: 			  when there is one.
   71: * Using Region::	Summary of ways to operate on contents of the region.
   72: * Marking Objects::	Commands to put region around textual units.
   73: * Mark Ring::   	Previous mark positions saved so you can go back there.
   74: * Global Mark Ring::    Previous mark positions in various buffers.
   75: @end menu
   76: 
   77: @node Setting Mark, Transient Mark, , Mark
   78: @c @section Setting the Mark
   79: @section マークを設定する
   80: 
   81: @c   Here are some commands for setting the mark:
   82: マークを設定するコマンドはつぎのとおりです。
   83: 
   84: @c WideCommands
   85: @table @kbd
   86: @item C-@key{SPC}
   87: @c Set the mark where point is (@code{set-mark-command}).
   88: ポイント位置にマークを置く(@code{set-mark-command})。
   89: @item C-@@
   90: @c The same.
   91: 上と同様。
   92: @item C-x C-x
   93: @c Interchange mark and point (@code{exchange-point-and-mark}).
   94: マークとポイントを入れ換える(@code{exchange-point-and-mark})。
   95: @item Drag-Mouse-1
   96: @c Set point and the mark around the text you drag across.
   97: ドラッグしたテキストの周囲にポイントとマークを設定する。
   98: @item Mouse-3
   99: @c Set the mark where point is, then move point to where you click
  100: @c (@code{mouse-save-then-kill}).
  101: ポイント位置にマークを設定し、クリックした箇所にポイントを移動する
  102: (@code{mouse-save-then-kill})。
  103: @end table
  104: 
  105: @c   For example, suppose you wish to convert part of the buffer to
  106: @c upper case, using the @kbd{C-x C-u} (@code{upcase-region}) command,
  107: @c which operates on the text in the region.  You can first go to the
  108: @c beginning of the text to be capitalized, type @kbd{C-@key{SPC}} to put
  109: @c the mark there, move to the end, and then type @kbd{C-x C-u}.  Or, you
  110: @c can set the mark at the end of the text, move to the beginning, and then
  111: @c type @kbd{C-x C-u}.
  112: たとえば、コマンド@kbd{C-x C-u}(@code{upcase-region})を使って、
  113: バッファのある部分をすべて大文字に変換したいとしましょう。
  114: このコマンドは、リージョン中のテキストに作用します。
  115: まず、大文字に変換したいテキストの先頭に移動し、
  116: @kbd{C-@key{SPC}}と打ってマークを設定します。
  117: 続いてテキストの終端に移動して@kbd{C-x C-u}と打ちます。
  118: あるいは、先にテキストの終端にマークを設定して、
  119: テキストの始点に移動してから@kbd{C-x C-u}と打ちます。
  120: 
  121: @kindex C-SPC
  122: @findex set-mark-command
  123: @c   The most common way to set the mark is with the @kbd{C-@key{SPC}} command
  124: @c (@code{set-mark-command}).  This sets the mark where point is.  Then you
  125: @c can move point away, leaving the mark behind.
  126: マークを設定するもっとも一般的な方法は、
  127: @kbd{C-@key{SPC}}コマンド(@code{set-mark-command})を使うことです。
  128: このコマンドは、ポイント位置にマークを設定します。
  129: そうすれば、マークを置いたままで、ポイントを移動できます。
  130: 
  131: @c   There are two ways to set the mark with the mouse.  You can drag mouse
  132: @c button one across a range of text; that puts point where you release the
  133: @c mouse button, and sets the mark at the other end of that range.  Or you
  134: @c can click mouse button three, which sets the mark at point (like
  135: @c @kbd{C-@key{SPC}}) and then moves point (like @kbd{Mouse-1}).  Both of
  136: @c these methods copy the region into the kill ring in addition to setting
  137: @c the mark; that gives behavior consistent with other window-driven
  138: @c applications, but if you don't want to modify the kill ring, you must
  139: @c use keyboard commands to set the mark.  @xref{Mouse Commands}.
  140: マウスを使ったマークの設定方法は2つあります。
  141: テキストのある範囲でマウスボタン1をドラッグします。
  142: マウスボタンを離した位置にポイントが置かれ、
  143: ドラッグを開始した箇所にマークが設定されます。
  144: あるいは、マウスボタン3をクリックします。
  145: これは(@kbd{C-@key{SPC}}と同様に)ポイント位置にマークを設定してから、
  146: ポイントを(@kbd{Mouse-1}のように)移動します。
  147: 両者は、マークを設定するだけでなく、リージョンをキルリングにコピーします。
  148: これは、他のウィンドウアプリケーションの動作と一貫性を持たせるためです。
  149: キルリングを変更したくなければ、
  150: キーボードコマンドを使ってマークを設定する必要があります。
  151: @xref{Mouse Commands}。
  152: 
  153: @kindex C-x C-x
  154: @findex exchange-point-and-mark
  155: @c   Ordinary terminals have only one cursor, so there is no way for Emacs
  156: @c to show you where the mark is located.  You have to remember.  The usual
  157: @c solution to this problem is to set the mark and then use it soon, before
  158: @c you forget where it is.  Alternatively, you can see where the mark is
  159: @c with the command @kbd{C-x C-x} (@code{exchange-point-and-mark}) which
  160: @c puts the mark where point was and point where the mark was.  The extent
  161: @c of the region is unchanged, but the cursor and point are now at the
  162: @c previous position of the mark.  In Transient Mark mode, this command
  163: @c reactivates the mark.
  164: 普通の端末にはカーソルは1つしかありませんから、
  165: Emacsにはマークを置いた位置を表示する術はありません。
  166: ユーザーがその位置を覚えておく必要があります。
  167: この問題に対する通常の解決方法は、マークを設定したら、
  168: 忘れてしまうまえにただちにそれを利用することです。
  169: あるいは、@kbd{C-x C-x}(@code{exchange-point-and-mark})コマンドを使って、
  170: マーク位置を確認します。
  171: このコマンドは、ポイント位置にマークを置き、
  172: マークのあった位置にポイントを置きます。
  173: リージョンの範囲は変わらずに、
  174: カーソルとポイントは以前マークのあった箇所に移動します。
  175: 暫定マーク(transient-mark)モードでは、
  176: このコマンドはマークを再度活性にします。
  177: 
  178: @c   @kbd{C-x C-x} is also useful when you are satisfied with the position
  179: @c of point but want to move the other end of the region (where the mark
  180: @c is); do @kbd{C-x C-x} to put point at that end of the region, and then
  181: @c move it.  A second use of @kbd{C-x C-x}, if necessary, puts the mark at
  182: @c the new position with point back at its original position.
  183: ポイント位置を変えずに、
  184: リージョンのもう一方の端(マークの位置)を移動させたい場合にも、
  185: @kbd{C-x C-x}は便利な方法です。
  186: まず、@kbd{C-x C-x}でポイントをリージョンの一方の端に移して、
  187: その端を移動します。
  188: 必要ならば、もう1度@kbd{C-x C-x}を使って新しい位置にマークを置き、
  189: ポイントをもとの位置に戻します。
  190: 
  191: @kindex C-@@
  192: @c   There is no such character as @kbd{C-@key{SPC}} in ASCII; when you
  193: @c type @key{SPC} while holding down @key{CTRL}, what you get on most
  194: @c ordinary terminals is the character @kbd{C-@@}.  This key is actually
  195: @c bound to @code{set-mark-command}.  But unless you are unlucky enough to
  196: @c have a terminal where typing @kbd{C-@key{SPC}} does not produce
  197: @c @kbd{C-@@}, you might as well think of this character as
  198: @c @kbd{C-@key{SPC}}.  Under X, @kbd{C-@key{SPC}} is actually a distinct
  199: @c character, but its binding is still @code{set-mark-command}.
  200: ASCIIには、@kbd{C-@key{SPC}}という文字は存在しません。
  201: @key{CTRL}を押し下げながら@key{SPC}を打つと、
  202: ほとんどの普通の端末では文字@kbd{C-@@}になります。
  203: このキーは、実際に@code{set-mark-command}にバインドしてあります。
  204: ただし、幸運にも@kbd{C-@key{SPC}}で@kbd{C-@@}を送出する端末を
  205: 使っているのであれば、
  206: @kbd{C-@@}を@kbd{C-@key{SPC}}とみなしてかまいません。
  207: Xウィンドウシステムでは、@kbd{C-@key{SPC}}は実際には
  208: 別の文字として認識されますが、
  209: そのバインドはやはり@code{set-mark-command}です。
  210: 
  211: @node Transient Mark, Using Region, Setting Mark, Mark
  212: @c @section Transient Mark Mode
  213: @section 暫定マークモード(transient-markモード)
  214: @c @cindex mode, Transient Mark
  215: @c @cindex Transient Mark mode
  216: @c @cindex highlighting region
  217: @c @cindex region highlighting
  218: @cindex モード、Transient Mark
  219: @cindex 暫定マークモード(Transient Mark mode)
  220: @cindex 強調表示、リージョン
  221: @cindex リージョンの強調表示
  222: 
  223: @c   Emacs can highlight the current region, using X Windows.  But normally
  224: @c it does not.  Why not?
  225: Xウィンドウシステムを使っているのであれば、
  226: Emacsはカレントリージョンを強調表示できます。
  227: ただし、通常はリージョンを強調表示しません。
  228: なぜでしょうか?
  229: 
  230: @c   Highlighting the region doesn't work well ordinarily in Emacs, because
  231: @c once you have set a mark, there is @emph{always} a region (in that
  232: @c buffer).  And highlighting the region all the time would be a nuisance.
  233: 実は、もともとのEmacsではリージョンの強調表示をうまくできないのです。
  234: いったんマークを設定してしまうと、
  235: そのバッファ内には@emph{つねに}リージョンが存在することになるからです。
  236: リージョンを強調表示し続けても迷惑なだけでしょう。
  237: 
  238: @c   You can turn on region highlighting by enabling Transient Mark mode.
  239: @c This is a more rigid mode of operation in which the region ``lasts''
  240: @c only temporarily, so you must set up a region for each command that uses
  241: @c one.  In Transient Mark mode, most of the time there is no region;
  242: @c therefore, highlighting the region when it exists is convenient.
  243: 暫定マーク(transient-mark)モードをオンにすると、
  244: リージョンの強調表示機能をオンにできます。
  245: 暫定マーク(transient-mark)モードは、
  246: リージョンが一時的にしか『存続』しない、
  247: 通常よりきびしい操作モードです。
  248: ユーザーは、リージョンを使うコマンドごとにリージョンを設定する必要があります。
  249: 暫定マーク(transient-mark)モードでは、
  250: ほとんどの期間、リージョンは存在しません。
  251: それゆえ、リージョンが存在するときにリージョンを強調表示しても
  252: 邪魔になりません。
  253: 
  254: @findex transient-mark-mode
  255: @c   To enable Transient Mark mode, type @kbd{M-x transient-mark-mode}.
  256: @c This command toggles the mode, so you can repeat the command to turn off
  257: @c the mode.
  258: 暫定マーク(transient-mark)モードをオンにするには、
  259: @kbd{M-x transient-mark-mode}と打ちます。
  260: このコマンドはモードのオン/オフを切り替えますから、
  261: モードをオフにしたいときにはコマンドをもう1度繰り返します。
  262: 
  263: @c   Here are the details of Transient Mark mode:
  264: 暫定マーク(transient-mark)モードの詳細を以下に示します。
  265: 
  266: @itemize @bullet
  267: @item
  268: @c To set the mark, type @kbd{C-@key{SPC}} (@code{set-mark-command}).
  269: @c This makes the mark active; as you move point, you will see the region
  270: @c highlighting grow and shrink.
  271: マークを設定するには、@kbd{C-@key{SPC}}(@code{set-mark-command})と打つ。
  272: この操作はマークを活性にする。
  273: ポイントを移動するたびに、
  274: 強調表示されたリージョンが広がったり狭まったりする。
  275: 
  276: @item 
  277: @c The mouse commands for specifying the mark also make it active.  So do
  278: @c keyboard commands whose purpose is to specify a region, including
  279: @c @kbd{M-@@}, @kbd{C-M-@@}, @kbd{M-h}, @kbd{C-M-h}, @kbd{C-x C-p}, and
  280: @c @kbd{C-x h}.
  281: マークを設定するマウスコマンドも、マークを活性にする。
  282: @kbd{M-@@}、@kbd{C-M-@@}、@kbd{M-h}、@kbd{C-M-h}、
  283: @kbd{C-x C-p}、@kbd{C-x h}などのリージョンを設定するための
  284: キーボードコマンドもマークを活性にする。
  285: 
  286: @item
  287: @c When the mark is active, you can execute commands that operate on the
  288: @c region, such as killing, indenting, or writing to a file.
  289: マークが活性ならば、キル、字下げ、ファイルへの書き出しなどの
  290: リージョンを操作するコマンドを実行できる。
  291: 
  292: @item
  293: @c Any change to the buffer, such as inserting or deleting a character,
  294: @c deactivates the mark.  This means any subsequent command that operates
  295: @c on a region will get an error and refuse to operate.  You can make the
  296: @c region active again by typing @kbd{C-x C-x}.
  297: 文字の挿入や削除といったバッファに対する変更は、マークを不活性にする。
  298: つまり、これ以降にリージョンを操作するコマンドを実行するとエラーとなり、
  299: 実行は拒否される。
  300: リージョンを再度活性にするには、@kbd{C-x C-x}と打つ。
  301: 
  302: @item
  303: @c Commands like @kbd{M->} and @kbd{C-s} that ``leave the mark behind'' in
  304: @c addition to some other primary purpose do not activate the new mark.
  305: @c You can activate the new region by executing @kbd{C-x C-x}
  306: @c (@code{exchange-point-and-mark}).
  307: @kbd{M->}や@kbd{C-s}のような、本来の目的を達成したあとに『マークを残す』
  308: 種類のコマンドは、新しいマークを活性にしない。
  309: このような新しいリージョンを活性にするには、
  310: @kbd{C-x C-x}(@code{exchange-point-and-mark})を実行する。
  311: 
  312: @item
  313: @c @kbd{C-s} when the mark is active does not alter the mark.
  314: マークが活性であるときには、@kbd{C-s}はマークを変更しない。
  315: 
  316: @item
  317: @c Quitting with @kbd{C-g} deactivates the mark.
  318: @kbd{C-g}で中断すると、マークを不活性にする。
  319: @end itemize
  320: 
  321: @c   Highlighting of the region uses the @code{region} face; you can
  322: @c customize how the region is highlighted by changing this face.
  323: @c @xref{Face Customization}.
  324: リージョンの強調表示には、@code{region}フェイスを使います。
  325: このフェイスを変更すれば、リージョンの強調表示方法をカスタマイズできます。
  326: 
  327: @vindex highlight-nonselected-windows
  328: @c   When multiple windows show the same buffer, they can have different
  329: @c regions, because they can have different values of point (though they
  330: @c all share one common mark position).  Ordinarily, only the selected
  331: @c window highlights its region (@pxref{Windows}).  However, if the
  332: @c variable @code{highlight-nonselected-windows} is non-@code{nil}, then
  333: @c each window highlights its own region (provided that Transient Mark mode
  334: @c is enabled and the window's buffer's mark is active).
  335: 複数のウィンドウで同じバッファを表示しているときには、
  336: それぞれのウィンドウで別の部分を表示できます。
  337: というのは、(マーク位置は共有されるが)
  338: 各ウィンドウごとに別々にポイントの値があるからです。
  339: 通常、選択されたウィンドウでのみ、
  340: リージョンを強調表示します(@pxref{Windows})。
  341: しかし、変数@code{highlight-nonselected-windows}に@code{nil}以外を設定すると、
  342: (暫定マーク(transient-mark)モードがオンであり、かつ、
  343: ウィンドウのバッファのマークが活性である場合に限り)
  344: 各ウィンドウでそれぞれのリージョンを強調表示します。
  345: 
  346: @c   When Transient Mark mode is not enabled, every command that sets the
  347: @c mark also activates it, and nothing ever deactivates it.
  348: 暫定マーク(transient-mark)モードがオフであると、
  349: マークを設定するすべてのコマンドはマークを活性にし、
  350: マークを不活性にするものは何もありません。
  351: 
  352: @vindex mark-even-if-inactive
  353: @c   If the variable @code{mark-even-if-inactive} is non-@code{nil} in
  354: @c Transient Mark mode, then commands can use the mark and the region
  355: @c even when it is inactive.  Region highlighting appears and disappears 
  356: @c just as it normally does in Transient Mark mode, but the mark doesn't
  357: @c really go away when the highlighting disappears.
  358: 暫定マーク(transient-mark)モードにおいて、
  359: 変数@code{mark-even-if-inactive}が@code{nil}以外であると、
  360: マークが不活性であってもコマンドはマークやリージョンを利用できます。
  361: 通常の暫定マーク(transient-mark)モードと同様に、
  362: リージョンが強調表示されたりされなかったりしますが、
  363: 強調表示されていなくてもマークが本当になくなることはありません。
  364: 
  365: @c @cindex Zmacs mode
  366: @cindex zmacsモード
  367: @c   Transient Mark mode is also sometimes known as ``Zmacs mode''
  368: @c because the Zmacs editor on the MIT Lisp Machine handled the mark in a
  369: @c similar way.
  370: 暫定マーク(transient-mark)モードは『zmacsモード』としても知られています。
  371: というのも、MITのLispマシン上で動作していたZmacsエディタが
  372: 同じようにマークを扱っていたからです。
  373: 
  374: @node Using Region, Marking Objects, Transient Mark, Mark
  375: @c @section Operating on the Region
  376: @section リージョンに対する操作
  377: 
  378: @c @cindex operations on a marked region
  379: @cindex マーク付けしたリージョンに対する操作
  380: @c   Once you have a region and the mark is active, here are some of the
  381: @c ways you can operate on the region:
  382: いったんリージョンを設定しマークを活性にすれば、
  383: 以下のようにリージョンを操作できます。
  384: 
  385: @itemize @bullet
  386: @item
  387: @c Kill it with @kbd{C-w} (@pxref{Killing}).
  388: @kbd{C-w}コマンドでキルする(@pxref{Killing})。
  389: @item
  390: @c Save it in a register with @kbd{C-x r s} (@pxref{Registers}).
  391: @kbd{C-x r s}でレジスタに保存する(@pxref{Registers})。
  392: @item
  393: @c Save it in a buffer or a file (@pxref{Accumulating Text}).
  394: バッファやファイルに保存する(@pxref{Accumulating Text})。
  395: @item
  396: @c Convert case with @kbd{C-x C-l} or @kbd{C-x C-u} (@pxref{Case}).
  397: @kbd{C-x C-l}や@kbd{C-x C-u}で大文字小文字を変換する(@pxref{Case})。
  398: @item
  399: @c Indent it with @kbd{C-x @key{TAB}} or @kbd{C-M-\} (@pxref{Indentation}).
  400: @kbd{C-x @key{TAB}}や@kbd{C-M-\}で字下げする(@pxref{Indentation})。
  401: @item
  402: @c Fill it as text with @kbd{M-x fill-region} (@pxref{Filling}).
  403: @kbd{M-x fill-region}でテキストを詰め込む(@pxref{Filling})。
  404: @item
  405: @c Print hardcopy with @kbd{M-x print-region} (@pxref{Hardcopy}).
  406: @kbd{M-x print-region}でハードコピーを印刷する(@pxref{Hardcopy})。
  407: @item
  408: @c Evaluate it as Lisp code with @kbd{M-x eval-region} (@pxref{Lisp Eval}).
  409: @kbd{M-x eval-region}でLispコードとして評価する(@pxref{Lisp Eval})。
  410: @end itemize
  411: 
  412: @c   Most commands that operate on the text in the
  413: @c region have the word @code{region} in their names.
  414: リージョン内のテキストを操作するコマンドの多くは、
  415: その名前に@code{region}という単語を含みます。
  416: 
  417: @node Marking Objects, Mark Ring, Using Region, Mark
  418: @c @section Commands to Mark Textual Objects
  419: @section テキストオブジェクトをマークするコマンド
  420: 
  421: @c @cindex marking sections of text
  422: @cindex テキストの一部をマーク付けする
  423: @c   Here are the commands for placing point and the mark around a textual
  424: @c object such as a word, list, paragraph or page.
  425: 単語、リスト、段落、ページといったテキストのまとまりに
  426: ポイントやマークを置くコマンドがあります。
  427: 
  428: @table @kbd
  429: @item M-@@
  430: @c Set mark after end of next word (@code{mark-word}).  This command and
  431: @c the following one do not move point.
  432: つぎの語の末尾にマークを設定する(@code{mark-word})。
  433: このコマンドとつぎのコマンドはポイントを移動しない。
  434: @item C-M-@@
  435: @c Set mark after end of next Lisp expression (@code{mark-sexp}).
  436: つぎのLisp式の末尾にマークを設定する(@code{mark-sexp})。
  437: @item M-h
  438: @c Put region around current paragraph (@code{mark-paragraph}).
  439: 現在の段落を囲むリージョンを設定する(@code{mark-paragraph})。
  440: @item C-M-h
  441: @c Put region around current Lisp defun (@code{mark-defun}).
  442: 現在のLisp関数定義(defun)を囲むリージョンを設定する(@code{mark-defun})。
  443: @item C-x h
  444: @c Put region around entire buffer (@code{mark-whole-buffer}).
  445: バッファ全体をリージョンとする(@code{mark-whole-buffer})。
  446: @item C-x C-p
  447: @c Put region around current page (@code{mark-page}).
  448: 現在のページを囲むリージョンを設定する(@code{mark-page})。
  449: @end table
  450: 
  451: @c @kbd{M-@@} (@code{mark-word}) puts the mark at the end of the next word,
  452: @c while @kbd{C-M-@@} (@code{mark-sexp}) puts it at the end of the next Lisp
  453: @c expression.  These commands handle arguments just like @kbd{M-f} and
  454: @c @kbd{C-M-f}.
  455: @kbd{M-@@}(@code{mark-word})がつぎの語の末尾にマークを設定するのに対し、
  456: @kbd{C-M-@@}(@code{mark-sexp})はつぎのLisp式の末尾にマークを設定します。
  457: これらのコマンドは、@kbd{M-f}や@kbd{C-M-f}と同様に引数を扱います。
  458: 
  459: @kindex C-x h
  460: @findex mark-whole-buffer
  461: @c    Other commands set both point and mark, to delimit an object in the
  462: @c buffer.  For example, @kbd{M-h} (@code{mark-paragraph}) moves point to
  463: @c the beginning of the paragraph that surrounds or follows point, and puts
  464: @c the mark at the end of that paragraph (@pxref{Paragraphs}).  It prepares
  465: @c the region so you can indent, case-convert, or kill a whole paragraph.
  466: その他のコマンドは、ポイントとマークの両方を設定して、
  467: バッファ内で対象物を区切ります。
  468: たとえば、@kbd{M-h}(@code{mark-paragraph})は、
  469: ポイントを囲むあるいはポイントに続く段落の先頭にポイントを移動し、
  470: その段落の末尾にマークを置きます(@pxref{Paragraphs})。
  471: このようにリージョンを設定するので、
  472: 段落全体を字下げしたり、大文字小文字を変換したり、キルしたりできます。
  473: 
  474: @c   @kbd{C-M-h} (@code{mark-defun}) similarly puts point before and the
  475: @c mark after the current or following defun (@pxref{Defuns}).  @kbd{C-x
  476: @c C-p} (@code{mark-page}) puts point before the current page, and mark at
  477: @c the end (@pxref{Pages}).  The mark goes after the terminating page
  478: @c delimiter (to include it), while point goes after the preceding page
  479: @c delimiter (to exclude it).  A numeric argument specifies a later page
  480: @c (if positive) or an earlier page (if negative) instead of the current
  481: @c page.
  482: @kbd{C-M-h}(@code{mark-defun})も同様に、
  483: 現在の関数定義や後続の関数定義の先頭にポイントを置き、
  484: その末尾にマークを置きます(@pxref{Defuns})。
  485: @kbd{C-x C-p}(@code{mark-page})は、
  486: 現在のページの先頭にポイントを置き、
  487: その末尾にマークを置きます(@code{mark-page})。
  488: マークはページ区切りの直後に設定され(リージョンに含まれる)、
  489: 一方、ポイントはページ区切りの直後に置かれます(リージョンに含まれない)。
  490: 数引数で、現在のページのかわりに(正ならば)後続のページや、
  491: (負ならば)先行するページを指定できます。
  492: 
  493: @c   Finally, @kbd{C-x h} (@code{mark-whole-buffer}) sets up the entire
  494: @c buffer as the region, by putting point at the beginning and the mark at
  495: @c the end.
  496: 最後に紹介する@kbd{C-x h}(@code{mark-whole-buffer})は、
  497: バッファ全体にリージョンを設定します。
  498: つまり、ポイントをバッファの先頭に置き、
  499: マークをバッファの末尾に置きます。
  500: 
  501: @c   In Transient Mark mode, all of these commands activate the mark.
  502: 暫定マーク(transient-mark)モードでは、
  503: これらのコマンドはすべて、マークを活性にします。
  504: 
  505: @node Mark Ring, Global Mark Ring, Marking Objects, Mark
  506: @c @section The Mark Ring
  507: @section マークリング
  508: 
  509: @kindex C-u C-SPC
  510: @c @cindex mark ring
  511: @cindex マークリング
  512: @kindex C-u C-@@
  513: @c   Aside from delimiting the region, the mark is also useful for
  514: @c remembering a spot that you may want to go back to.  To make this
  515: @c feature more useful, each buffer remembers 16 previous locations of the
  516: @c mark, in the @dfn{mark ring}.  Commands that set the mark also push the
  517: @c old mark onto this ring.  To return to a marked location, use @kbd{C-u
  518: @c C-@key{SPC}} (or @kbd{C-u C-@@}); this is the command
  519: @c @code{set-mark-command} given a numeric argument.  It moves point to
  520: @c where the mark was, and restores the mark from the ring of former
  521: @c marks.  Thus, repeated use of this command moves point to all of the old
  522: @c marks on the ring, one by one.  The mark positions you move through in
  523: @c this way are not lost; they go to the end of the ring.
  524: マークには、リージョンを区切る以外にも、
  525: あとで戻る可能性のある箇所を記録するという便利な使い方があります。
  526: この機能をより便利にするために、
  527: 各バッファでは以前の16箇所のマーク位置を
  528: @dfn{マークリング}(mark ring)に記録しています。
  529: マークを設定するコマンドは、古いマークをこのマークリングに入れます。
  530: マークを設定していた箇所に戻るには、
  531: @kbd{C-u C-@key{SPC}}(または@kbd{C-u C-@@})を使います。
  532: これは、@code{set-mark-command}コマンドに数引数を指定したものです。
  533: このコマンドは、マークがあった箇所にポイントを移動し、
  534: それ以前のマークを収めたマークリングからマークを復元します。
  535: したがって、このコマンドを繰り返すと、
  536: マークリング上にある過去のマークのすべてを1つ1つ遡って移動できます。
  537: このように辿ったマーク位置は、マークリングのうしろに付け加えられるので、
  538: なくなってしまうことはありません。
  539: 
  540: @c   Each buffer has its own mark ring.  All editing commands use the current
  541: @c buffer's mark ring.  In particular, @kbd{C-u C-@key{SPC}} always stays in
  542: @c the same buffer.
  543: 各バッファには独自のマークリングがあります。
  544: すべての編集コマンドは、カレントバッファのマークリングを使います。
  545: 特に、@kbd{C-u C-@key{SPC}}は、つねに同じバッファに留まります。
  546: 
  547: @c   Many commands that can move long distances, such as @kbd{M-<}
  548: @c (@code{beginning-of-buffer}), start by setting the mark and saving the
  549: @c old mark on the mark ring.  This is to make it easier for you to move
  550: @c back later.  Searches set the mark if they move point.  You can tell
  551: @c when a command sets the mark because it displays @samp{Mark Set} in the
  552: @c echo area.
  553: @kbd{M-<}(@code{beginning-of-buffer})のような長距離を
  554: 移動するコマンドの多くは、まずマークを設定して、
  555: 古いマークをマークリングに保存してから動作を開始します。
  556: このようにして、あとで簡単に戻れるようにしておきます。
  557: 探索コマンドは、ポイントを移動するときにはマークを設定します。
  558: コマンドがマークを設定したかどうかは、
  559: エコー領域に@samp{Mark Set}と表示されるのでわかります。
  560: 
  561: @c   If you want to move back to the same place over and over, the mark
  562: @c ring may not be convenient enough.  If so, you can record the position
  563: @c in a register for later retrieval (@pxref{RegPos}).
  564: 何度も同じ場所に戻りたい場合には、マークリングでは不十分でしょう。
  565: このような場合には、あとで使うために位置情報をレジスタに記録できます
  566: (@pxref{RegPos})。
  567: 
  568: @vindex mark-ring-max
  569: @c   The variable @code{mark-ring-max} specifies the maximum number of
  570: @c entries to keep in the mark ring.  If that many entries exist and
  571: @c another one is pushed, the last one in the list is discarded.  Repeating
  572: @c @kbd{C-u C-@key{SPC}} cycles through the positions currently in the
  573: @c ring.
  574: 変数@code{mark-ring-max}は、マークリングに保存する最大項目数を指定します。
  575: すでに多くの項目が存在していて、さらにもう1つ押し込むときには、
  576: リスト内の最古の項目を捨てます。
  577: @kbd{C-u C-@key{SPC}}を繰り返し実行すると、
  578: いまマークリングに入っている位置を巡回することになります。
  579: 
  580: @vindex mark-ring
  581: @c   The variable @code{mark-ring} holds the mark ring itself, as a list of
  582: @c marker objects, with the most recent first.  This variable is local in
  583: @c every buffer.
  584: 変数@code{mark-ring}は、最新のマーカオブジェクトを先頭にして、
  585: マーカオブジェクトのリストとしてマークリングを保持します。
  586: この変数は各バッファにローカルです。
  587: 
  588: @node Global Mark Ring,  , Mark Ring, Mark
  589: @c @section The Global Mark Ring
  590: @section グローバルマークリング
  591: @c @cindex global mark ring
  592: @cindex グローバルマークリング
  593: 
  594: @c   In addition to the ordinary mark ring that belongs to each buffer,
  595: @c Emacs has a single @dfn{global mark ring}.  It records a sequence of
  596: @c buffers in which you have recently set the mark, so you can go back
  597: @c to those buffers.
  598: 個々のバッファごとの普通のマークリングに加えて、
  599: Emacsには@dfn{グローバルマークリング}(global mark ring)が1つあります。
  600: グローバルマークリングは、最近マークを設定したバッファの系列を記録しますから、
  601: それらのバッファに戻ることができます。
  602: 
  603: @c   Setting the mark always makes an entry on the current buffer's mark
  604: @c ring.  If you have switched buffers since the previous mark setting, the
  605: @c new mark position makes an entry on the global mark ring also.  The
  606: @c result is that the global mark ring records a sequence of buffers that
  607: @c you have been in, and, for each buffer, a place where you set the mark.
  608: マークを設定すると、つねにカレントバッファのマークリングに項目を作ります。
  609: マークを設定した以降にバッファを切り替えていると、
  610: 新しくマークを設定するとグローバルマークリングにも項目を作成します。
  611: その結果、グローバルマークリングには訪れていたバッファの系列が記録され、
  612: 各バッファではマークを設定した箇所が記録されます。
  613: 
  614: @kindex C-x C-@key{SPC}
  615: @findex pop-global-mark
  616: @c   The command @kbd{C-x C-@key{SPC}} (@code{pop-global-mark}) jumps to
  617: @c the buffer and position of the latest entry in the global ring.  It also
  618: @c rotates the ring, so that successive uses of @kbd{C-x C-@key{SPC}} take
  619: @c you to earlier and earlier buffers.
  620: コマンド@kbd{C-x C-@key{SPC}}(@code{pop-global-mark})は、
  621: グローバルマークリングの最新の項目が示すバッファの位置に移動します。
  622: グローバルマークリングも巡回されるので、
  623: @kbd{C-x C-@key{SPC}}を繰り返し使用すると、
  624: 1つずつまえのバッファに移動できます。
  625: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>