EMACS(1)

NAME
emacs - GNU Emacs

總覽 (SYNOPSIS)
emacs [ command-line switches ] [ files ... ]

描述 (DESCRIPTION)
GNU Emacs 是 Emacs 的 一個 版本, 是由 最早的 (PDP-10) Emacs 的 作者 Richard Stallman 寫的.
GNU Emacs 的 主要 文件 都 在 GNU Emacs 手冊 裡, 可以 通過 Info (Emacs 的 一個 子系統) 線上 瀏覽. 請 在那兒 尋找 完整的 最新的 文件. 自願者們 不定時 的 更新 這個 文件; 而 Emacs 的 維護者們 就可以 抽出 更多的 時間 來 用在 其它 更有用的 專案上.
對 使用者 來講, 其它 Emacs 提供的 功能 GNU Emacs 都有, 而且 因為 它的 命令 是 用 Lisp 寫的, 所以 擴充套件性 很好.

Emacs 擁有 一個 可擴充套件的 互動式的 幫助 功能, 但 這 要求 你 知道 怎麼 操縱 Emacs 視窗 和 緩衝區. CTRL-h (backspace 或者 CTRL-h) 進入 幫助 系統. 幫助 教程 (CTRL-h t) 是 一個 互動式的 教程, 可以 在 很短 的 時間內 教會 初學者 Emacs 的 基本 操作. 幫助 Apropos (CTRL-h a) 幫助 你 根據 其 功能 找到 命令, 幫助 字元 (CTRL-h c) 描述 一個 指定 的 字元 的 作用, 幫助 功能 (CTRL-h f) 描述 一個 由 名稱 指定 的 Lisp 函式.

Emacs 的 能夠 撤銷 你的 緩衝區 的 很多 層 修改, 所以 它 很 容易 從 編輯 錯誤 中 恢復.

GNU Emacs 的 很多 專門 的 包 能夠 收發 郵件 (RMail/Mail), 大綱 編輯 (Outline), 編譯 (Compile), 在 Emacs 視窗 中 執行 子 shell (Shell), 執行 Lisp 讀-估值-顯示 (read-eval-print) 迴圈 (Lisp-Interaction-Mode), 以及 自動 心理 療法 (Doctor).

這有 一個 可擴充套件 的 參考 手冊, 但是 就算 其它 Emacs 的 使用者 沒有 這個 手冊, 也能 很快 適應 的. 剛 開始 使用 Emacs 的 使用者 也 能夠 通過 它的 自包含 的 文件 功能 學習 教程, 很快 就能 使用 其 基本 的 特性.

Emacs Options

以下 是 常用 的 選項:

file
    編輯 file.

+number
    跳到 number 指定 的 行 (不要 在 "+" 和 number 間 加個 空格).

-q  不 裝載 初始化 檔案.

-u user
    裝載 user 的 初始化 檔案.

-t file
    把 指定 的 file 作為 終端, 而 不是 stdin/stdout. 這 必須 是 命令列 的 第一個 引數.

下面 的 選項 是 面向 lisp 的(這些 選項 根據 先後 順序 處理):

-f function
    執行 lisp 函式 function.

-l file
    裝載 檔案 file 裡面 的 lisp 程式碼.

下面 的 選項 在 把 Emacs 作為 批處理 編輯器 時 很有用:

-batch
    當 批處理 模式 編輯. 編輯器 會 把 訊息 傳送 至 stderr. 這個 選項 必須 是 引數 列表 中 的 第一個. 你 必須 用 -l 和 -f 來 指定 執行 的 檔案 和 呼叫 的 函式.

-kill
    在 批處理 模式 時 退出 Emacs.

在 X 下 用 Emacs

Emacs 已經 被 修改 為 在 X 視窗 系統 下 能 很好的 執行. 如果 你在 X 下 執行 Emacs, 它會 建立 它 自己 的 視窗 來 顯示. 也許 你想 把 編輯器 作為 後臺 程序 執行, 這樣 你 仍然 可以 用 你原來 的 視窗.

啟動 Emacs 可以 用 下面 的 X 選項:

