File:  [Local Repository] / gnujdoc / emacs-20.6 / mini-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 Minibuffer, M-x, Basic, Top
   10: @c @chapter The Minibuffer
   11: @chapter ミニバッファ
   12: @c @cindex minibuffer
   13: @cindex ミニバッファ
   14: 
   15: @c   The @dfn{minibuffer} is the facility used by Emacs commands to read
   16: @c arguments more complicated than a single number.  Minibuffer arguments
   17: @c can be file names, buffer names, Lisp function names, Emacs command
   18: @c names, Lisp expressions, and many other things, depending on the command
   19: @c reading the argument.  You can use the usual Emacs editing commands in
   20: @c the minibuffer to edit the argument text.
   21: @dfn{ミニバッファ}は、単純な数よりも複雑な引数をEmacsコマンドが
   22: 読み取るために用いる機構です。
   23: ミニバッファ引数は、ファイル名、バッファ名、Lisp関数名、Emacsコマンド名、
   24: Lisp式など、引数を読み取るコマンドに応じて多種多様です。
   25: ミニバッファでは、通常のバッファと同様の編集機能を用いて
   26: 引数のテキストを編集できます。
   27: 
   28: @c @cindex prompt
   29: @cindex プロンプト
   30: @c   When the minibuffer is in use, it appears in the echo area, and the
   31: @c terminal's cursor moves there.  The beginning of the minibuffer line
   32: @c displays a @dfn{prompt} which says what kind of input you should supply and
   33: @c how it will be used.  Often this prompt is derived from the name of the
   34: @c command that the argument is for.  The prompt normally ends with a colon.
   35: ミニバッファが使われているときには、ミニバッファはエコー領域に表示されて、
   36: 端末のカーソルもエコー領域に移動します。
   37: ミニバッファの行の先頭には@dfn{プロンプト}(prompt)が表示されます。
   38: プロンプトにより、何を入力しそれがどのように使われるかを
   39: 知ることができます。
   40: プロンプトは、引数を要求しているコマンドの名前から導かれることが多いです。
   41: プロンプトは通常コロンで終ります。
   42: 
   43: @c @cindex default argument
   44: @cindex デフォルト引数
   45: @c   Sometimes a @dfn{default argument} appears in parentheses after the
   46: @c colon; it too is part of the prompt.  The default will be used as the
   47: @c argument value if you enter an empty argument (for example, just type
   48: @c @key{RET}).  For example, commands that read buffer names always show a
   49: @c default, which is the name of the buffer that will be used if you type
   50: @c just @key{RET}.
   51: コロンのあとの括弧の中に@dfn{デフォルト引数}(default argument)が
   52: 表示されることもあります。
   53: これもプロンプトの一部です。
   54: (たとえば、@key{RET}だけを打って)空の引数を入力したときには、
   55: デフォルトが引数として使われます。
   56: たとえば、バッファ名を読み取るコマンドは、つねに、デフォルトを表示しますが、
   57: それは@key{RET}だけを打ったときに使われるバッファ名です。
   58: 
   59: @c   The simplest way to enter a minibuffer argument is to type the text
   60: @c you want, terminated by @key{RET} which exits the minibuffer.  You can
   61: @c cancel the command that wants the argument, and get out of the
   62: @c minibuffer, by typing @kbd{C-g}.
   63: ミニバッファ引数を入力するもっとも簡単な方法は、
   64: 目的のテキストを入力してから、
   65: ミニバッファから抜ける@key{RET}で終えることです。
   66: @kbd{C-g}を打てば、引数を必要とするコマンドを取り消して、
   67: ミニバッファを抜けることができます。
   68: 
   69: @c   Since the minibuffer uses the screen space of the echo area, it can
   70: @c conflict with other ways Emacs customarily uses the echo area.  Here is how
   71: @c Emacs handles such conflicts:
   72: ミニバッファは画面のエコー領域を使うため、
   73: 習慣的にエコー領域を使用するEmacsの機能と衝突する可能性があります。
   74: Emacsは、そのような衝突を以下のように扱います。
   75: 
   76: @itemize @bullet
   77: @item
   78: @c If a command gets an error while you are in the minibuffer, this does
   79: @c not cancel the minibuffer.  However, the echo area is needed for the
   80: @c error message and therefore the minibuffer itself is hidden for a
   81: @c while.  It comes back after a few seconds, or as soon as you type
   82: @c anything.
   83: ミニバッファを使用中にコマンドがエラーを起こしても、
   84: ミニバッファを取り消すことはない。
   85: しかしながら、エラーメッセージを表示するためにエコー領域が必要なので、
   86: しばらくのあいだミニバッファを隠す。
   87: 数秒経過するか、何かを打つと、ただちにミニバッファを表示する。
   88: 
   89: @item
   90: @c If in the minibuffer you use a command whose purpose is to print a
   91: @c message in the echo area, such as @kbd{C-x =}, the message is printed
   92: @c normally, and the minibuffer is hidden for a while.  It comes back
   93: @c after a few seconds, or as soon as you type anything.
   94: @kbd{C-x =}のように、エコー領域にメッセージを表示するコマンドを
   95: ミニバッファで実行すると、メッセージは通常どおり表示して、
   96: しばらくのあいだミニバッファを隠す。
   97: 数秒経過するか、何かを打つと、ただちにミニバッファを表示する。
   98: 
   99: @item
  100: @c Echoing of keystrokes does not take place while the minibuffer is in
  101: @c use.
  102: ミニバッファを使用中は、キー入力をエコーしない。
  103: @end itemize
  104: 
  105: @menu
  106: * File: Minibuffer File.  Entering file names with the minibuffer.
  107: * Edit: Minibuffer Edit.  How to edit in the minibuffer.
  108: * Completion::		  An abbreviation facility for minibuffer input.
  109: * Minibuffer History::    Reusing recent minibuffer arguments.
  110: * Repetition::		  Re-executing commands that used the minibuffer.
  111: @end menu
  112: 
  113: @node Minibuffer File, Minibuffer Edit, , Minibuffer
  114: @c @section Minibuffers for File Names
  115: @section ファイル名入力用のミニバッファ
  116: 
  117: @c   Sometimes the minibuffer starts out with text in it.  For example, when
  118: @c you are supposed to give a file name, the minibuffer starts out containing
  119: @c the @dfn{default directory}, which ends with a slash.  This is to inform
  120: @c you which directory the file will be found in if you do not specify a
  121: @c directory.
  122: 最初からテキストを伴って始まるミニバッファもあります。
  123: たとえば、ファイル名を指定しなければならない場合、
  124: ミニバッファはスラッシュで終る@dfn{デフォルトディレクトリ}
  125: (default directory)を含んでいます。
  126: これにより、ディレクトリを指定しなくても、
  127: どのディレクトリからファイルを探すかわかります。
  128: 
  129: @c Separate paragraph to clean up ugly pagebreak--rms
  130: @need 1500
  131: @c   For example, the minibuffer might start out with these contents:
  132: たとえば、ミニバッファがつぎのような内容で始まったとしましょう。
  133: 
  134: @example
  135: Find File: /u2/emacs/src/
  136: @end example
  137: 
  138: @noindent
  139: @c where @samp{Find File:@: } is the prompt.  Typing @kbd{buffer.c}
  140: @c specifies the file @file{/u2/emacs/src/buffer.c}.  To find files in
  141: @c nearby directories, use @kbd{..}; thus, if you type
  142: @c @kbd{../lisp/simple.el}, you will get the file named
  143: @c @file{/u2/emacs/lisp/simple.el}.  Alternatively, you can kill with
  144: @c @kbd{M-@key{DEL}} the directory names you don't want (@pxref{Words}).
  145: ここで、@samp{Find File:@: }がプロンプトです。
  146: @kbd{buffer.c}と打てば、
  147: ファイル@file{/u2/emacs/src/buffer.c}を指定したことになります。
  148: 付近のディレクトリのファイルを指定するには、@kbd{..}を使います。
  149: したがって、@kbd{../lisp/simple.el}と打てば、
  150: @file{/u2/emacs/lisp/simple.el}という名前のファイルになります。
  151: あるいは、不要なディレクトリ名であれば、
  152: @kbd{M-@key{DEL}}でキルできます(@pxref{Words})。
  153: 
  154: @c   If you don't want any of the default, you can kill it with @kbd{C-a
  155: @c C-k}.  But you don't need to kill the default; you can simply ignore it.
  156: @c Insert an absolute file name, one starting with a slash or a tilde,
  157: @c after the default directory.  For example, to specify the file
  158: @c @file{/etc/termcap}, just insert that name, giving these minibuffer
  159: @c contents:
  160: デフォルトディレクトリをまったく使いたくない場合は、
  161: @kbd{C-a C-k}と打ってキルできます。
  162: しかし、デフォルトをキルする必要はありません。
  163: 単に無視すればよいのです。
  164: スラッシュやティルダで始まる絶対ファイル名を挿入します。
  165: たとえば、ファイル@file{/etc/termcap}を指定するには、
  166: そのファイル名を挿入して、ミニバッファがつぎの内容になるようにします。
  167: 
  168: @example
  169: Find File: /u2/emacs/src//etc/termcap
  170: @end example
  171: 
  172: @noindent
  173: @c @cindex // in file name
  174: @c @cindex double slash in file name
  175: @c @cindex slashes repeated in file name
  176: @cindex ファイル名中の//
  177: @cindex ファイル名中のスラッシュ2個
  178: @cindex ファイル名中のスラッシュの繰り返し
  179: @c GNU Emacs gives a special meaning to a double slash (which is not
  180: @c normally a useful thing to write): it means, ``ignore everything before
  181: @c the second slash in the pair.''  Thus, @samp{/u2/emacs/src/} is ignored
  182: @c in the example above, and you get the file @file{/etc/termcap}.
  183: GNU Emacsでは、(普通は意味のある書き方ではない)
  184: 連続した2個のスラッシュに特別な意味を与えています。
  185: 『2番目のスラッシュよりまえの文字はすべて無視する』という意味になります。
  186: したがって、先の例では、@samp{/u2/emacs/src/}は無視され、
  187: @file{/etc/termcap}というファイル名になります。
  188: 
  189: @c   If you set @code{insert-default-directory} to @code{nil}, the default
  190: @c directory is not inserted in the minibuffer.  This way, the minibuffer
  191: @c starts out empty.  But the name you type, if relative, is still
  192: @c interpreted with respect to the same default directory.
  193: @code{insert-default-directory}に@code{nil}を設定すると、
  194: ミニバッファにはデフォルトディレクトリを挿入しません。
  195: つまり、ミニバッファは空で始まります。
  196: しかし、入力したファイル名が相対的なものであれば、
  197: 同じデフォルトディレクトリ相対に解釈されます。
  198: 
  199: @node Minibuffer Edit, Completion, Minibuffer File, Minibuffer
  200: @c @section Editing in the Minibuffer
  201: @section ミニバッファでの編集
  202: 
  203: @c   The minibuffer is an Emacs buffer (albeit a peculiar one), and the usual
  204: @c Emacs commands are available for editing the text of an argument you are
  205: @c entering.
  206: ミニバッファは(少々特殊だが)普通のEmacsバッファなので、
  207: 通常のEmacsコマンドを使って、入力中の引数のテキストを編集できます。
  208: 
  209: @c   Since @key{RET} in the minibuffer is defined to exit the minibuffer,
  210: @c you can't use it to insert a newline in the minibuffer.  To do that,
  211: @c type @kbd{C-o} or @kbd{C-q C-j}.  (Recall that a newline is really the
  212: @c character control-J.)
  213: ミニバッファでは、@key{RET}はミニバッファから抜けるように定義されているので、
  214: ミニバッファで改行を挿入するために@key{RET}を使うことはできません。
  215: 改行を挿入するには、@kbd{C-o}や@kbd{C-q C-j}とします。
  216: (改行とは実は文字「コントロールJ」。)
  217: 
  218: @c   The minibuffer has its own window which always has space on the screen
  219: @c but acts as if it were not there when the minibuffer is not in use.  When
  220: @c the minibuffer is in use, its window is just like the others; you can
  221: @c switch to another window with @kbd{C-x o}, edit text in other windows and
  222: @c perhaps even visit more files, before returning to the minibuffer to submit
  223: @c the argument.  You can kill text in another window, return to the
  224: @c minibuffer window, and then yank the text to use it in the argument.
  225: @c @xref{Windows}.
  226: ミニバッファには独自のウィンドウがあり、
  227: そのウィンドウは画面上の場所を占有しています。
  228: しかし、ミニバッファが使われていないときには、
  229: あたかも何もないかのようにふるまいます。
  230: ミニバッファが使われているときは、
  231: そのウィンドウは他のウィンドウと同様になります。
  232: ミニバッファで引数を入力し終えるまでは、
  233: @kbd{C-x o}で他のウィンドウに切り替えて、
  234: そこでテキストを編集したり他のファイルを訪問したりもできます。
  235: 他のウィンドウでテキストをキルしてから、
  236: ミニバッファウィンドウに戻ってそのテキストを
  237: ヤンクして引数として使うこともできます。
  238: @xref{Windows}。
  239: 
  240: @findex resize-minibuffer-mode
  241: @c @cindex Resize-Minibuffer mode
  242: @c @cindex mode, Resize-Minibuffer
  243: @c @cindex height of minibuffer
  244: @c @cindex size of minibuffer
  245: @c @cindex growing minibuffer
  246: @cindex ミニバッファリサイズモード(Resize-Minibuffer mode)
  247: @cindex モード、Resize-Minibuffer
  248: @cindex ミニバッファの高さ
  249: @cindex ミニバッファのサイズ
  250: @cindex ミニバッファの拡大
  251: @c   There are some restrictions on the use of the minibuffer window,
  252: @c however.  You cannot switch buffers in it---the minibuffer and its
  253: @c window are permanently attached.  Also, you cannot split or kill the
  254: @c minibuffer window.  But you can make it taller in the normal fashion
  255: @c with @kbd{C-x ^}.  If you enable Resize-Minibuffer mode, then the
  256: @c minibuffer window expands vertically as necessary to hold the text that
  257: @c you put in the minibuffer.  Use @kbd{M-x resize-minibuffer-mode} to
  258: @c enable or disable this minor mode (@pxref{Minor Modes}).
  259: しかし、ミニバッファウィンドウの使用にはいくつかの制限があります。
  260: ミニバッファウィンドウではバッファを切り替えられません。
  261: ミニバッファとそのウィンドウは恒久的に結び付いています。
  262: また、ミニバッファウィンドウを分割したり消去したりすることもできません。
  263: しかし、@kbd{C-x ^}を使う通常の方法で、
  264: ウィンドウの高さを大きくすることは可能です。
  265: ミニバッファリサイズ(resize-minibuffer)モードをオンにしておくと、
  266: ミニバッファに入力したテキストを表示するのに必要なだけ、
  267: ミニバッファウィンドウは縦に広がります。
  268: @kbd{M-x resize-minibuffer-mode}を使って、
  269: このマイナモードをオン/オフします(@pxref{Minor Modes})。
  270: 
  271: @vindex minibuffer-scroll-overlap
  272: @c   Scrolling works specially in the minibuffer window.  When the
  273: @c minibuffer is just one line high, and it contains a long line of text
  274: @c that won't fit on the screen, scrolling automatically maintains an
  275: @c overlap of a certain number of characters from one continuation line to
  276: @c the next.  The variable @code{minibuffer-scroll-overlap} specifies how
  277: @c many characters of overlap; the default is 20.
  278: ミニバッファウィンドウではスクロールは特殊な動きをします。
  279: ミニバッファがちょうど1行分の高さで、
  280: 画面に収まらないほど長い1行のテキストが入っているときには、
  281: スクロールするときに継続行のあいだでは何文字かを自動的に重複して表示します。
  282: 変数@code{minibuffer-scroll-overlap}で、重複させる文字数を指定します。
  283: デフォルトは20です。
  284: 
  285: @c   If while in the minibuffer you issue a command that displays help text
  286: @c of any sort in another window, you can use the @kbd{C-M-v} command while
  287: @c in the minibuffer to scroll the help text.  This lasts until you exit
  288: @c the minibuffer.  This feature is especially useful if a completing
  289: @c minibuffer gives you a list of possible completions.  @xref{Other Window}.
  290: ミニバッファの中で別のウィンドウにある種のヘルプテキストを
  291: 表示するようなコマンドを実行したときには、
  292: @kbd{C-M-v}を使って
  293: ミニバッファの中からヘルプテキストをスクロールできます。
  294: これは、ミニバッファを抜けるまで有効です。
  295: この機能は、補完をしているミニバッファが、
  296: 補完候補を別のウィンドウに表示するような場合に特に便利です。
  297: @xref{Other Window}。
  298: 
  299: @vindex enable-recursive-minibuffers
  300: @c   Emacs normally disallows most commands that use the minibuffer while
  301: @c the minibuffer is active.  This rule is to prevent recursive minibuffers
  302: @c from confusing novice users.  If you want to be able to use such
  303: @c commands in the minibuffer, set the variable
  304: @c @code{enable-recursive-minibuffers} to a non-@code{nil} value.
  305: Emacsでは、通常、ミニバッファを使っている最中には、
  306: ミニバッファを用いるコマンドの多くを実行できないようにしています。
  307: これは、再帰的なミニバッファの使用で初心者が混乱するのを避けるためです。
  308: このようなコマンドをミニバッファから利用できるようにするには、
  309: 変数@code{enable-recursive-minibuffers}に@code{nil}以外を設定します。
  310: 
  311: @node Completion, Minibuffer History, Minibuffer Edit, Minibuffer
  312: @c @section Completion
  313: @section 補完
  314: @c @cindex completion
  315: @cindex 補完
  316: 
  317: @c   For certain kinds of arguments, you can use @dfn{completion} to enter
  318: @c the argument value.  Completion means that you type part of the
  319: @c argument, then Emacs visibly fills in the rest, or as much as
  320: @c can be determined from the part you have typed.
  321: ある種の引数では、引数の値の入力に@dfn{補完}(completion)を利用できます。
  322: 補完とは、引数の一部分を打つと、Emacsがその残りの部分をすべて、
  323: あるいは既存の入力部分から決定可能な限り残りの部分を補う機能です。
  324: 
  325: @c   When completion is available, certain keys---@key{TAB}, @key{RET}, and
  326: @c @key{SPC}---are rebound to complete the text present in the minibuffer
  327: @c into a longer string that it stands for, by matching it against a set of
  328: @c @dfn{completion alternatives} provided by the command reading the
  329: @c argument.  @kbd{?} is defined to display a list of possible completions
  330: @c of what you have inserted.
  331: 補完を使えるときには、@key{TAB}、@key{RET}、@key{SPC}の各キーは、
  332: ミニバッファ内の既存のテキストをそれを含むより長い文字列に
  333: 補完するように再定義してあります。
  334: 補完は、引数を読み取るコマンドが用意した
  335: @dfn{補完候補}群(completion alternatives)に対して
  336: 入力されたテキストとの一致をとることで行われます。
  337: @kbd{?}キーは、入力から補完可能な候補一覧を表示するように定義してあります。
  338: 
  339: @c   For example, when @kbd{M-x} uses the minibuffer to read the name of a
  340: @c command, it provides a list of all available Emacs command names to
  341: @c complete against.  The completion keys match the text in the minibuffer
  342: @c against all the command names, find any additional name characters
  343: @c implied by the ones already present in the minibuffer, and add those
  344: @c characters to the ones you have given.  This is what makes it possible
  345: @c to type @kbd{M-x ins @key{SPC} b @key{RET}} instead of @kbd{M-x
  346: @c insert-buffer @key{RET}} (for example).
  347: たとえば、@kbd{M-x}がコマンド名を読み取るためにミニバッファを使っている場合、
  348: @kbd{M-x}は、補完に備えて、
  349: 使用可能なすべてのEmacsコマンド名の一覧を用意します。
  350: 補完キーは、ミニバッファ内のテキストをすべてのコマンド名に照らし合わせて、
  351: ミニバッファの既存の名前から導かれる名前の追加文字列を探し出して、
  352: その文字列をそれまでに入力してあるテキストに付け加えます。
  353: これにより、@kbd{M-x insert-buffer @key{RET}}と打つかわりに、
  354: @kbd{M-x ins @key{SPC} b @key{RET}}と打つことが可能になるのです。
  355: 
  356: @c   Case is normally significant in completion, because it is significant
  357: @c in most of the names that you can complete (buffer names, file names and
  358: @c command names).  Thus, @samp{fo} does not complete to @samp{Foo}.
  359: @c Completion does ignore case distinctions for certain arguments in which
  360: @c case does not matter.
  361: 補完では、大文字小文字を区別します。
  362: というのは、補完対象となる名前(バッファ名、ファイル名、コマンド名)の
  363: ほとんどでは、大文字小文字を区別しているからです。
  364: したがって、@samp{fo}を、@samp{Foo}とは補完しません。
  365: 大文字小文字を区別しない引数に対しては、補完も両者を区別しません。
  366: 
  367: @menu
  368: * Example: Completion Example.
  369: * Commands: Completion Commands.
  370: * Strict Completion::
  371: * Options: Completion Options.
  372: @end menu
  373: 
  374: @node Completion Example, Completion Commands, , Completion
  375: @c @subsection Completion Example
  376: @subsection 補完の例
  377: 
  378: @c @kindex TAB @r{(completion)}
  379: @kindex TAB @r{(補完)}
  380: @findex minibuffer-complete
  381: @c   A concrete example may help here.  If you type @kbd{M-x au @key{TAB}},
  382: @c the @key{TAB} looks for alternatives (in this case, command names) that
  383: @c start with @samp{au}.  There are several, including
  384: @c @code{auto-fill-mode} and @code{auto-save-mode}---but they are all the
  385: @c same as far as @code{auto-}, so the @samp{au} in the minibuffer changes
  386: @c to @samp{auto-}.@refill
  387: 具体的な例で考えてみましょう。
  388: @kbd{M-x au @key{TAB}}と打つと、
  389: @key{TAB}は@samp{au}で始まる候補(この場合はコマンド名)を探します。
  390: @samp{au}で始まるものには、@code{auto-fill-mode}と@code{auto-save-mode}を
  391: 含めていくつかありますが、どれも少なくとも@code{auto-}までは同じです。
  392: そこで、ミニバッファ内の@samp{au}は@samp{auto-}に変わります。
  393: 
  394: @c   If you type @key{TAB} again immediately, there are multiple
  395: @c possibilities for the very next character---it could be any of
  396: @c @samp{cfilrs}---so no more characters are added; instead, @key{TAB}
  397: @c displays a list of all possible completions in another window.
  398: ここでただちに@key{TAB}をもう一度打っても、
  399: つぎにくる文字の候補が複数、つまり、@samp{cfilrs}のどれかなので、
  400: さらに文字が追加されることはありません。
  401: そのかわり、@key{TAB}は補完候補の一覧を別のウィンドウに表示します。
  402: 
  403: @c   If you go on to type @kbd{f @key{TAB}}, this @key{TAB} sees
  404: @c @samp{auto-f}.  The only command name starting this way is
  405: @c @code{auto-fill-mode}, so completion fills in the rest of that.  You now
  406: @c have @samp{auto-fill-mode} in the minibuffer after typing just @kbd{au
  407: @c @key{TAB} f @key{TAB}}.  Note that @key{TAB} has this effect because in
  408: @c the minibuffer it is bound to the command @code{minibuffer-complete}
  409: @c when completion is available.
  410: 続けて@kbd{f @key{TAB}}と打つと、
  411: 今度の@key{TAB}は文字列@samp{auto-f}を探します。
  412: @samp{auto-f}から始まるコマンド名は@code{auto-fill-mode}だけなので、
  413: 補完は残りの部分を補います。
  414: これで、@kbd{au @key{TAB} f @key{TAB}}と打つだけで、
  415: ミニバッファには@samp{auto-fill-mode}が入ります。
  416: @key{TAB}キーがこのような効果を持つのは、
  417: このキーがミニバッファ内ではコマンド@code{minibuffer-complete}に
  418: バインドしてあるからだということに注意してください。
  419: 
  420: @node Completion Commands, Strict Completion, Completion Example, Completion
  421: @c @subsection Completion Commands
  422: @subsection 補完コマンド
  423: 
  424: @c   Here is a list of the completion commands defined in the minibuffer
  425: @c when completion is available.
  426: 補完を使えるミニバッファでは、
  427: つぎのような補完コマンドを定義してあります。
  428: 
  429: @table @kbd
  430: @item @key{TAB}
  431: @c Complete the text in the minibuffer as much as possible
  432: @c (@code{minibuffer-complete}).
  433: ミニバッファのテキストを可能な限り補完する(@code{minibuffer-complete})。
  434: @item @key{SPC}
  435: @c Complete the minibuffer text, but don't go beyond one word
  436: @c (@code{minibuffer-complete-word}).
  437: ミニバッファのテキストを1語だけ補完する(@code{minibuffer-complete-word})。
  438: @item @key{RET}
  439: @c Submit the text in the minibuffer as the argument, possibly completing
  440: @c first as described below (@code{minibuffer-complete-and-exit}).
  441: 可能な限り補完したあと、ミニバッファのテキストを引数として渡す
  442: (@code{minibuffer-complete-and-exit})。
  443: @item ?
  444: @c Print a list of all possible completions of the text in the minibuffer
  445: @c (@code{minibuffer-list-completions}).
  446: ミニバッファのテキストから補完可能な候補の一覧を表示する
  447: (@code{minibuffer-list-completions})。
  448: @end table
  449: 
  450: @kindex SPC
  451: @findex minibuffer-complete-word
  452: @c   @key{SPC} completes much like @key{TAB}, but never goes beyond the
  453: @c next hyphen or space.  If you have @samp{auto-f} in the minibuffer and
  454: @c type @key{SPC}, it finds that the completion is @samp{auto-fill-mode},
  455: @c but it stops completing after @samp{fill-}.  This gives
  456: @c @samp{auto-fill-}.  Another @key{SPC} at this point completes all the
  457: @c way to @samp{auto-fill-mode}.  @key{SPC} in the minibuffer when
  458: @c completion is available runs the command
  459: @c @code{minibuffer-complete-word}.
  460: @key{SPC}は@key{TAB}とほぼ同じように補完しますが、
  461: つぎのハイフンや空白を超えて補完することはありません。
  462: ミニバッファの文字が@samp{auto-f}であるとしましょう。
  463: ここで@key{SPC}を打つと、@key{SPC}は@samp{auto-fill-mode}に補完できることを
  464: 探しだしますが、@samp{fill-}までで補完を止めます。
  465: その結果、@samp{auto-fill-}となります。
  466: ここでもう一度@key{SPC}を打つと、
  467: 今度は@samp{auto-fill-mode}まで完全に補完します。
  468: 補完を行えるミニバッファ内では、@key{SPC}は
  469: コマンド@code{minibuffer-complete-word}を実行します。
  470: 
  471: @c   Here are some commands you can use to choose a completion from a
  472: @c window that displays a list of completions:
  473: 補完候補一覧を表示しているウィンドウから補完を選ぶには、
  474: つぎのコマンドを使えます。
  475: 
  476: @table @kbd
  477: @findex mouse-choose-completion
  478: @item Mouse-2
  479: @c Clicking mouse button 2 on a completion in the list of possible
  480: @c completions chooses that completion (@code{mouse-choose-completion}).
  481: @c You normally use this command while point is in the minibuffer; but you
  482: @c must click in the list of completions, not in the minibuffer itself.
  483: 補完候補一覧の候補上でマウスボタン2をクリックすると、
  484: その補完を選択する(@code{mouse-choose-completion})。
  485: 通常は、ポイントがミニバッファ内にあるときにこのコマンドを使うだろうが、
  486: ミニバッファではなく候補一覧でクリックする必要がある。
  487: 
  488: @findex switch-to-completions
  489: @item @key{PRIOR}
  490: @itemx M-v
  491: @c Typing @key{PRIOR} or @key{PAGE-UP}, or @kbd{M-v}, while in the
  492: @c minibuffer, selects the window showing the completion list buffer
  493: @c (@code{switch-to-completions}).  This paves the way for using the
  494: @c commands below.  (Selecting that window in the usual ways has the same
  495: @c effect, but this way is more convenient.)
  496: ミニバッファで、@key{PRIOR}、@key{PAGE-UP}、@kbd{M-v}のいずれかを打つと、
  497: 補完候補一覧のバッファを表示しているウィンドウを選択できる
  498: (@code{switch-to-completions})。
  499: この機能は、以下のコマンドの利用を簡単にする。
  500: (通常の方法でもそのウィンドウを選択できるが、この方法のほうが便利であろう。)
  501: 
  502: @findex choose-completion
  503: @item @key{RET}
  504: @c Typing @key{RET} @emph{in the completion list buffer} chooses the
  505: @c completion that point is in or next to (@code{choose-completion}).  To
  506: @c use this command, you must first switch windows to the window that shows
  507: @c the list of completions.
  508: @emph{補完候補一覧のバッファで}@key{RET}を打つと、
  509: ポイント位置にある補完かポイントに続く補完を選択する
  510: (@code{choose-completion})。
  511: このコマンドを使う場合、
  512: 補完候補一覧を表示しているウィンドウにまず移動する必要がある。
  513: 
  514: @findex next-completion
  515: @item @key{RIGHT}
  516: @c Typing the right-arrow key @key{RIGHT} @emph{in the completion list
  517: @c buffer} moves point to the following completion (@code{next-completion}).
  518: @emph{補完候補一覧のバッファで}右向き矢印キー@key{RIGHT}を打つと、
  519: ポイントはつぎの補完候補に移動する(@code{next-completion})。
  520: 
  521: @findex previous-completion
  522: @item @key{LEFT}
  523: @c Typing the left-arrow key @key{LEFT} @emph{in the completion list
  524: @c buffer} moves point toward the beginning of the buffer, to the previous
  525: @c completion (@code{previous-completion}).
  526: @emph{補完候補一覧のバッファで}左向き矢印キー@key{LEFT}を打つと、
  527: ポイントはまえの補完候補に移動する(@code{previous-completion})。
  528: @end table
  529: 
  530: @node Strict Completion, Completion Options, Completion Commands, Completion
  531: @c @subsection Strict Completion
  532: @subsection 強い補完
  533: 
  534: @c   There are three different ways that @key{RET} can work in completing
  535: @c minibuffers, depending on how the argument will be used.
  536: ミニバッファでの補完において、
  537: @key{RET}は引数の使われ方に依存して3種類の異なる動作を示します。
  538: 
  539: @itemize @bullet
  540: @item
  541: @c @dfn{Strict} completion is used when it is meaningless to give any
  542: @c argument except one of the known alternatives.  For example, when
  543: @c @kbd{C-x k} reads the name of a buffer to kill, it is meaningless to
  544: @c give anything but the name of an existing buffer.  In strict
  545: @c completion, @key{RET} refuses to exit if the text in the minibuffer
  546: @c does not complete to an exact match.
  547: @dfn{強い}補完(strict completion)は、
  548: 既知の補完候補以外を引数に与えると意味がない場合に使われる。
  549: たとえば、@kbd{C-x k}が削除するバッファ名を読み取るとき、
  550: 既存のバッファ名以外を与えても意味がない。
  551: 強い補完では、ミニバッファのテキストを補完して
  552: 候補の1つに完全に一致しないと@key{RET}で終了できない。
  553: 
  554: @item
  555: @c @dfn{Cautious} completion is similar to strict completion, except that
  556: @c @key{RET} exits only if the text was an exact match already, not
  557: @c needing completion.  If the text is not an exact match, @key{RET} does
  558: @c not exit, but it does complete the text.  If it completes to an exact
  559: @c match, a second @key{RET} will exit.
  560: @dfn{慎重な}補完(cautious completion)は、強い補完に似ているが、
  561: テキストがすでに完全に一致していて補完の必要がない場合にのみ、
  562: @key{RET}で終了できる点が異なる。
  563: テキストが完全に一致していない場合は、
  564: @key{RET}は終了せずにテキストを補完する。
  565: 完全に一致すれば、2度目の@key{RET}で終了できる。
  566: 
  567: @c Cautious completion is used for reading file names for files that must
  568: @c already exist.
  569: 慎重な補完は、既存でなければならない
  570: ファイルの名前を読み取るような場合に使われる。
  571: 
  572: @item
  573: @c @dfn{Permissive} completion is used when any string whatever is
  574: @c meaningful, and the list of completion alternatives is just a guide.
  575: @c For example, when @kbd{C-x C-f} reads the name of a file to visit, any
  576: @c file name is allowed, in case you want to create a file.  In
  577: @c permissive completion, @key{RET} takes the text in the minibuffer
  578: @c exactly as given, without completing it.
  579: @dfn{弱い}補完(permissive completion)は、
  580: どんな文字列でも意味を持つような場合に使われ、
  581: 補完候補一覧は単なる目安でしかない。
  582: たとえば、@kbd{C-x C-f}が訪問するファイル名を読み取るとき、
  583: 新規作成ならばどんなファイル名でも許される。
  584: 弱い補完では、@key{RET}はミニバッファのテキストを補完することなく、
  585: そのまま受理する。
  586: @end itemize
  587: 
  588: @c   The completion commands display a list of all possible completions in
  589: @c a window whenever there is more than one possibility for the very next
  590: @c character.  Also, typing @kbd{?} explicitly requests such a list.  If
  591: @c the list of completions is long, you can scroll it with @kbd{C-M-v}
  592: @c (@pxref{Other Window}).
  593: 補完コマンドは、つぎにくる文字として複数の可能性がある場合、
  594: 補完可能な全候補一覧をウィンドウに表示します。
  595: また、@kbd{?}と打てば、このような一覧を表示できます。
  596: 補完候補一覧が長いときには、
  597: @kbd{C-M-v}でスクロールできます(@pxref{Other Window})。
  598: 
  599: @node Completion Options,  , Strict Completion, Completion
  600: @c @subsection Completion Options
  601: @subsection 補完のオプション
  602: 
  603: @vindex completion-ignored-extensions
  604: @c   When completion is done on file names, certain file names are usually
  605: @c ignored.  The variable @code{completion-ignored-extensions} contains a
  606: @c list of strings; a file whose name ends in any of those strings is
  607: @c ignored as a possible completion.  The standard value of this variable
  608: @c has several elements including @code{".o"}, @code{".elc"}, @code{".dvi"}
  609: @c and @code{"~"}.  The effect is that, for example, @samp{foo} can
  610: @c complete to @samp{foo.c} even though @samp{foo.o} exists as well.
  611: @c However, if @emph{all} the possible completions end in ``ignored''
  612: @c strings, then they are not ignored.  Ignored extensions do not apply to
  613: @c lists of completions---those always mention all possible completions.
  614: ファイル名の補完を行う場面では、ある種のファイル名を通常無視します。
  615: 変数@code{completion-ignored-extensions}は、文字列のリストを保持します。
  616: これらの文字列の1つで終る名前のファイルは、補完候補としては無視します。
  617: この変数の標準値には、@code{".o"}、@code{".elc"}、@code{".dvi"}、
  618: @code{"~"}が含まれます。
  619: この効果は、たとえば、@samp{foo}は、@samp{foo.o}が存在したとしても、
  620: @samp{foo.c}に補完されます。
  621: ただし、補完候補の@emph{すべて}が無視すべき文字列で終るものである場合には、
  622: これらの候補を無視しません。
  623: 無視した拡張子を持つものが補完候補一覧に入ることはありません。
  624: 一覧にはつねに補完可能な候補のすべてを表示します。
  625: 
  626: @vindex completion-auto-help
  627: @c   Normally, a completion command that finds the next character is undetermined
  628: @c automatically displays a list of all possible completions.  If the variable
  629: @c @code{completion-auto-help} is set to @code{nil}, this does not happen,
  630: @c and you must type @kbd{?} to display the possible completions.
  631: 通常、補完コマンドは、つぎにくる文字を自動的に決定できない場合には、
  632: すべての補完候補一覧を表示します。
  633: 変数@code{completion-auto-help}に@code{nil}が設定されていると、
  634: 一覧を表示しません。
  635: 補完候補を表示するには、@kbd{?}を打つ必要があります。
  636: 
  637: @pindex complete
  638: @c   The @code{complete} library implements a more powerful kind of
  639: @c completion that can complete multiple words at a time.  For example, it
  640: @c can complete the command name abbreviation @code{p-b} into
  641: @c @code{print-buffer}, because no other command starts with two words
  642: @c whose initials are @samp{p} and @samp{b}.  To use this library, put
  643: @c @code{(load "complete")} in your @file{~/.emacs} file (@pxref{Init
  644: @c File}).
  645: @code{complete}ライブラリは、
  646: 一度に複数の単語を補完できる、より強力な補完機能を提供します。
  647: たとえば、@code{p-b}と省略されたコマンド名を
  648: @code{print-buffer}と補完できます。
  649: というのは、頭文字が@samp{p}と@samp{b}である2つの単語で
  650: 始まるコマンドが他にはないからです。
  651: このライブラリを使うには、個人の@file{~/.emacs}ファイルに
  652: @code{(load "complete")}を入れておきます(@pxref{Init File})。
  653: 
  654: @c @cindex Icomplete mode
  655: @cindex 補完示唆モード(Icomplete mode)
  656: @cindex モード、Icomplete
  657: @c   Icomplete mode presents a constantly-updated display that tells you
  658: @c what completions are available for the text you've entered so far.  The
  659: @c command to enable or disable this minor mode is @kbd{M-x
  660: @c icomplete-mode}.
  661: 補完示唆(icomplete)モードでは、
  662: それまでに入力したテキストから補完できるものを常時更新して表示します。
  663: このマイナモードをオン/オフするコマンドは@kbd{M-x icomplete-mode}です。
  664: 
  665: @node Minibuffer History, Repetition, Completion, Minibuffer
  666: @c @section Minibuffer History
  667: @section ミニバッファ履歴
  668: @c @cindex minibuffer history
  669: @c @cindex history of minibuffer input
  670: @cindex ミニバッファ履歴
  671: @cindex ミニバッファ入力履歴
  672: @cindex 履歴、ミニバッファ入力
  673: 
  674: @c   Every argument that you enter with the minibuffer is saved on a
  675: @c @dfn{minibuffer history list} so that you can use it again later in
  676: @c another argument.  Special commands load the text of an earlier argument
  677: @c in the minibuffer.  They discard the old minibuffer contents, so you can
  678: @c think of them as moving through the history of previous arguments.
  679: ミニバッファで入力した引数はすべて@dfn{ミニバッファ履歴リスト}
  680: (minibuffer history list)に保存され、
  681: あとで別の引数中で使うことができます。
  682: 特別のコマンドで、以前に使った引数のテキストをミニバッファに入れます。
  683: これらは、ミニバッファの古い内容を破棄するので、
  684: 過去の引数の履歴の中を動き廻っていると考えることができます。
  685: 
  686: @table @kbd
  687: @item @key{UP}
  688: @itemx M-p
  689: @c Move to the next earlier argument string saved in the minibuffer history
  690: @c (@code{previous-history-element}).
  691: ミニバッファ履歴中の1つまえ(古い)の引数文字列に移動する
  692: (@code{previous-history-element})。
  693: @item @key{DOWN}
  694: @itemx M-n
  695: @c Move to the next later argument string saved in the minibuffer history
  696: @c (@code{next-history-element}).
  697: ミニバッファ履歴中の1つつぎ(新しい)の引数文字列に移動する
  698: (@code{next-history-element})。
  699: @item M-r @var{regexp} @key{RET}
  700: @c Move to an earlier saved argument in the minibuffer history that has a
  701: @c match for @var{regexp} (@code{previous-matching-history-element}).
  702: ミニバッファ履歴中の引数文字列を古いほうへ遡って
  703: @var{regexp}に一致するものに移動する
  704: (@code{previous-matching-history-element})。
  705: @item M-s @var{regexp} @key{RET}
  706: @c Move to a later saved argument in the minibuffer history that has a
  707: @c match for @var{regexp} (@code{next-matching-history-element}).
  708: ミニバッファ履歴中の引数文字列を新しいほうへ辿って
  709: @var{regexp}に一致するものに移動する
  710: (@code{next-matching-history-element})。
  711: @end table
  712: 
  713: @c @kindex M-p @r{(minibuffer history)}
  714: @c @kindex M-n @r{(minibuffer history)}
  715: @kindex M-p @r{(ミニバッファ履歴)}
  716: @kindex M-n @r{(ミニバッファ履歴)}
  717: @findex next-history-element
  718: @findex previous-history-element
  719: @c   The simplest way to reuse the saved arguments in the history list is
  720: @c to move through the history list one element at a time.  While in the
  721: @c minibuffer, use @kbd{M-p} or up-arrow (@code{previous-history-element})
  722: @c to ``move to'' the next earlier minibuffer input, and use @kbd{M-n} or
  723: @c down-arrow (@code{next-history-element}) to ``move to'' the next later
  724: @c input.
  725: 履歴リストに保存されている引数を再利用するもっとも簡単な方法は、
  726: 履歴リストの中を1つ1つ移動していくことです。
  727: ミニバッファの中では、1つまえ(古い)のミニバッファの入力内容に
  728: 『移動する』には@kbd{M-p}(@code{previous-history-element})を、
  729: 1つあと(新しい)の入力内容に移動するには
  730: @kbd{M-n}(@code{next-history-element})を打ちます。
  731: 
  732: @c   The previous input that you fetch from the history entirely replaces
  733: @c the contents of the minibuffer.  To use it as the argument, exit the
  734: @c minibuffer as usual with @key{RET}.  You can also edit the text before
  735: @c you reuse it; this does not change the history element that you
  736: @c ``moved'' to, but your new argument does go at the end of the history
  737: @c list in its own right.
  738: ミニバッファの内容は、履歴から持ってきた以前の入力内容で完全に
  739: 置き換えられます。
  740: この内容を引数として使うには、
  741: 通常と同じように@key{RET}でミニバッファを抜けます。
  742: 引数として再使用するまえに、テキストを編集してもかまいません。
  743: 編集してもミニバッファに『持ってきた』履歴のもともとの要素は変更されません。
  744: ただし、当然、新しい引数は履歴リストの最後に追加されます。
  745: 
  746: @c   For many minibuffer arguments there is a ``default'' value.  In some
  747: @c cases, the minibuffer history commands know the default value.  Then you
  748: @c can insert the default value into the minibuffer as text by using
  749: @c @kbd{M-n} to move ``into the future'' in the history.  Eventually we
  750: @c hope to make this feature available whenever the minibuffer has a
  751: @c default value.
  752: 多くのミニバッファ引数には、デフォルト値があります。
  753: ミニバッファ履歴操作コマンドが、
  754: これらのデフォルト値を知っている場合もあります。
  755: その場合、@kbd{M-n}で履歴中の『未来』へ移動する
  756: @footnote{【訳注】履歴として残っている文字列データの
  757: 最後尾よりさらに先に移動すること。}
  758: ことで、このデフォルト値をテキストとしてミニバッファに挿入できます。
  759: 将来的には、ミニバッファにデフォルト値がある場合には、
  760: つねにこの機能を利用できるようにしたいと考えています。
  761: 
  762: @findex previous-matching-history-element
  763: @findex next-matching-history-element
  764: @c @kindex M-r @r{(minibuffer history)}
  765: @c @kindex M-s @r{(minibuffer history)}
  766: @kindex M-r @r{(ミニバッファ履歴)}
  767: @kindex M-s @r{(ミニバッファ履歴)}
  768: @c   There are also commands to search forward or backward through the
  769: @c history; they search for history elements that match a regular
  770: @c expression that you specify with the minibuffer.  @kbd{M-r}
  771: @c (@code{previous-matching-history-element}) searches older elements in
  772: @c the history, while @kbd{M-s} (@code{next-matching-history-element})
  773: @c searches newer elements.  By special dispensation, these commands can
  774: @c use the minibuffer to read their arguments even though you are already
  775: @c in the minibuffer when you issue them.  As with incremental searching,
  776: @c an uppercase letter in the regular expression makes the search
  777: @c case-sensitive (@pxref{Search Case}).
  778: 履歴の中を前向きや後向きに探索するコマンドもあります。
  779: これらのコマンドは、ミニバッファで指定した正規表現に
  780: 一致する履歴要素を探索します。
  781: @kbd{M-r}(@code{previous-matching-history-element})は、
  782: 履歴のより古い要素を探します。
  783: 一方、@kbd{M-s}(@code{next-matching-history-element})は、
  784: より新しい要素を探します。
  785: 特例なのですが、
  786: これらのコマンドは、コマンドを呼び出す時点で
  787: すでにミニバッファに入っているにも関わらず、
  788: ミニバッファから引数を読み取ります。
  789: インクリメンタルサーチの場合と同様に、
  790: 正規表現に大文字を使うと、大文字小文字を区別して探索します
  791: (@pxref{Search Case})。
  792: 
  793: @ignore
  794:   We may change the precise way these commands read their arguments.
  795: Perhaps they will search for a match for the string given so far in the
  796: minibuffer; perhaps they will search for a literal match rather than a
  797: regular expression match; perhaps they will only accept matches at the
  798: beginning of a history element; perhaps they will read the string to
  799: search for incrementally like @kbd{C-s}.  To find out what interface is
  800: actually available, type @kbd{C-h f previous-matching-history-element}.
  801: @end ignore
  802: 
  803: @c   All uses of the minibuffer record your input on a history list, but
  804: @c there are separate history lists for different kinds of arguments.  For
  805: @c example, there is a list for file names, used by all the commands that
  806: @c read file names.  (As a special feature, this history list records
  807: @c the absolute file name, no more and no less, even if that is not how
  808: @c you entered the file name.)
  809: ミニバッファを使えば入力は必ず履歴リストに記録されますが、
  810: 引数の種類ごとに別々の履歴リストがあります。
  811: たとえば、ファイル名に関する履歴リストは、
  812: ファイル名を読み取るすべてのコマンドで使われます。
  813: (特別な機能として、この履歴リストには、
  814: 絶対ファイル名を入力しなくても絶対ファイル名が記録される。)
  815: 
  816: @c   There are several other very specific history lists, including one for
  817: @c command names read by @kbd{M-x}, one for buffer names, one for arguments
  818: @c of commands like @code{query-replace}, and one for compilation commands
  819: @c read by @code{compile}.  Finally, there is one ``miscellaneous'' history
  820: @c list that most minibuffer arguments use.
  821: 特定目的用の履歴リストがいくつかあります。
  822: @kbd{M-x}が読むコマンド名用、バッファ名用、
  823: @code{query-replace}のようなコマンドの引数用、
  824: @code{compile}が読むコンパイルコマンド用などです。
  825: さらに、ほとんどのミニバッファ引数が利用する
  826: 『その他』の履歴リストも1つあります。
  827: 
  828: @vindex history-length
  829: @c   The variable @code{history-length} specifies the maximum length of a
  830: @c minibuffer history list; once a list gets that long, the oldest element
  831: @c is deleted each time an element is added.  If the value of
  832: @c @code{history-length} is @code{t}, though, there is no maximum length
  833: @c and elements are never deleted.
  834: 変数@code{history-length}は、ミニバッファ履歴リストの最大長を指定します。
  835: 履歴リストが設定された長さに達すると、
  836: そのあとは、新しい要素を追加するたびに最古の要素を削除します。
  837: ただし、変数@code{history-length}の値が@code{t}であると、
  838: 長さの制限はなくなり要素を削除しません。
  839: 
  840: @node Repetition,  , Minibuffer History, Minibuffer
  841: @c @section Repeating Minibuffer Commands
  842: @section ミニバッファコマンドの繰り返し
  843: @c @cindex command history
  844: @c @cindex history of commands
  845: @cindex コマンド履歴
  846: @cindex 履歴、コマンド
  847: 
  848: @c   Every command that uses the minibuffer at least once is recorded on a
  849: @c special history list, together with the values of its arguments, so that
  850: @c you can repeat the entire command.  In particular, every use of
  851: @c @kbd{M-x} is recorded there, since @kbd{M-x} uses the minibuffer to read
  852: @c the command name.
  853: ミニバッファを少なくとも1回使ったコマンドは、
  854: その引数の値とともにすべて特別な履歴リストに記録されますから、
  855: コマンド全体を繰り返すことができます。
  856: 特に、@kbd{M-x}はコマンド名を読み取るためにミニバッファを使うので、
  857: 必ず履歴に記録されます。
  858: 
  859: @findex list-command-history
  860: @c widecommands
  861: @table @kbd
  862: @item C-x @key{ESC} @key{ESC}
  863: @c Re-execute a recent minibuffer command (@code{repeat-complex-command}).
  864: 最近のミニバッファコマンドを再実行する(@code{repeat-complex-command})。
  865: @item M-x list-command-history
  866: @c Display the entire command history, showing all the commands
  867: @c @kbd{C-x @key{ESC} @key{ESC}} can repeat, most recent first.
  868: @kbd{C-x @key{ESC} @key{ESC}}で繰り返せるすべてのコマンドを
  869: 新しいものから順に並べたコマンド履歴全体を表示する。
  870: @end table
  871: 
  872: @kindex C-x ESC ESC
  873: @findex repeat-complex-command
  874: @c   @kbd{C-x @key{ESC} @key{ESC}} is used to re-execute a recent
  875: @c minibuffer-using command.  With no argument, it repeats the last such
  876: @c command.  A numeric argument specifies which command to repeat; one
  877: @c means the last one, and larger numbers specify earlier ones.
  878: @kbd{C-x @key{ESC} @key{ESC}}は、
  879: ミニバッファを利用した最近のコマンドを再度実行します。
  880: 引数を指定しなければ、そのような最後のコマンドを繰り返します。
  881: 数引数は、どのコマンドを繰り返すかを指定します。
  882: 1は最後のコマンドを指し、大きい数ほどより以前のコマンドを指します。
  883: 
  884: @c   @kbd{C-x @key{ESC} @key{ESC}} works by turning the previous command
  885: @c into a Lisp expression and then entering a minibuffer initialized with
  886: @c the text for that expression.  If you type just @key{RET}, the command
  887: @c is repeated as before.  You can also change the command by editing the
  888: @c Lisp expression.  Whatever expression you finally submit is what will be
  889: @c executed.  The repeated command is added to the front of the command
  890: @c history unless it is identical to the most recently executed command
  891: @c already there.
  892: @kbd{C-x @key{ESC} @key{ESC}}は、過去のコマンドをLisp式に変換し、
  893: その式のテキストで初期化したミニバッファに入ります。
  894: @key{RET}だけを打てば、コマンドは以前とまったく同様に繰り返されます。
  895: Lisp式を編集してコマンドを変更してもかまいません。
  896: 最終的な式が何であれ、その式を実行します。
  897: 繰り返したコマンドは、
  898: 履歴リスト内に既存の最後に実行したコマンドと同一でない限り、
  899: コマンド履歴の先頭に追加されます。
  900: 
  901: @c   Even if you don't understand Lisp syntax, it will probably be obvious
  902: @c which command is displayed for repetition.  If you do not change the
  903: @c text, it will repeat exactly as before.
  904: Lisp構文が理解できないとしても、
  905: 繰り返しのためにどのコマンドが表示されたか、たぶんわかるでしょう。
  906: テキストを変更しなければ、以前とまったく同じに繰り返されます。
  907: 
  908: @c   Once inside the minibuffer for @kbd{C-x @key{ESC} @key{ESC}}, you can
  909: @c use the minibuffer history commands (@kbd{M-p}, @kbd{M-n}, @kbd{M-r},
  910: @c @kbd{M-s}; @pxref{Minibuffer History}) to move through the history list
  911: @c of saved entire commands.  After finding the desired previous command,
  912: @c you can edit its expression as usual and then resubmit it by typing
  913: @c @key{RET} as usual.
  914: @kbd{C-x @key{ESC} @key{ESC}}でいったんミニバッファに入ってしまえば、
  915: ミニバッファ履歴リストコマンド
  916: (@kbd{M-p}、@kbd{M-n}、@kbd{M-r}、@kbd{M-s}、@pxref{Minibuffer History})
  917: を使って、保存されたすべてのコマンドの履歴リストの中を動き廻れます。
  918: 目的のコマンドを捜しあてたら、通常の方法でその式を編集できますし、
  919: これも通常と同じように@key{RET}を打てば実行できます。
  920: 
  921: @vindex command-history
  922: @c   The list of previous minibuffer-using commands is stored as a Lisp
  923: @c list in the variable @code{command-history}.  Each element is a Lisp
  924: @c expression which describes one command and its arguments.  Lisp programs
  925: @c can re-execute a command by calling @code{eval} with the
  926: @c @code{command-history} element.
  927: ミニバッファを使った過去のコマンド一覧は、
  928: Lispのリストとして変数@code{command-history}に格納されます。
  929: 各要素はそれぞれ1つのコマンドとその引数を表すLisp式です。
  930: Lispプログラムからは、
  931: @code{command-history}の要素を引数として
  932: @code{eval}を呼べばコマンドを再実行できます。

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