emacs - GNUプロジェクト Emacsエディタ
概要
emacs [ コマンドラインオプション ] [ ファイル ... ]
説明
GNU Emacsは、オリジナルの(PDP-10)Emacsの作者であるRichard Stallmanによって作成されたEmacsのバージョンです。 GNU Emacsのユーザー機能は、他のすべてのエディタの機能を網羅しており、編集コマンドはLispで記述されているため、簡単に拡張できます。
GNU Emacsの主要なドキュメントは、GNU Emacsマニュアルで、Infoを使用してEmacs内またはスタンドアロンプログラムとして読むことができます。完全で最新のドキュメントについては、こちらを参照してください。このマニュアルページは、誰かが更新することを申し出る場合にのみ更新されます。
Emacsには、広範なインタラクティブヘルプ機能がありますが、この機能は、Emacsウィンドウとバッファを操作する方法を知っていることを前提としています。 CTRL-hまたはF1を押すと、ヘルプ機能が起動します。 ヘルプチュートリアル(CTRL-h t)は、初心者に対してEmacsの基本的な操作をすばやく教えるインタラクティブチュートリアルを開始します。 ヘルプアプロポス(CTRL-h a)は、指定されたパターンに一致する名前を持つコマンドを見つけるのに役立ち、ヘルプキー(CTRL-h k)は特定のキーシーケンスについて説明し、ヘルプ関数(CTRL-h f)は特定のLisp関数について説明します。
GNU Emacsの多くの特別なパッケージは、メールの読み取り(RMail)と送信(Mail)、アウトライン編集(Outline)、コンパイル(Compile)、Emacsウィンドウ内でサブシェルを実行(Shell)、Lisp read-eval-printループを実行(Lisp-Interaction-Mode)、自動心理療法(Doctor)など、さまざまな機能を提供します。
Emacsオプション
次のオプションは、一般的に関心のあるオプションです。
file ファイルを開いて編集します。
--file=file、--find-file=file、--visit=file
ファイル名を直接引数として指定する場合と同じです。
+番号
指定された行番号に移動します(「+」記号と番号の間にスペースを入れないでください)。これは、次のファイルにのみ適用されます。
+行:列
指定された行と列に移動します。
--chdir=ディレクトリ
ディレクトリに変更します。
-q、--no-init-file
initファイルをロードしません。
-nl、--no-shared-memory
共有メモリを使用しません。
--no-site-file
サイト全体のスタートアップファイルをロードしません。
-nsl、--no-site-lisp
サイトlispディレクトリをload-pathに追加しません。
--no-desktop
保存されたデスクトップをロードしません。
-Q、--quick
"-q --no-site-file --no-splash"と同様です。また、Xリソースの処理を回避します。
--no-splash
起動時にスプラッシュ画面を表示しません。
--debug-init
ユーザーのinitファイル(~/.emacs)の処理中にEmacs Lispデバッガーを有効にします。これは、initファイルの問題をデバッグするのに役立ちます。
-u ユーザー、--user=ユーザー
自分のinitファイルではなく、指定されたユーザーのinitファイルをロードします。
--init-directory=ディレクトリ
emacsを起動し、user-emacs-directoryをディレクトリに設定します。
-t file, --terminal=file
指定されたファイルを端末として使用し、stdin/stdout の代わりにします。これはコマンドラインで最初に指定する引数である必要があります。
--daemon[=name], --bg-daemon[=name]
Emacs をデーモンとして起動し、Emacs サーバーを有効にして端末から切断します。その後、[emacsclient(1)](emacsclient(1)) コマンドを使用してサーバーに接続できます (オプションで名前を指定)。
--fg-daemon[=name]
`--bg-daemon` と同様ですが、端末から切断しません。
--version
Emacs のバージョン情報を表示して終了します。
--help
ヘルプを表示して終了します。
次のオプションは Lisp 向けです (これらのオプションは、出現順に処理されます)。
-f function, --funcall=function
Lisp 関数 `function` を実行します。
-l file, --load=file
ファイル `file` 内の Lisp コードをロードします。
--eval=expr, --execute=expr
Lisp 式 `expr` を評価します。
次のオプションは、Emacs をバッチエディターとして実行する場合に役立ちます。
--batch
バッチモードで編集します。エディターはメッセージを stderr に送信します。`-l` および `-f` オプションを使用して、実行するファイルと呼び出す関数を指定する必要があります。
--script file
`file` を Emacs Lisp スクリプトとして実行します。
--insert=file
ファイル `file` の内容を現在のバッファーに挿入します。
--kill
バッチモードで Emacs を終了します。
-L dir, --directory=dir
`dir` を、Emacs が Lisp ファイルを検索するディレクトリのリストに追加します。
Emacs と X の使用
Emacs は、X Window System で適切に動作するように調整されています。X ウィンドウの下で Emacs を実行すると、Emacs は独自の X ウィンドウを作成して表示します。通常、エディターをバックグラウンドプロセスとして起動して、元のウィンドウを使い続けたいでしょう。
Emacs は、次の X スイッチで起動できます。
--name=name
初期 Emacs ウィンドウに割り当てる名前を指定します。これは、X リソースの検索とウィンドウのタイトルを制御します。
--no-x-resources
X リソースをロードしません。
-T name, --title=name
初期 X ウィンドウのタイトルを指定します。
-r, -rv, --reverse-video
Emacs ウィンドウを反転ビデオで表示します。
-fn font, --font=font
Emacs ウィンドウのフォントを、`font` で指定されたフォントに設定します。さまざまな X フォントは、`/usr/lib/X11/fonts` ディレクトリにあります。Emacs は固定幅フォントのみを受け入れます。X11 Release 4 フォント命名規則では、フォント名の 11 番目のフィールドの値が "m" または "c" であるフォントは固定幅フォントです。さらに、`widthxheight` の形式のフォント名は一般的に固定幅であり、`fixed` フォントも同様です。詳細については、`xlsfonts(1)` を参照してください。
フォントを指定する場合は、スイッチとフォント名の間にスペースを必ず入れてください。
--xrm=resources
追加の X リソースを設定します。
--color, --color=mode
文字端末のカラーモードをオーバーライドします。モードはデフォルトで "auto" であり、"never"、"auto"、"always"、または "ansi8" などのモード名にすることもできます。
-bw pixels, --border-width=pixels
Emacs ウィンドウの境界線の幅を、`pixels` で指定されたピクセル数に設定します。デフォルトは、ウィンドウの各側に 1 ピクセルです。
-ib pixels, --internal-border=pixels
ウィンドウの内部ボーダーの幅を、指定されたピクセル数に設定します。デフォルトは、ウィンドウの各側に1ピクセルのパディングです。
-g geometry, --geometry=geometry
Emacsウィンドウの幅、高さ、および位置を指定します。ジオメトリの指定は、標準のX形式で行われます。詳細はX(7)を参照してください。幅と高さは文字数で指定されます。GUIフレームのデフォルトは、幅80文字、高さはOSおよびウィンドウマネージャによって35〜40文字です。ツールバー、タブバー、メニューバーの表示/非表示によってウィンドウサイズがどのように変化するかについては、Emacsマニュアルの「ウィンドウサイズと位置のオプション」のセクションを参照してください。
-lsp pixels, --line-spacing=pixels
行間に追加するスペース。
-vb, --vertical-scroll-bars
縦スクロールバーを有効にします。
-fh, --fullheight
最初のフレームの高さを画面全体にします。
-fs, --fullscreen
最初のフレームをフルスクリーンにします。
-fw, --fullwidth
最初のフレームの幅を画面全体にします。
-mm, --maximized
最初のフレームを最大化します(`-fw -fh`と同じ)。
-fg color, --foreground-color=color
カラーディスプレイの場合、テキストの色を設定します。
`M-x list-colors-display`コマンドで、有効な色の名前のリストを表示できます。
-bg color, --background-color=color
カラーディスプレイの場合、ウィンドウの背景色を設定します。
-bd color, --border-color=color
カラーディスプレイの場合、ウィンドウの境界線の色を設定します。
-cr color, --cursor-color=color
カラーディスプレイの場合、ウィンドウのテキストカーソルの色を設定します。
-ms color, --mouse-color=color
カラーディスプレイの場合、ウィンドウのマウスカーソルの色を設定します。
-d displayname, --display=displayname
指定された`displayname`でEmacsウィンドウを作成します。コマンドラインで最初に指定する必要のあるオプションです。
-nbi, --no-bitmap-icon
EmacsのアイコンにGNUの画像を使用しないようにします。
--iconic
Emacsをアイコン化された状態で起動します。
-nbc, --no-blinking-cursor
カーソルの点滅を無効にします。
--parent-id=xid
親ウィンドウを設定します。
-nw, --no-window-system
Emacsがグラフィカルフレームを作成しないようにします。これを`xterm(1)`ウィンドウからEmacsを起動する場合に使用すると、そのウィンドウに表示されます。
-D, --basic-display
このオプションは、多くの表示機能を無効にします。Emacsのデバッグに使用します。
`.Xresources`ファイルにXのデフォルト値を設定することで、Emacsウィンドウの外観をカスタマイズできます(`xrdb(1)`を参照)。次の形式を使用します。
`emacs.keyword:value`
ここで、`value`は`keyword`のデフォルト値を指定します。Emacsでは、次のキーワードのデフォルト値を設定できます。
background (class Background)
カラーディスプレイの場合、ウィンドウの背景色を設定します。
bitmapIcon (class BitmapIcon)
`bitmapIcon`の値が`on`に設定されている場合、ウィンドウは「キッチンのシンク」の画像でアイコン化されます。
borderColor (class BorderColor)
カラーディスプレイの場合、ウィンドウの境界線の色を設定します。
borderWidth (class BorderWidth)
ウィンドウの境界線の幅をピクセル単位で設定します。
cursorColor (class Foreground)
カラーディスプレイの場合、ウィンドウのテキストカーソルの色を設定します。
cursorBlink (クラス CursorBlink)
カーソルの点滅を指定します。デフォルトはオンです。オフまたは false を使用して、カーソルの点滅をオフにします。
font (クラス Font)
ウィンドウのテキストフォントを設定します。
foreground (クラス Foreground)
カラーディスプレイの場合、ウィンドウのテキストの色を設定します。
fullscreen (クラス Fullscreen)
目的のフルスクリーンサイズです。値は、fullboth、maximized、fullwidth、または fullheight のいずれかであり、それぞれコマンドラインオプション "-fs"、"-mm"、"-fw"、および "-fh" に対応します。これは、最初のフレームにのみ適用されることに注意してください。
geometry (クラス Geometry)
Emacsウィンドウのジオメトリを設定します(上記の説明を参照)。
iconName (クラス Title)
Emacsウィンドウアイコンのアイコン名を設定します。
internalBorder (クラス BorderWidth)
ウィンドウの内部ボーダーの幅をピクセル単位で設定します。
lineSpacing (クラス LineSpacing)
行間の追加のスペース(リーディング)をピクセル単位で設定します。
menuBar (クラス MenuBar)
オンの場合、フレームにメニューバーを表示します。オフの場合は、メニューバーを表示しません。詳細については、Emacsマニュアルの「Lucid Resources」および「Motif Resources」セクションを参照してください。
minibuffer (クラス Minibuffer)
指定しない場合、このフレームにミニバッファを作成しません。代わりに、別のミニバッファフレームを使用します。
paneFont (クラス Font)
ツールキットを使用しないバージョンのEmacsで、メニューペインのタイトルのフォント名です。
pointerColor (クラス Foreground)
カラーディスプレイの場合、ウィンドウのマウスカーソルの色を設定します。
privateColormap (クラス PrivateColormap)
オンの場合、"default visual" が PseudoColor クラスであり、Emacs がそれを使用している場合に、プライベートカラーマップを使用します。
reverseVideo (クラス ReverseVideo)
reverseVideo の値がオンに設定されている場合、ウィンドウは逆転ビデオで表示されます。
screenGamma (クラス ScreenGamma)
色のガンマ補正で、フレームパラメータ "screen-gamma" と同じです。
scrollBarWidth (クラス ScrollBarWidth)
スクロールバーの幅をピクセル単位で設定します。これは、フレームパラメータ "scroll-bar-width" と同じです。
selectionFont (クラス SelectionFont)
ツールキットを使用しないバージョンのEmacsで、ポップアップメニュー項目のフォント名です。ツールキットバージョンについては、Emacsマニュアルの「Lucid Resources」および「Motif Resources」セクションを参照してください。
selectionTimeout (クラス SelectionTimeout)
選択の応答を待つミリ秒数です。値が0の場合、必要なだけ待ちます。
synchronous (クラス Synchronous)
オンの場合、Emacs を同期モードで実行します。同期モードは、Xの問題をデバッグする場合に役立ちます。
title (クラス Title)
Emacsウィンドウのタイトルを設定します。
toolBar (クラス ToolBar)
ツールバー用に予約する行数を設定します。
tabBar (クラス TabBar)
タブバー用に予約する行数を設定します。
useXIM (クラス UseXIM)
falseまたはoffの場合、X入力メソッド(XIM)の使用を停止します。
verticalScrollBars (クラス ScrollBars)
オンの場合、フレームにスクロールバーを表示します。オフの場合は、スクロールバーを抑制します。
visualClass (クラス VisualClass)
Xが使用する「visual」を指定します。これは、Xに色の扱い方を指示します。値は、TrueColor、PseudoColor、DirectColor、StaticColor、GrayScale、および StaticGray のいずれかで始まり、その後に -depth が続きます。depth は色のプレーンの数です。
マニュアル
GNU Emacsのマニュアルの印刷版は、GNUソフトウェアを開発しているFree Software Foundationから注文できます。オンラインストアは(https://shop.fsf.org/)をご覧ください。 お近くの管理者の方も、マニュアルのコピーを持っている場合があります。FSFから提供されるすべてのソフトウェアおよび出版物と同様に、誰でもEmacsマニュアルのコピーを作成して配布することができます。マニュアルのTexinfoソースは、Emacsのソース配布にも含まれています。
ファイル
/usr/local/share/info — Infoドキュメントブラウザ用のファイル。Emacsリファレンスマニュアルの完全なテキストが、使いやすいツリー構造で含まれています。これには、Emacs Lisp拡張言語でプログラムを書きたい人にとって役立つEmacs Lispリファレンスマニュアルと、Emacs Lispでのプログラミング入門が含まれます。
/usr/local/share/emacs/$VERSION/lisp — ほとんどの編集コマンドを定義するLispソースファイルとコンパイルされたファイル。その一部はプリロードされ、他のファイルは使用時にこのディレクトリから自動ロードされます。
/usr/local/libexec/emacs/$VERSION/$ARCH — GNU Emacsで使用されるさまざまなプログラム。
/usr/local/share/emacs/$VERSION/etc — さまざまな情報ファイル。
/usr/local/share/emacs/$VERSION/etc/DOC.* — GNU EmacsのLispプリミティブおよびプリロードされたLisp関数のドキュメント文字列が含まれています。これらはEmacs本体のサイズを縮小するために、ここに保存されています。
バグ
バグの報告と修正を行うためのメーリングリストがあります。ただし、何かをバグとして報告する前に、それが本当にバグであり、誤解や意図的な機能ではないことを確認してください。Emacsマニュアルの「バグの報告」セクションを読み、バグの報告方法とタイミングに関するヒントを参照してください。また、送信するすべてのバグ報告に、使用しているEmacsのバージョン番号を含めてください。バグは実際に修正される可能性が高いため、再現しやすいように報告することが重要です。
バグ報告に対する個人的な回答は期待しないでください。バグを報告する目的は、可能であれば、次のリリースで修正することです。個人的なサポートが必要な場合は、(https://www.fsf.org/resources/service/)にあるサービスディレクトリを参照して、サポートを提供する人のリストを確認してください。
このメーリングリストには、バグ報告のみを送信してください。他のEmacsリストについては、(https://savannah.gnu.org/mail/?group=emacs)をご覧ください。
制約なし
Emacsはフリーソフトウェアです。誰でも、GNU General Public Licenseの条項に従って、Emacsのコピーを誰にでも再配布できます。GNU General Public Licenseのコピーは、Emacsの各コピーに付属しており、リファレンスマニュアルにも記載されています。
Emacsのコピーは、Unixシステムの配布と一緒にパッケージ化されている場合がありますが、それらのシステムのライセンスの範囲にEmacsが含まれることはありません。そのような包含は、配布が許可されている条項に違反します。実際、GNU General Public Licenseの主な目的は、誰かがEmacsの再配布に追加の制限を設けることを禁止することです。
リチャード・ストールマンは、Emacsを改良・拡張することを推奨し、その拡張機能をGNUライブラリに寄贈するように促しています。最終的にGNU(GNU's Not Unix)は、Unixを完全に置き換えるものとなるでしょう。誰もがGNUシステムを自由に利用、複製、研究、変更できるようになります。
関連項目
emacsclient(1)、etags(1)、X(7)、xlsfonts(1)、xterm(1)、xrdb(1)
著者
Emacsは、リチャード・ストールマンとフリーソフトウェア財団によって作成されました。詳細なクレジットと謝辞については、GNU Emacsマニュアルを参照してください。
コピー
1995-2025 Free Software Foundation, Inc.著作権。
このドキュメントのコピーを複製および配布することを許可します。ただし、すべてのコピーに著作権表示とこの許可表示を保持してください。
このドキュメントの修正版を複製および配布することを許可します。ただし、すべてのコピーに著作権表示とこの許可表示を保持し、その条件の下で、結果として得られるすべての派生物を、この許可表示と同一の条項の下で配布する必要があります。
このドキュメントを別の言語に翻訳して複製および配布することを許可します。ただし、上記の修正版の条件の下で、この許可表示はフリーソフトウェア財団によって承認された翻訳で表示することができます。
法で許可されている範囲で、いかなる保証もありません。