-name name
    指定 初始 Emacs 視窗 的 名字. 這個 選項 不僅 控制 視窗 標題 也 控制 X 資源 的 查詢.

-title name
    指定 初始 X 視窗 的 標題.

-r  用 翻轉 影像(reverse video) 顯示 Emacs 視窗.

-i  當 圖示化 Emacs 視窗 時 用 "kitchen sink" 點陣圖 圖示.

-font font, -fn font
    把 Emacs 視窗 的 字型 設定 成 font 指定 的 字型. 你會在 /usr/lib/X11/fonts 目錄 下 找到 許多 X 字型. 注意 Emacs 只 接受 固定 寬度 字型. 根據 X11R4 字型 命名 規定, 所有 字型名 第 7 欄位 是 "m" 或者 "c" 的 字型 都是 固定 寬度 字型. 還有, 字型名 是 widthxheight 形式 的 字型 一般 也是 固定 寬度的, 就像 fixed 字型 一樣. 更多 的 資訊 參見 xlsfonts(1). 在 指定 字型 的 時候 請注意 在 選項 和 字型名 中間 加 一個 空格.

-b pixels
    Set the 把 Emacs 視窗 邊框 寬度 設定 成 pixels 指定 的 畫素. 預設的 是 視窗 每邊 都是 一個 畫素.

-ib pixels
    把 視窗 內邊框 寬度 設定 成 pixels 指定 的 畫素. 預設的 是 視窗 每邊 都 填充 一個 畫素.

-geometry geometry
    設定 Emacs 視窗 的 寬度, 高度, 以及 位置, 其 格式 是 標準 的 X 格式; 具體 參見 X(1). 寬度 和 高度 是 用 字元 指定的; 預設 的 是 80 乘以 24.

-fg color
    如果 是 彩色 顯示器, 設定 文本 的 顏色. 在 /usr/lib/X11/rgb.txt 檔案 中 有 可用 的 顏色 名字 列表.

-bg color
    如果 是 彩色 顯示器, 設定 視窗 背景 顏色.

-bd color
    如果 是 彩色 顯示器, 設定 視窗 邊框 顏色.

-cr color
    如果 是 彩色 顯示器, 設定 視窗 文本 游標 的 顏色.

-ms color
    如果 是 彩色 顯示器, 設定 視窗 滑鼠 游標 的 顏色.

-d displayname, -display displayname
    在 displayname 指定 的 顯示器 上 建立 Emacs 視窗. 它 必須 是 命令列 的 第一個 引數.

-nw 告訴 Emacs 不要 用 它的 X 介面. 如果 你 在 一個 xterm(1) 視窗 中 呼叫 Emacs 並且 加上了 這個 選項, 會在 這個 視窗 中 顯示, 而 不是 新建 一個 X 視窗. 它 必須 是 命令列 的 第一個 引數.

你 可以 在 你的 .Xresources 檔案 裡面 為 你的 Emacs 視窗 設定 其 X 的 預設 值(見 xrdb(1)). 用 如下 的 格式:

    emacs.keyword:value

value 指定 了 keyword 的 預設值. Emacs 允許 你 設定 如下 關鍵字 的 預設值:

font (class Font)
    設定 視窗 文本 字型.

reverseVideo (class ReverseVideo)
    如果 reverseVideo 的值 是 on, 視窗 就會 以 翻轉 影像 顯示.

bitmapIcon (class BitmapIcon)
    如果 bitmapIcon's 的值 是 on, 視窗 就會 圖示化 為 "kitchen sink."

borderWidth (class BorderWidth)
    以 畫素 為 單位 設定 視窗 的 邊框 寬度.

internalBorder (class BorderWidth)
    以 畫素 為 單位 設定 視窗 的 內邊框 寬度.

foreground (class Foreground)
    只對 彩色 顯示器 有用, 設定 視窗 的 文本 顏色.

background (class Background)
    只對 彩色 顯示器 有用, 設定 視窗 的 背景 顏色.

borderColor (class BorderColor)
    只對 彩色 顯示器 有用, 設定 視窗 的 邊框 顏色.

cursorColor (class Foreground)
    只對 彩色 顯示器 有用, 設定 視窗 的 文本 游標 的 顏色.

pointerColor (class Foreground)
    只對 彩色 顯示器 有用, 設定 視窗 的 滑鼠 游標 的 顏色.

geometry (class Geometry)
    設定 Emacs 視窗 的 寬度, 高度, 以及 位置 (同 上面 描述 的 一樣).

title (class Title)
    設定 Emacs 視窗 的 標題.

iconName (class Title)
    設定 Emacs 視窗 圖示 的 圖示名.

如果 你 用的 是 黑白 顯示器, 視窗 特性 將會是 下面的 預設值: 前景 顏色 為 黑色, 背景 顏色 為 白色, 邊框 顏色 為 灰色, 文本 和 滑鼠 游標 顏色 為 黑色.

Using the Mouse

以下 是 X11 下 Emacs 的 滑鼠鍵 繫結.

滑鼠鍵    作用
左鍵    設定點.
中鍵    貼上 文本.
右鍵    把 文本 剪下 到 X 剪下 緩衝區.
SHIFT-中鍵    把 文本 剪下 到 X 剪下 緩衝區.
SHIFT-右鍵    貼上 文本.
CTRL-中鍵    把 文本 剪下 到 X 剪下 緩衝區 並且 刪除.
CTRL-右鍵    選擇 視窗, 然後 分拆 成 2 個 視窗. 同 鍵入 CTRL-x 2 一樣.
CTRL-SHIFT-左鍵    X buffer 選單 -- 保持 按住 按鍵, 等 選單 顯示 出來, 選擇 緩衝區,
釋放 按鍵. 要 取消, 把 滑鼠 移出 選單 然後 釋放 按鍵.
CTRL-SHIFT-中鍵    X help 選單 -- 彈處 Emacs 幫助 的 索引 選單.
CTRL-SHIFT-右鍵    用 滑鼠 選擇 視窗, 關閉 其它 所有 視窗. 同 鍵入 CTRL-x 1 一樣.

手冊頁 (MANUALS)
你 可以 向 自由 軟體 基金會(GNU 軟體 的 開發者) 定購 GNU Emacs 手冊頁 的 印刷 複製. 定購 資訊 參見 ORDERS 檔案.
你的 本地的 Emacs 維護者 可能 有 複製. 象 所有 FSF 的 軟體 和 印刷品 一樣 , 所有的 人 都被 准許 製作 或 分發 Emacs 手冊頁, 同時 Emacs 原始檔包 裡面 也 包含 手冊頁 的 Tex 原始檔.

檔案 (FILES)
/usr/local/info - 所有 Info 文件 瀏覽器(Emacs 的 一個 子系統) 文件 的 所在地. 現在 不是 許多 Unix 系統 在 這裡 都有 文件, 但是 所有 Emacs 手冊頁 文件 都 以 一種 樹 結構 儲存 在 這裡.

/usr/local/share/emacs/$VERSION/src - C 原始檔 以及 目標檔案

/usr/local/share/emacs/$VERSION/lisp - Lisp 原始檔 和 一些 定義 常用的 編輯 命令 的 已經 編譯 了的 檔案. 有一些 檔案 是 預先 裝載 了的; 另外 一些 則是 要用 的 時候 自動 裝載.

/usr/local/share/emacs/$VERSION/etc - GNU Emacs 用到 的 許多 程式, 還有 一些 包含 常用 資訊 的 檔案.

/usr/local/share/emacs/$VERSION/etc/DOC.* - 包含 GNU Emacs 的 Lisp primitive 和 預先 裝載 的 Lisp 函式 的 文件 描述 字串. 這樣 可以 減小 Emacs 本身 的 大小.

/usr/local/share/emacs/$VERSION/etc/OTHER.EMACSES 討論 GNU Emacs vs. 其它 版本 的 Emacs.
/usr/local/share/emacs/$VERSION/etc/SERVICE 向 GNU Emacs 使用者 提供 各種 服務 的人 的 列表, 包括 教育, 疑難 排解, 移植 和 定製 等.
這些 檔案 包含 一些 對 那些 想用 Emacs Lisp 擴充套件 語言(現在 還 沒有 這個 語言 的 完整 的 文件) 寫 程式 的人 有用 的 資訊.

/usr/local/com/emacs/lock - 為 Emacs 正在 編輯 的 所有 的 檔案 的 上鎖 檔案 都在 這裡, 這些 檔案 可以 防止 兩個 使用者 同時 編輯 同一個 檔案.

/usr/lib/X11/rgb.txt - 合法 X 顏色 名稱 的 列表.

錯誤 (BUGS)
在 英特網 上 有一個 郵件 列表 bug-gnu-emacs@prep.ai.mit.edu (在 UUCPnet 上 是 ucbvax!prep.ai.mit.edu!bug-gnu-emacs), 可以 通過 這個 郵件 列表 報告 Emacs 的 錯誤 和 補丁. 但是 在 報告 一個 錯誤 之前 請 確認 它 的確 是個 錯誤, 不要 把 一個 一些 特性 誤認為 是 錯誤. 我們 建議 你 讀讀 手冊頁(或者 Info 系統) 末尾 的 ``報告 Emacs 錯誤'' 一節, 那裡 有 如何 以及 什麼 時候 報告 錯誤 的 一些 描述. 還有 不要 忘了 在 所有 錯誤 報告 裡 包含 你 執行 的 Emacs 的 版本號.

請 不要 指望 就 錯誤 報告 獲得 個人 回答. 報告 錯誤 的 目的 是 在 下一個 發行版 中 清除 錯誤, 如果 可能. 如果 要 尋求 個人 幫助, 在 SERVICE 檔案 (見上) 裡 有 提供 服務 的人 的 名單.

請 不要 傳送 任何 與 錯誤 報告 無關 的 東西 到 這個 郵件 列表 中. 請把 加入 郵件 列表 的 請求 傳送 到 info-gnu-emacs-request@prep.ai.mit.edu (或者 相 對應 的 UUCP 地址 裡). 在 /usr/local/emacs/etc/MAILINGLISTS 檔案 裡 有 更多 關於 郵件 列表 的 資訊. 如果 我們 能 找到 導致 錯誤 的 程式碼, 那麼 錯誤 多半 都能 被 清除, 所以 你 應該 儘量 詳細 的 報告 錯誤, 使得 我們 能夠 使 錯誤 重新 發生.

我 知道 的 錯誤 有: 在 一些 版本 的 Unix 中, shell 不能 正常 執行 一些 在 原始 模式 (Raw mode) 下 執行 的 程式.

無限制 (UNRESTRICTIONS)

Emacs 是 自由 軟體; 每個人 都可以 在 Emacs 通用 公共 許可證 中 申明 的 條款 下 把 Emacs 釋出 給 每個人, 每個 Emacs 中 都 附帶 有 此 條款, 在 手冊頁 中 也 包含 有 此 條款.

Emacs 的 複製 可能 被 打包 包含 在 一些 Unix 系統 中, 但是 它 並不在 那些 系統 所用 的 許可證 的 保護 下. 這種 行為 違背 了 允許 分發 的 條款. 事實上, 通用 公共 許可證 的 主要 目的 就是 禁止 任何人 在 Emacs 的 釋出 上 加入 其它 任何 的 限制。

Richard Stallman 倡導 大家 來 改進 擴充套件 Emacs, 並且 鼓勵 大家 為 GNU 庫 的 擴充套件 做出 貢獻. 事實上 GNU (Gnu's Not Unix) 將會 成為 Berkeley Unix 的 代替品. 每個人 都可以 自由 的 使用, 複製, 學習 以及 改變 GNU 系統.

參見 (SEE ALSO)
X(1), xlsfonts(1), xterm(1), xrdb(1)

作者 (AUTHORS)

Emacs 是 Richard Stallman 和自由軟體基金會寫的。 Joachim Martillo 和 Robert Krawitz 加入了 X 特性。

[中文版維護人]
唐友 <tony_ty@263.net>

[中文版最新更新]
2001/9/20

《中國Linux論壇man手冊頁翻譯計劃》
http://cmpp.linuxforum.net

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh