GNU Emacs命令速查表


GNU Emacs命令速查表

 

第一章  Emacs的基本概念

 

表1-1:Emacs編輯器的主模式

模式

功能

基本模式(fundamental mode)

默認模式,無特殊行為

文本模式(text mode)

書寫文字材料(第二章)

郵件模式(mail mode)

書寫電子郵件消息(第六章)

RMAIL模式(RMAIL mode)

閱讀和組織電子郵件(第六章)

只讀模式(view mode)

查看文件,但不進行編輯(第五章)

shell模式(shell mode)

在Emacs里運行一個UNIX shell(第五章)

FTP模式(ange-ftp mode)

下載或者查看遠程系統上的文件(第七章)

Telent模式(telnet mode)

登錄到遠程系統(第七章)

大綱模式(outline mode)

書寫大綱(第八章)

縮進文本模式(indented text mode)

自動縮進文本(第八章)

圖形模式(picture mode)

繪制簡單的線條圖形(第八章)

mroff模式(mroff mode)

按mroff的要求對文件進行排版(第九章)

TEX模式(TEX mode)

按TEX的要求對文件進行排版(第九章)

C模式(C mode)

書寫C語言程序(第十二章)

C++模式(C++ mode)

書寫C++程序(第十二章)

FORTRAN模式(FORTRAN mode)

書寫FORTRAN程序(第十二章)

Emacs LISP模式(Emacs LISP mode)

書寫Emacs LISP函數(第十二章)

LISP模式(LISP mode)

書寫LISP程序(第十二章)

LISP互動模式(LISP interaction mode)

書寫和求值LISP表達式(第十二章)

 

表1-2:Emacs編輯器的副模式

模式

功能

自動換行模式(auto-fill mode)

開啟字換行(word wrap)功能(第二章)

改寫模式(overwrite mode)

打字時替換而不是插入字符(第二章)

自動保存模式(auto-save mode)

把文件按一定周期自動保存到一個特殊的臨時文件里(第二章)

行號模式(line number mode)

在狀態欄上顯示當前文件行的編號(第二章)

臨時標記模式(transient mark mode)

對被選取的文本區做高亮反顯(第二章)

縮略語詞模式(abbrev mode)

允許使用單詞的簡寫形式(第三章)

大綱模式(outline mode)

書寫大綱(第八章)

VC模式(VC mode)

在Emacs下使用各種版本控制系統(第十五章)

 

表1-3:與文件操作有頭的命令

鍵盤操作

命令名稱

動作

C-x C-f     
  File→Open

find-file

查找文件並在一個新緩沖區里打開它

C-x C-v

find-alternate-file

讀入另外一個文件替換掉用“C-x C-f”讀入的文件

C-xi 
  File→Insert File

insert-file

把文件插入到光標的當前位置

C-x C-s 
  File→Save (current buffer)

save-buffer

保存文件

C-x C-w 
  File→Save Buffer As

write-file

把緩沖區內容寫入一個文件

C-x C-c 
  File→ExitEmacs

save-buffers-kill-emacs

退出Emacs

C-h

help-command

進入Emacs的在線幫助系統

C-h f 
  Help→Describe Function

describe-function

給出某個給定命令名的在線幫助信息

C-h k 
  Help→Describe Key

describe-key

給出某個給定擊鍵序列的在線幫助信息

C-ht 
  Help→Emacs Tutorial

help-with-tutorial

啟動Emacs教程

C-hi 
  Help→Browse Manuals

info-goto-emacs-command-node

啟動Info文檔閱讀器

 

第二章  文件編輯

 

ESC x auto-fill-mode RETURN 切換自動換行模式

ESC x this-outrageously-long-string RETURN 開啟Emacs自動完成功能,即輸入幾個字符后按下TAB鍵,Emacs通常會自動填上單詞的其余部分或者命令的其余部分

 

表 2-1:光標移動命令速查表

鍵盤操作

命令名稱

動作

C-f

forward-char

光標前移一個字符(右)

C-b

backward-char

光標后移一個字符(左)

C-p

previous-line

光標前移一行(上)

C-n

next-line

光標后移一行(下)

M-f

forward-word

光標前移一個單詞

M-b

backward-word

光標后移一個單詞

C-a

beginning-of-line

光標移到行首

C-e

end-of-line

光標移到行尾

M-e

forward-sentence

光標前移一個句子

M-a

backward-sentence

光標后移一個句子

M-}

forward-paragraph

光標前移一個段落

M-{

backward-paragraph

光標后移一個段落

C-v

scroll-up

屏幕上卷一屏

M-v

scroll-down

屏幕下卷一屏

C-x ]

forward-page

光標前移一頁

C-x [

backward-page

光標后移一頁

M-<

beginning-of-buffer

光標前移到文件頭

M->

end-of-buffer

光標前移到文件尾

(無)

goto-line

光標前進到文件的第n行

(無)

goto-char

光標前進到文件的第n個字符

C-l

recenter

重新繪制屏顯畫面,當前行放在畫面中心處

M-n

digit-argument

重復執行n次后續命令

C-u n

universal-argument

重復執行n次后續命令(省略n時重復4次)

 

說明:

1. 以“CTRL”開頭的命令的光標移動距離通常都要比對應的以“ESC”開頭的命令移動距離短。

2. 表中第一欄的“(無)”表示如果想執行這個命令,就必須按下“ESC x”(或者“M-x”),再輸入命令的全名,最后按下回車鍵。它們沒有對應的默認組合鍵。

表 2-2:文本刪除命令速查表

鍵盤操作

命令名稱

動作

C-d

delete-char

刪除光標位置上的字符

Del

delete-backward-char

刪除光標前面的字符

M-d

kill-word

刪除光標后面的單詞

M-Del

backward-kill-word

刪除光標前面的單詞

C-k

kill-line

從光標位置刪除到行尾

M-k

kill-sentence

刪除光標后面的句子

C-x Del

backward-kill-sentence

刪除光標前面的句子

C-y或SHIFT-INSERT     
  Edit→Paste Most Recent

yank

恢復被刪除的文本

 

 

C-w或SHIFT-DELETE
  Edit→Cut

kill-region

刪除文本塊

(無)

kill-paragraph

刪除光標后面的段落

(無)

backward-kill-paragraph

刪除光標前面的段落

 

表2-3:文本塊操作命令速查表

鍵盤操作

命令名稱

動作

C-@或 C- Space

set-mark-command

標記文本塊的開始(或結束)位置

C-xC-x

exchange-point-and-mark

互換插入點和文本標記的位置

C-w或SHIFT-DELETE
  Edit→Cut

kill-region

刪除文本塊

C-y或SHIFT-INSERT     
  Edit→Paste Most Recent

yank

粘貼最近刪除或復制的文本

M-w

kill-ring-save

復制文本塊(以便用“C-y”命令來粘貼它)

M-h

mark-paragraph

標記段落

C-x C-p

mark-page

標記頁面

C-x h

mark-whole-buffer

標記整個緩沖區

M-y     
  Edit→Select and Paste

yank-pop

在用過“C-y”命令以后粘貼更早刪除的文本

 

表2-4:段落重排命令速查表

鍵盤操作

命令名稱

動作

ESC q

fill-paragraph

重排段落

(無)     
  Edit→Fill

fill-region

對某個文件塊中的段落進行重排

 

表2-5:位置交換命令速查表

鍵盤操作

命令名稱

動作

C-t

transpose-chars

交換兩個字符的位置

M-t

transpose-words

交換兩個單詞的位置

C-x C-t

transpose-lines

交換兩個文本行的位置

(無)

transpose-sentences

交換兩個單詞的位置

(無)

transpose-paragraphs

交換兩個段落的位置

 

表2-6:字母大小寫編輯命令速查表

鍵盤操作

命令名稱

動作

M-c

capitalize-word

把單詞的首字母改為大寫

M-u

upcase-word

把單詞的字母全部改為大寫

M-l

downcase-word

把單詞的字母全部改為小寫

Meta - M-c

negative-argument; capitalize-word

把前一個單詞的首字母改為大家

Meta - M-u

negative-argument;upcase-word

把前一個單詞的字母全部改為大寫

Meta - M-l

negative-argument;downcase-word

把前一個單詞的字母全部改為小寫

 

表2-7:撤銷編輯修改的3種方法

如果你:

請使用以下命令

不喜歡剛做的修改,想一個一個地撤銷它們

C-_ or C-x u (undo)

想撤銷自上次對文件存盤之后的所有修改

M-x revert-buffer Enter

想回到該文件以前的版本(即這個文件在開始這次編輯工作之前的樣子)

C-x C-f filename~ Enter
C-x C-w filename Enter

 

表2-8:命令的中止和撤銷

鍵盤操作

命令名稱

動作

C-g

keyboard-quit

放棄當前命令

C-x u

advertised-undo[a]

撤銷上一次編輯(可以重復使用)

C-_或C-/
  Edit→Undo

undo

撤銷上一次編輯

(無)

revert-buffer

把緩沖區恢復到上次對文件進行存盤(或者自動存盤)時的狀態

[a]advertised-undo和undo之間並沒有真正的不同。它們的工作情況都是一樣的。

 

第三章  查找和替換操作

 

表3-1:遞增查找命令速查表

鍵盤操作

命令名稱

動作

C-s
 Edit→Search Incremental→Forward String

isearch-forward

向前(朝文件尾方向)開始遞增查找操作;后面是查找字符串。另外,(向前)查找下一個出現查找字符串的地方

C-s
 Edit→Search Incremental→Backward String

isearch-backward

向后(朝文件頭方向)開始遞增查找操作;后面是查找字符串。另外,(向后)查找下一個出現查找字符串的地方

Enter

isearch-exit

退出查找操作

C-g

keyboard-quit

取消遞增查找操作(你可能需要連按它兩次)

Del

isearch-delete-char

刪除查找字符串中的字符

C-s C-w

isearch-yank-word

開始遞增查找操作;把光標位置處的單詞用做查找字符串

C-s C-y

isearch-yank-line

開始遞增查找操作;把光標位置到行尾之間的文本用做查找字符串

C-s M-y

isearch-yank-kill

開始遞增查找操作;把刪除環中的文本用做查找字符串

C-sC-s

isearch-repeat-forward

重復剛才的向前查找操作

C-rC-r

isearch-repeat-backward

重復剛才的向后查找操作

 

表3-2:簡單查找命令速查表

鍵盤操作

操作

C-s Entersearchstring Enter
  Edit→Search→String Forward

向前(朝文件尾方向)開始一次非遞增查找操作

C-s

向前查找下一個

C-r Entersearchstring Enter
  Edit→Search→String Backwards

向前(朝文件頭方向)開始一次非遞增查找操作

C-r

向后查找下一個

 

表3-3:查詢-替換操作中的響應

鍵盤操作

操作

M-%
  Edit→Replace→Replace String

開始查詢-替換操作

Space或y

用新字符串替換查詢字符串searchstring,然后前進到下一個位置

Del或n

不替換;前進到一個位置

.

在當前位置做替換后退出查詢-操作

,

替換並顯示替換情況(再按空格鍵或“y”后才移動到下一個位置)

!

對后面的文件內容全部進行替換,不再提問是否要進行替換

^

返回上一次進行了替換的位置

Enter或q

退出查詢-替換操作

E

編輯替換字符串

C-r

進入遞歸編輯狀態

C-w

刪除此處內容並進入遞歸編輯狀態(好做其他修改)

C-M-c

退出遞歸編輯狀態,繼續完成查詢-替換操作

C-]

退出遞歸編輯狀態和查詢-替換操作

 

表3-4:用來建立正則表達式的字符

字符

匹配情況

^

匹配行首

$

匹配行尾

.

匹配任意單個字符(類似於文件名中的問號“?”)

.*

匹配任意(零或以上)個字符(這是一個真正的通配符,類似於文件名中的星號“*”)

\<

匹配單詞的開頭

\>

匹配單詞的結尾

[ ]

匹配方括號中的任何一個字符;比如“[a-z]”將匹配任意一個字母表字符

\s, \S

匹配任何空白字符:空格、換行、TAB、回車、換頁、退格;\S匹配任何除空白字符外的所有字符

\d, \D

匹配任何單個數字:0-9;\D匹配任何除數字外的所有字符

\w, \W

匹配任何字(大小寫字母、數字和下划線);\W匹配任何除上述外的所有字符

 

表3-5:正規表達式查找命令速查表

鍵盤操作

命令名稱

動作

C-M-s Enter
  Edit→Search→Regexp Forward

re-search-forward

向前(朝文件尾方向)查找一個正則表達式

C-M-r Enter
  Edit→Search→Regexp Backwards

re-search-backward

向后(朝文件頭方向)查找一個正則表達式

C-M-s Enter
  Edit→Search Incremental→ForwardRegexp

isearch-forward-regexp

向前(朝文件尾方向)遞增查找一個正則表達式

C-M-r Enter
  Edit→Search Incremental→BackwardRegexp

isearch-backward-regexp

向后(朝文件頭方向)遞增查找一個正則表達式

C-M-% Enter
  Edit→Replace→ReplaceRegexp

query-replace-regexp

查詢-替換一個與正則表達式

(無)

replace-regexp

無條件地對一個正則表達式做全局性替換(謹慎使用)

 

表3-6:Ispell命令速查表

鍵盤操作

命令名稱

動作

M-$ Enter
  Tools→Spell Checking→Spell-Check Word

ispell-word

檢查光標位置上的單詞或者光標后面的單詞

(無)
  Tools→Spell Checking→Spell-Check Region

ispell-region

檢查文本塊里的單詞

(無)
  Tools→Spell Checking→Spell-Check Buffer

ispell-buffer

檢查緩沖區里的單詞

(無)
  Tools→Spell Checking→Spell-Check Message

ispell-message

檢查電子郵件正文里的單詞

(無)
  Tools→Spell Checking→Spell-Check Comments

ispell-comments-and-strings

檢查程序里的注釋和字符串

C-u M-$
  Tools→Spell Checking→Continue Spell-Checking

ispell-continue

讓Ispell重新開始繼續執行;這個命令只有在運行過Ispell並用“C-g”組合鍵暫停過它的執行時才有效

(無)
  Tools→Spell Checking→Kill Process

ispell-kill-ispell

殺死(即結束)Ispell進程

M-Tab
  Tools→Spell Checking→Complete Word

ispell-complete-word

在文本模式下,自動補足當前單詞

(無)
  Tools→Spell Checking→Automatic Spell-Checking (Flyspell)

flyspell-mode

進入Flyspell副模式,該模式下會突出顯示錯誤拼寫單詞。

(無)

flyspell-buffer

拼寫檢查當前緩沖區,突顯出所有拼錯的單詞。使用鼠標中鍵來糾正。

 

表3-7:UNIX拼寫檢查命令速查表

鍵盤操作

命令名稱

動作

(無)

spell-word

檢查光標位置上的單詞或者光標后面的單詞

(無)

spell-buffer

檢查當前編輯緩沖區的拼寫

(無)

spell-region

檢查當前文本塊的拼寫

 

表3-8:單詞簡寫情況示例

簡寫詞

短語定義

輸入

擴展為

說明

         

lc

lamb chop

lc

lamb chop

“lc”是小寫,所以“lamp chop”是小寫

lc

lamb chop

Lc

Lamb chop

“Lc”里面有一個大寫字母,所以“Lamb”的首字母大寫

lc

lamb chop

lC

Lamb chop

“Lc”里面有一個大寫字母,所以“Lamb”的首字母大寫

lc

lamb chop

LC

Lamb Chop

“LC”全都是大寫,所以兩個單詞的首字母都大寫

lc

Lamb Chop

lc

Lamb Chop

短語定義里的字母大小寫情況永遠不變

lc

Lamb Chop

LC

Lamb Chop

短語定義里的字母大小寫情況永遠不變

 

表3-9:簡寫詞編輯命令速查表

鍵盤操作

命令名稱

動作

M-/

dabbrev-expand

根據最相近的單詞將單詞補全,該單詞始於這個字符串(如果沒有你要找的單詞,再次按M-/)

(無)

abbrev-mode

進入(或退出)單詞簡寫模式

C-x a –或C-x ai g

inverse-add-global-abbrev

輸入全局性簡寫詞之后,輸入其短語定義

C-x ai l

inverse-add-mode-abbrev

輸入局部性簡寫詞之后,輸入其短語定義

(無)

unexpand-abbrev

撤銷最近一個簡寫詞定義條目

(無)

write-abbrev-file

保存簡寫詞匯表文件

(無)

edit-abbrevs

編輯簡寫詞匯表

(無)

list-abbrevs

查看簡寫詞匯表

(無)

kill-all-abbrevs

本次編輯工作禁用簡寫詞功能

 

第四章  緩沖區和窗口

 

表4-1:窗口命令速查表

鍵盤操作

命令名稱

動作

C-x 2
  File→Split Window

split-window-vertically

把當前窗口分割為上、下排列的兩個窗口

C-x 3

split-window-horizontally

把當前窗口分割為左、右排列的兩個窗口

C-x >

scroll-right

窗口內容右卷

C-x <

scroll-left

窗口內容左卷

C-x o

other-window

移動到其他窗口;如果有多個窗口,按順時針方向移動到下一個窗口

C-x 0

delete-window

刪除當前窗口

C-x 1
  File→Remove Splits

delete-other-windows

刪除所有窗口,只保留當前窗口

(無)

delete-windows-on

刪除某個給定編輯緩沖區上的所有窗口

C-x ^

enlarge-window

加高當前窗口

(無)

shrink-window

壓低當前窗口

C-x }

enlarge-window-horizontally

加寬當前窗口

C-x {

shrink-window-horizontally

壓窄當前窗口

C-x -

shrink-window-if-larger-than-buffer

如果編輯緩沖區比窗口小,就壓縮窗口面積

C-x +

balance-windows

把所有窗口調整為同樣大小

C-M-v

scroll-other-window

對其他窗口做卷屏操作

C-x 4 f

find-file-other-window

在其他窗口里查找並打開一個文件

C-x 4 b

switch-to-buffer-other-window

在其他緩沖區里選擇一個編輯緩沖區

(無)
  Tools→Compare (Ediff) Window→This Window and Next Window

compare-windows

對兩個編輯緩沖區的內容進行比較,並顯示它們之間的第一個不同之處

 

表4-2:編輯緩沖區操作命令速查表

鍵盤操作

命令名稱

動作

C-x b
  Buffers→Select Named Buffer

switch-to-buffer

移動到指定的編輯緩沖區

C-x
  Buffers→Next Buffer

next-buffer

移動到編輯緩沖區清單里的下一個編輯緩沖區

C-x
  Buffers→Previous Buffer

previous-buffer

移動到編輯緩沖區清單里的上一個編輯緩沖區

C-x C-b
  Buffers→List All Buffers

list-buffers

顯示編輯緩沖區清單

C-x k

kill-buffer

刪除指定的編輯緩沖區

(無)

kill-some-buffers

以問答方式刪除各個編輯緩沖區

(無)

rename-buffer

把編輯緩沖區的名字改為指定的名字

C-x s

save-some-buffers

以問答方式存盤各個修改過的編輯緩沖區

 

表4-3:編輯緩沖區清單操作命令速查表

鍵盤操作

動作

執行情況

C-n, Space, n, or

移動到清單里的下一個編輯緩沖區(即編輯緩沖區清單里的下一行)

立即執行

C-p, p, or

移動到清單里的下一個編輯緩沖區(即編輯緩沖區清單里的上一行)

立即執行

d

給編輯緩沖區加上待刪除標記

按下“x”鍵時執行

k

給編輯緩沖區加上待刪除標記

按下“x”鍵時執行

s

給編輯緩沖區加上待存盤標記

按下“x”鍵時執行

u

去掉編輯緩沖區上的操作標記

立即執行

x

對加有操作標記的所有編輯緩沖區執行相應的操作

立即執行

Del

去掉上一個編輯緩沖區上的修改標記

立即執行

~

給編輯緩沖區加上未修改標記

立即執行

%

轉換編輯緩沖區加上未修改標記

立即執行

1

把編輯緩沖區滿屏顯示

立即執行

2

把這個編輯緩沖區和下一個編輯緩沖區顯示到兩個水平窗口里

立即執行

f

在原本顯示編輯緩沖區清單的窗口里顯示此編輯緩沖區的內容

立即執行

o

把此編輯緩沖區顯示到另外一個窗口里

立即執行

m

給編輯緩沖區加上待顯示標志。參見“v”命令的說明

按下“v”鍵時執行

v

顯示用“m”命令加上待顯示標志的編輯緩沖區。Emacs將動態地創建足夠的窗口來顯示加有這類標志的編輯緩沖區

立即執行

q

退出編輯緩沖區清單

立即執行

 

表4-4:書簽清單編輯命令速查表

命令

動作

Enter, f,或j

在當前行轉到書簽

C-o或o

打開當前行的書簽到另一個窗口;按o鍵將光標切換到該窗口;C-o讓光標停留在當前窗口。

d, C-d, or k

對書簽重新命名

r

對書簽重新命名

s

保存清單里的全部書簽

m

給書簽加上待顯示標記

v

顯示加有待顯示標記的書簽。如果沒有加上待顯示標記的,就顯示光標所在處的書簽

t

切換書簽關聯文件的路徑的顯示/不顯示狀態

w

顯示書簽關聯文件的存放位置(即路徑名)

x

刪除加有待刪除標記的書簽

u

去掉書簽上的待操作標記

Del

去掉上一行書簽上的待操作標記

q

退出書簽清單

Space or n

移到下一行

p

移到上一行

l

加載一個書簽文件(除了默認的).

A

顯示所有注釋

a

顯示當前書簽注釋

e

編輯(或新建)為當前書簽注釋

 

表4-5:書簽清單編輯命令速查表

鍵盤操作

命令名稱

動作

C-x r m
  Edit→Bookmarks→Set Bookmark

bookmark-set

在當前光標位置處設置一個書簽

C-x r b
  Edit→Bookmarks→Jump to Bookmark

bookmark-jump

跳轉到書簽指示位置

(無)
  Edit→Bookmarks→Rename Bookmark

bookmark-rename

重新命名一個書簽

(無)
  Edit→Bookmarks→Delete Bookmark

bookmark-delete

刪除一個書簽

(無)
  Edit→Bookmarks→Save Bookmarks

bookmark-save

把書簽全都保存到默認的書簽

C-x r l
  Edit→Bookmarks→Edit Bookmark List

bookmark-menu-list

進入“*Bookmark List*”編輯緩沖區

(無)
  Edit→Bookmarks→Insert Contents

bookmark-insert

插入與給定書簽關聯着的文件的完整內容

(無)
  Edit→Bookmarks→Save Bookmarks As

bookmark-write

把書簽全都保存到一個指定的文件里

(無)
  Edit→Bookmarks→Load a Bookmark File

bookmark-load

從指定文件里加載書簽

(無)
  Edit→Bookmarks→Insert Location

bookmark-insert-location

插入路徑到給定的書簽在當前的光標位置

 

表4-6:窗格命令速查表

鍵盤操作

命令名稱

動作

C-x 5 o
  Buffers→Frames

other-frame

移動到其他窗格

C-x 5 0
  File→Delete Frame

delete-frame

刪除當前窗格

C-x 5 2
  File→New Frame

make-frame

在當前編輯緩沖區上創建一個新窗格

C-x 5 f

find-file-other-frame

在一個新空格里查找文件

C-x 5 r

find-file-read-only-other-frame

創建新窗格並查找文件,把編輯緩沖區設置為只讀的(用來查閱你不小心修改了的文件)

C-x 5 b

switch-to-buffer-other-frame

創建新窗格並在其中顯示另外一個編輯緩沖區

 

 

第五章 Emacs工作環境

 

表5-1:shell模式命令速查表

 

鍵盤操作

命令名稱

動作

(無)

shell

進入shell模式

C-c C-c
  Signals→BREAK

comint-interrupt-subjob

中斷當前作業;相當於UNIX的shell中的“C-c”組合鍵

C-d

comint-delchar-or-maybe-eof

如果是在編輯緩沖區的末尾,送出EOF字符;如果是其他位置,刪除一個字符

C-c C-d
  Signals→EOF

comint-send-eof

送出EOF字符

C-c C-u

comint-kill-input

刪除當前行;相當於UNIX的shell中的“C-u”組合鍵

C-c C-z
  Signals→STOP

comint-stop-subjob

對非X用戶,掛起或者停止一個作業;相當於UNIX的shell中的“C-z”組合鍵

M-p
  In/Out→Previous Input

comint-previous-input

檢索此前的上一個命令(可以重復執行以找回更早的命令)

M-n
  In/Out→Next Input

comint-next-input

檢索此后的下一個命令(可以重復執行以找回更近的命令)

Enter

comint-send-input

送出輸入在當前行上的命令

Tab
  Complete→Complete Before Point

comint-dynamic-complete

自動補足當前命令、文件名或者變量名

C-c C-o
  In/Out→Delete Current Output Group

comint-kill-output

刪除最后一條命令的輸出

C-c C-r

comint-show-output

把輸出內容的第一行移到窗口的頂部

C-c C-e
  In/Out→Show Maximum Output

comint-show-maximum-output

把輸出內容的最后一行移動窗口的底部

C-c C-p
  In/Out→Backward Output Group

comint-previous-prompt

移動到前一條命令

C-c C-n
  In/Out→Forward Output Group

comint-next-prompt

移動到后一條命令

 

表5-2:Dired命令速查表

鍵盤操作

命令名稱

動作

C-x d
  File→Open Directory

dired

啟動Dired

A
  Operate→Search Files

dired-do-search

對加有待操作標記的文件做一個正則表達式搜索;第一次匹配時停下,按“M-”鍵發現下一個匹配。

B
  Operate  Byte→compile

dired-do-byte-compile

字節編譯文件

C
  Operate  Byte→Copy to

dired-do-copy

復制文件

d
  Mark→Flag

dired-flag-file-deletion

給文件加上待刪除標記

D
  Operate→Delete

dired-do-delete

以問答方式立刻刪除某個文件

e
  Immediate→Find This File

dired-find-file

編輯文件

f

dired-advertised-find-file

查找文件(以對它進行編輯)

g
  Immediate→Refresh

revert-buffer

從磁盤上重新讀入目錄

G
  Operate→Change Group

dired-do-chgrp

改變文件的組權限

h

describe-mode

為Dired顯示描述性的幫助文本。

H
  Operate→Hardlink to ...

dired-do-hardlink

為該文件創建硬鏈接,Emacs要求你為硬鏈接命名(並不是所有的操作系統都支持硬鏈接)

i
  Subdir→Insert This Subdir

dired-maybe-insert-subdir

將這個子目錄清單添加到當前的Dired緩沖;如果它已經存在,只是移動到它

k

dired-do-kill-lines

從畫面上刪除光標所在的那一行

L
  Operate→Load

dired-do-load

加載文件

m或* m
  Mark→Mark

dired-mark

給文件加上“*”待操作標記

M
  Operate→Change Mode

dired-do-chmod

對當前文件使用chmod命令

n

dired-next-line

移動到下一行

o
  Immediate→Find in Other Window

dired-find-file-other-window

在另一個窗口里查找文件,但不移動到新窗口

C-o
  Immediate→Display in Other Window

dired-display-file

在另外一個窗口里查找文件,移動到新窗口

O
  Operate→Change Owner

dired-do-chown

改變文件的所有權

p

dired-previous-line

上移一行

P
  Operate→Print

dired-do-print

打印文件

q

quit-window

退出Dired

Q
  Operate→Query Replace in Files

dired-do-query-replace

對加有待操作標記的文件做查找-替換字符串操作

R
  Operate→Rename to

dired-do-rename

重新命名文件

S
  Operate→Symlink to

dired-do-symlink

為該文件創建符號鏈接,Emacs要求你為符號鏈接命名

s

dired-sort-toggle-or-edit

對Dired編輯緩沖區里的文件清單按日期或按文件名重新排序(在兩者之間切換)

t
  Mark→Toggle Marks

dired-toggle-marks

對文件和目錄切換待操作標記;按t標記所有沒有待操作標記過的文件和目錄,再次按t恢復原有待操作標記

u
  Mark→Unmark

dired-unmark

去掉待操作標記

v
  Immediate→View This File

dired-view-file

查看文件內容(只讀)

w

dired-copy-filename-as-kill

將文件名復制到剪切環;如果多個文件被標記,將復制所有被標記文件的名字到剪切環

x

dired-do-flagged-delete

刪除加有待刪除標記“D”的文件

y

dired-show-file-type

使用file命令顯示文件的類型信息

Z
  Operate→Compress

dired-do-compress

對文件進行壓縮或者解壓縮操作

~
  Mark→Flag Backup Files

dired-flag-backup-files

給備份文件加上待刪除標記;去掉這些標記的命令是“C-u ~”

#
  Mark→Flag Auto-save Files

dired-flag-auto-save-files

給自動保存文件加上待刪除標記;去掉這些標記的命令是“C-u #”

&
  Mark→Flag Garbage Files

dired-flag-garbage-files

給文件加上待刪除標記“garbage”

.
  Mark→Mark Old Backups

dired-clean-directory

給帶編號的備份文件(如果有的話)加上待刪除標記

=
  Immediate→Diff

dired-diff

把這個文件與(文本標記處的)另一個文件進行比較

M-=
  Immediate→Compare With Backup

dired-backup-diff

將這個文件與它的備份文件進行比較

!或 X
  Operate→Shell Command

dired-do-shell-command

以問答方式執行shell命令;命令的操作對象是加有待操作標記的文件

+
  Immediate→Create Directory

dired-create-directory

創建一個目錄

>
  Subdir→Next Dirline

dired-next-dirline

移動到下一個目錄

<
  Subdir→Prev Dirline

dired-prev-dirline

移動到上一個目錄

^

dired-up-directory

在一個新的Dired緩沖區中查找父目錄

$
  Subdir→Hide/Unhide Subdir

dired-hide-subdir

隱藏或者顯示當前目錄或者子目錄

M-$
  Subdir→Hide All

dired-hide-all

隱藏所有子目錄,只留下他們的名字;重復命令來顯示

C-M-n
  Subdir→Next Subdir

dired-next-subdir

移動到下一個子目錄(如果你已經使用“i”命令將子目錄清單添加到當前的Dired緩沖區)

C-M-p
  Subdir→Prev Subdir

dired-prev-subdir

移動到上一個子目錄(如果你已經使用“i”命令將子目錄清單添加到當前的Dired緩沖區)

C-M-u
  Subdir→Tree Up

dired-tree-up

如果你已經使用“i”命令將子目錄清單添加到當前的Dired緩沖區,,將在當前緩沖區移動到父目錄

C-M-d
  Subdir→Tree Down

dired-tree-down

如果你已經使用“i”命令將子目錄清單添加到當前的Dired緩沖區,將在當前緩沖區移動到第一個子目錄

* c
  Mark→Change Marks

dired-change-marks

改變指定文件的標記,例如,從*(一般標記)到D(待刪除標記)

* !或M-Del
  Mark→Unmark All

dired-unmark-all-files

從所有文件中刪除所有標記

* *
  Mark→Mark Executables

dired-mark-executables

給可執行文件加上標記;去掉這些標記的命令是“C-u *”

* /
  Mark→Mark Directories

dired-mark-directories

給目錄加上標記;去掉這些標記的命令是“C-u /”

* @
  Mark→Mark Symlinks

dired-mark-symlinks

給符號鏈接加上標記;去掉這些標記的命令是“C-u * @”

M-}
  Mark→Next Marked

dired-next-marked-file

移動到下一個有“*”或 “D”標記的文件

M-{
  Mark→Previous Marked

dired-prev-marked-file

移動到上一個有“*”或 “D”標記的文件

% d
  Regexp→Flag

dired-flag-files-regexp

為匹配正則表達式的文件添加待刪除標記

% g
  Regexp→Mark Containing

dired-mark-files-containing-regexp

為其內容匹配正則表達式的文件添加標記

% l
  Regexp→Downcase

dired-downcase

小寫標記的文件

% R
  Regexp→ Mark

dired-do-rename-regexp

用“filenames”重新命名匹配正則表達式的文件

% u
  uRegexp→Upcase

dired-upcase

大寫標記的文件

 

表5-3:打印命令速查表

鍵盤操作

動作

M-x print-buffer
  File→Print Buffer

打印編輯緩沖區(類似於UNIX中的“pr | lpr”命令)

M-x print-region
  File→Print Region

打印文本塊(類似於UNIX中的“pr | lpr”命令)

M-x lpr-buffer

打印編輯緩沖區,但不帶頁碼(類似於UNIX的“lpr”命令)

M-x lpr-region

打印文本塊,但不帶頁碼(類似於UNIX的“lpr”命令)

P
  Operate→Print

在Dired里,把默認的打印命令放到輔助輸入緩沖區里;按回車執行它之前還可以對它進行修改

M-x ps-print-buffer-with-faces
  File→Postscript Print Buffer

打印帶有文本屬性的編輯緩沖區

M-x ps-print-region-with-faces
  File→Postscript Print Region

打印帶有文本屬性的文本塊

 

表5-4:日歷移動命令速查表

鍵盤操作

命令名稱

動作

(無)
  Tools→Calendar

calendar

顯示日歷

.
  Goto→Today

calendar-goto-today

移動到今天的日期

C-f

calendar-forward-day

向前移動一天

C-b

calendar-backward-day

向后移動一天

C-n

calendar-forward-week

向前移動一星期

C-p

calendar-backward-week

向后移動一星期

M-}

calendar-forward-month

向前移動一個月

M-{

calendar-backward-month

向后移動一個月

C-x ]
  Scroll→Forward 1 Year

calendar-forward-year

向前移動一年

C-x [
  Scroll→Backward 1 Year

calendar-backward-year

向后移動一年

C-a 
  Goto→Beginning of Week

calendar-beginning-of-week

移動到本星期的開始

C-e 
  Goto→End of Week

calendar-end-of-week

移動到本星期的結束

M-a 
  Goto→Beginning of Month

calendar-beginning-of-month

移動到本月的開始

M-e 
  Goto→End of Month

calendar-end-of-month

移動到本月的結束

M-< 
  Goto→Beginning of Year

calendar-beginning-of-year

移動到本年的開始

M-> 
  Goto→End of Year

calendar-end-of-year

移動到本年的結束

g d
  Goto→Other Date

calendar-goto-date

移動到指定日期

o

calendar-other-month

把指定月份放在日歷畫面中間

C-x <
  Scroll→Forward 1 Month

scroll-calendar-left

前卷一個月

C-x >
  Scroll→Backward 1 Month

scroll-calendar-right

后卷一個月

C-v
  Scroll→Forward 3 Months

scroll-calendar-left-three-months

前卷三個月

M-v
  Scroll→Forward 3 Months

scroll-calendar-right-three-months

后卷三個月

Space

scroll-other-window

卷動另外一個窗口

 

表5-5:日歷和日記命令速查表

鍵盤操作

命令名稱

動作

p d

calendar-print-day-of-year

顯示今天是本年度的第幾天(比如365天里的第364天)

p o

calendar-print-other-dates

顯示這個日期的所有日歷信息

Space

scroll-other-window

卷動另一個窗口

q

exit-calendar

退出日歷功能

a
  Holidays→For Window

list-calendar-holidays

顯示日歷畫面期間的假期

h
  Holidays→For Cursor Date

calendar-cursor-holidays

在輔助緩沖區中顯示今天的節假日(如果有節假日)

x
  Holidays→Mark

mark-calendar-holidays

突出顯示節假日,節假日將被顯示另外一種字體、另外一種顏色或者在它們旁邊加上一個星號(*)

u
  Holidays→Unmark Calendar

calendar-unmark

去掉用來突出節假日的標記(與x命令的功能正好相反)

i w
  Diary→Insert Weekly

insert-weekly-diary-entry

根據此時是星期幾添加一項以一星期為循環周期的日記條目

i y
  Diary→Insert Yearly

insert-yearly-diary-entry

添加一項以一年為循環周期的日記條目

i d
  Diary→Insert Daily

insert-diary-entry

為指定日期添加一項日記條目

i m
  Diary→Insert Monthly

insert-monthly-diary-entry

添加一項以一個月為循環周期的日記條目

i c
  Diary→Insert Cyclic

insert-cyclic-diary-entry

添加一項以n天為循環周期的日記條目

i a
  Diary→Insert Anniversary

insert-anniversary-diary-entry

添加一項以一年為循環周期的日記條目

i b
  Diary→Insert Block

insert-block-diary-entry

添加一項日期段條目

m

mark-diary-entries

突出顯示日記條目,它們被顯示為另外一種字體、另外一種顏色或者在它們旁邊加上一個加號(+)

d

view-diary-entries

顯示當前日期的日記條目

s
  Diary→Show All

show-all-diary-entries

顯示“.diary”文件的內容

M-=

calendar-count-days-region

計算某個時間段里的天數

M
  Moon→Lunar Phases

calendar-phases-of-moon

顯示3個月期間的月相情況

S

calendar-sunrise-sunset

根據給定的經度和緯度,顯示當前日期的日出、日落時間

C-Space或C-@

calendar-set-mark

以時間日期為對象設置(時間)塊標記,而不是按普通情況設置文本標記

 

第六章電子郵件和Usenet新聞

 

表6-1:郵件發送命令速查表

鍵盤操作

命令名稱

動作

C-x m

mail

打開“*mail*”編輯緩沖區,以郵件模板為基礎填寫有關資料和郵件內容

C-x 4 m

mail-other-window

在一個新窗口打開“*mail*”編輯緩沖區

C-x 5 m

mail-other-frame

在一個新窗格里打開“*mail*”編輯緩沖區

C-c C-f C-t
  Headers→To

mail-to

移動到“To:”欄

C-c C-f C-c
  Headers→Cc

mail-cc

移動到“CC:”欄(如果沒有就創建之)

C-c C-f C-b
  Headers→Bcc

mail-bcc

移動到“BCC:”欄(如果沒有就創建之)

C-c C-f C-f
  Headers→Fcc

mai-fcc

提示輸入一個文件名,然后向這個文件發送一份郵件副本

C-c C-f C-r
  Headers→Reply-To

mai-reply-to

指定一個地址,而這封郵件的回復都將被發到這個地址上去

C-c C-f C-s
  Headers→Subject

mai-subject

移動到信頭中的主題欄

C-c C-t
  Headers→Text

mai-text

移動到可以開始輸入信體的地方去

C-c C-w
  Mail→Insert Signature

mail-signature

插入“.signature”文件的內容

C-c C-c
  Mail→Send Message

mail-send-and-exit

發送郵件並退出“*mail*”編輯緩沖區

C-c C-s
  Mail→Send,Keep Editing

mail-send

發送郵件,但不退出“*mail*”編輯緩沖區

(無)

define-mail-alias

為某個名字或某個郵件表定義一個縮寫的假名

(無)

 Mail→Cancel

mail-dont-send

取消正在書寫的郵件信息

 

表6-2:郵件信頭中的信息欄

信頭中的信息欄

作用

To:

收信人:此郵件將被發送給這些人

CC:

抄送:這些人將收到此郵件的一個副本

FCC:

文件抄送:此郵件的一個副本將被追加到這個文件的末尾

BCC:

密抄:這些人將收到此郵件的一個副本,但他們的名字不會出現在此郵件的信頭里

Subject

主題:此郵件信息的主題

From:

發信人:發出這封郵件的人(如果與自己的用戶名不一樣);這一欄只有在用別人的帳戶發郵件消息時才需要填寫

Reply-to:

回信地址:此郵件的回信應該被發到的地址

 

表6-3:RMAIL命令速查表

鍵盤操作

命令名稱

動作

SPACE

scroll-up

卷屏,查看此消息的下一個畫面

DEL

srloll-down

卷屏,查看此消息的上一個畫面

.

rmail-beginning-of-message

移動到此消息的開頭

n
  Move→Next

rmail-next-undeleted-message

移動到下一條消息

p
  Move→Previous

rmail-previous-undeleted-message

移動到上一條消息

<
  Move→First

rmail-first-message

移動到第一條消息

>
  Move→Last

rmail-last-message

移動到最后一條消息

j

rmail-show-message

如果這個命令的前面有一個數字“n”,跳到第n條消息

 

表6-4:郵件刪除命令速查表

鍵盤操作

命令名稱

動作

d

 Delete→Delete

rmail-delete-forward

給郵件加上待刪除標記,然后移動到下一個

C-d

rmail-delete-backward

給郵件加上待刪除標記,然后移動到上一個

M-n
  Move→Next

rmail-next-message

移動到下一條消息;不管它是否已經加上待刪除標記

M-p
  Move→Previous

rmail-previous -message

移動到上一條消息;不管它是否已經加上待刪除標記

u
  Delete→Undelete

rmail-undelete- previous -message

去掉郵件信息上的待刪除標記

x
  Delete→Expunge

rmail- Expunge

刪除已經加有待刪除標記的全部信息

s

 Delete→Expunge/Save

rmail- Expunge-and-save

刪除已經加有待刪除標記的全部信息並保存RMAIL文件

 

表6-5:郵件文件操作命令速查表

鍵盤操作

命令名稱

動作

o filename ENTER

 Classify→Output(Rmail)

rmail-output-to-rmail-file

把郵件消息保存為RMAIL文件格式

C-o filename ENTER

 Classify→Output(inbox)

rmail-output

把郵件消息保存為UNIX郵件文件格式(一個標准的ASCII文本文件)

i filename ENTER
  Move→Next

rmail-input

從文件里讀出郵件消息並把該文件轉換為RMAIL格式

(無)

unrmail

創建RMAIL文件的ASCII版本

 

表6-6:郵件清單操作命令速查表

鍵盤操作

命令名稱

動作

SPACE

rmail-summary-scroll-msg-up

向前卷動RMAIL窗口里的郵件消息

DEL

rmail-summary-scroll-msg-down

向后卷動RMAIL窗口里的郵件消息

d

 Delete→Delete

rmail-summary-delete-forward

給消息加上待刪除標記(在消息序號前出現字母“D”標記)

e

rmail-summary-edit-current-message

編輯當前信息(完成時要按下“C-c C-c”組合鍵

u

 Delete→Undelete

rmail-summary-undelete

去掉當前消息上的待刪除標記

n

rmail-summary-next-msg

移動到下一條消息並把它顯示在RMAIL窗口里

p

rmail-summary-previous-msg

移動到上一條消息並把它顯示在RMAIL窗口里

x

 Delete→Expunge

rmail-summary-expunge

刪除所有加有待刪除標記的消息

q

rmail-summary-quit

退出RMAIL

w

rmail-summary-wipe

刪除RMAIL郵件清單窗口

 

表6-7:內置的郵件消息分類標簽

分類標簽

含義

field

此消息已經被保存到一個郵件文件里

unseen

還沒有讀過這條消息

answered

已經(用“r”命令)給這條郵件發了封回信

forwarded

已經把這條消息轉發給別人

deleted

已經給這條消息加上了待刪除標記

 

表6-8:郵件排序命令速查表

鍵盤操作

命令名稱

動作

h

 Summary→All

rmail-summary

顯示郵件清單

ESC C-t

 Summary→By Topic

rmail-summary-by-topic

按指定主題列出一個郵件清單;相應的查找操作是對“Subject:”欄進行的

ESC C-s

 Summary→By Regexp

rmail-summary-by-regexp

按指定正則表達式列出一個郵件清單;相應的查找操作是對信頭的所有信息欄進行的

ESC C-s

 Summary→By Recipients

rmail-summary-by-recipientsa

按用戶列出一個郵件清單

l

 Summary→By Labels

rmail-summary-by-labels

按分類標簽列出一個郵件清單

(無)

rmail-sort-by-date

按日期對RMAIL文件進行排序

(無)

rmail-sort-by-subject

按主題對RMAIL文件進行排序

(無)

rmail-sort-by-author

按作者對RMAIL文件進行排序

(無)

rmail-sort-by-recipient

按收信人對RMAIL文件進行排序

(無)

rmail-sort-by-lines

按消息長度對RMAIL文件進行排序(從短到長)

(無)

rmail-sort-by-correspondents

按對應關系對RMAIL文件進行排序

C-u

universial-argument

顛倒排序順序

a.這里用“recipient(收信人)”一詞有些誤導成份。這個命令給出的郵件清單其實是按用戶排列的,不管他是發出郵件的人、收到郵件的人,還是收到郵件抄送副本的人。

 

表6-9:“Goup”編輯緩沖區操作命令速查表

鍵盤操作

命令名稱

動作

(無)

 Tools→Read Net News

gnus

啟動Gnus

SPACE

 Group→Read

gnus-group-read-group

閱讀光標位置處的新聞組里的文章

j

 Groups→Jump to group

gnus-group-jump-to-group

提示輸入一個新聞組名稱以轉到它那里去(可以轉到未曾訂閱的新聞組)

n

gnus-group-next-unread-group

移動到下一個有尚未閱讀過的新聞的新聞組

p

gnus-group-prev-unread-group

移動到上一個有尚未閱讀過的新聞的新聞組

N

gnus-group-next-group

移動到下一個新聞組

P

gnus-group-prev-group

移動到上一個新聞組

beginning-of-buffer

移動到編輯緩沖區的開始

end-of-buffer

移動到編輯緩沖區的末尾

u

 Group→Toggle subscription

gnus-group-unsubscribe-current-group

訂閱或者撤銷訂閱這個新聞組

U

gnus-group-unsubscribe-group

訂閱或者撤銷訂閱一個指定的新聞組

c

gnus-group-catchup-current

給這個新聞組里的所有文章都加上已閱讀標記並刪除它們

C

 Group→Catch up all articles

gnus-group-catchup-current-all

給這個新聞組里的所有文章都加上已閱讀標記並刪除它們,包括那些帶驚嘆號(表示文章已保存)的文章

A k

gnus-group-list-killed

列出那些被“.newsrc.eld”文件里的語句所排除掉的新聞組

l

gnus-group-list-groups

列出已訂閱並且有新聞可讀的新聞組

L

gnus-group-list-all-groups

列出此服務器上的全體新聞組

g

 Misc→Check for new news

gnus-group-get-new-news

取回啟動Gnus后新收到的新聞

R

 Misc→Restart Gnus

gnus-group-restart

讀“.newsrc”文件並重新啟動Gnus(同時取回最新的新聞)

b

 Misc→Delete bogus groups

gnus-group-check-blogus-groups

找出不存在的新聞組並刪除它們

a

 Misc→Post an article

gnus-group-post-news

為這個新聞組寫一篇新文章

C-x C-t

gnus-group-transpose-groups

交換當前行和上一行的位置

s

 Misc→Save .newsrc files

gnus-group-save-newsrc

保存“.newsrc”文件

z

 Misc→Suspend Gnus

gnus-group-suspend

臨時性地掛起Emacs和Gnus

q

 Misc→Exit from Gnus

gnus-group-exit

退出新聞功能並刷新“.newsrc”文件

Q

 Misc→Exit without saving

gnus-group-quit

退出新聞功能但不刷新“.newsrc”文件

V

 Misc→Gnus version

gnus-version

顯示Gnus的版本號

 

表6-10:“Summary”編輯緩沖區操作命令速查表

鍵盤操作

命令名稱

動作

.

gnus-summary-first-unread-article

移動到此新聞組里尚未讀過的第一篇文章處

 Article→Beginning of the article

gnus-summary-beginning-of-article

移動到當前文章的開始

 Article→End of the article

gnus-summary-end-of-article

移動到當前文章的末尾

n

gnus-summary-next-unread-article

移動到下一篇文章

N

gnus-summary- next-article

移動到下一篇文章(即使已經讀過)

p

gnus-summary-prev-unread-article

移動到上一篇文章

P

gnus-summary-prev-article

移動到上一篇文章(即使已經讀過)

l

gnus-summary-goto-last-article

移動到剛讀過的最后一篇文章(如果移動得太快,可以用這條命令返回去)

H f

 Misc→Fetch group FAQ

gnus-summary-fetch-faq

取回這個新聞組的常見問題答疑文件

ESC C-t

 Threads→Toggle threding

gnus-summary-toggle-threads

打開/關閉線索功能

ESC C-k

 Threads→Mark thread as read

gnus-summary-kill-thread

排除當前線索,包括其子線索

ESC C-d

 Threads→Go down thread

gnus-summary-down-thread

移動到這個線索的下一篇文章處

ESC C-u

 Threads→Go up thread

gnus-summary-up-thread

移動到這個線索的上一篇文章處

ESC C-f

 Threads→Go to next thred

gnus-summary-next-thread

移動到下一個線索(即移動到另外一個主題)

ESC C-b

 Threads→Go to previous thred

gnus-summary-prev-thread

移動到上一個線索(即移動到另外一個主題)

ESC C-h

 Threads→Hide thread

gnus-summary-hide-thread

隱藏當前線索

ESC C-s

 Threads→Display hidden thread

gnus-summary-show-thread

顯示當前線索

q

gnus-summary-exit

返回“Group”編輯緩沖區

Q

gnus-summary-exit-no-update

返回“Group”編輯緩沖區,但不刪除讀過的文章

c

 Group→Catch up

gnus-summary-catchup-and-exit

給此新聞組里的文章都加上已閱讀標記並返回“News-group”編輯緩沖區

u

gnus-summary-tick-article-forward

給當前文章加上未閱讀標記,在它旁邊放上一個驚嘆號以保留它供今后閱讀。如果重復輸入此命令,則保存下一篇文章

U

gnus-summary-tick-article-backward

給當前文章加上未閱讀標記,在它旁邊放上一個驚嘆號以保留它供今后閱讀。如果重復輸入此命令,則保存上一篇文章

C-o

gnus-summary-save-article-mail

以UNIX格式保存當前文章

o

gnus-summary-save-article

以RMAIL格式保存當前文章

d

gnus-summary-mark-as-read-forward

給當前文章加上已閱讀標記,從當前行開始向下移動

D

gnus-summary-mark-as-read-backward

給當前文章加上已閱讀標記,從當前行開始向回移動

j

gnus-summary-goto-subject

要求指定在屏幕上顯示的文章篇數

ESC n

gnus-summary-next-unread-subject

移動到下一個尚未讀過的主題

ESC p

gnus-summary-prev-unread-subject

移動到上一個尚未讀過的主題

ESC C-n

gnus-summary-next-same-subject

移動到同一主題的下一篇尚未讀過的主題

ESC C-p

gnus-summary-prev-same-subject

移動到同一主題的上一篇尚未讀過的主題

m

 Post→Send a mail

gnus-summary-mail-other-window

打開一個電子郵件消息的編輯緩沖區

C-c C-f

gnus-summary-mail-forward

把這篇文章的副本發送給某人

=

gnus-summary-expand-window

擴展“Summary”窗口,讓它充滿整個屏幕

g

 Article→Redisplay

gnus-summary-show-article

顯示當前文章(特別適用於擴展了的“Summary”窗口或者需要在這個窗口里移動的情況)

g

 Article→Isearch article

gnus-summary-isearch-article

用isearch功能查找當前文章中的文本

ESC s

 Article→Search all articles

gnus-summary-search-article-forward

對當前文章進行正方向的正則表達式查找

ESC r

gnus-summary-search-article-backward

對當前文章進行反方向的正則表達式查找

t

gnus-summary-toggle-header

打開/關閉文章信息頭的詳細顯示狀態

w

gnus-summary-stop-page-breaking

不在文章中出現換頁符的地方進行分布

x

gnus-summary-remove-lines-marked-as-read

把帶已閱讀標記的文章全部刪除

C-c TAB

gnus-info-find-node

顯示Gnus的Info幫助信息

C-c C-r

gnus-summary-caesar-message

加密/解密這篇文章

C-x C-s

gnus-summary-reselect-current-group

重啟這個新聞組,不給文章加上已閱讀標記

ESC t

gnus-summary-toggle-mime

進入MIME模式

ESC U

gnus-summary-clear-mark-backward

清除當前行上的所有標記,包括連字符、排除標記“K”、待刪除標記“D”。如果重復輸入這個命令,則清除前一行上的標記

ESC u

gnus-summary-clear-mark-forward

清除當前行上的所有標記。如果重復輸入這個命令,則清除后一行上的標記

C-t

 Misc→Toggle line truncation

gnus-summary-toggle-truncation

打開/關閉針對長文本行的截斷功能

&

 Misc→Filter articles

gnus-summary-execute-command

在信頭部分里查找指定的正則表達式

|

gnus-summary-pipe-output

把這篇文章經管道輸出到一個子進程去,比如送去打印等

C-d

 Article→Enter digest buffer

gnus-summary-rmail-digest

如果這篇文章是一份文摘,分析並閱讀之

 

表6-11:與過濾文件有關的命令速查表

鍵盤操作

命令名稱

動作

C-k

 Group→Kill

gnus-summary-kill-same-subject

排除這個主題下的所有文章;其反操作是“C-u C-k”組合鍵

k

gnus-summary-kill-same-subject-and-select

排除這個主題下的所有文章,並選擇下一個主題;其反操作是“C-u k”組合鍵

ESC k

 Group→Edit kill file

gnus-summary-edit-local-kill

編輯一個局部過濾文件(只對當前新聞組有影響)

ESC k

 Group→Edit global kill file

gnus-summary-edit-global-kill

編輯一個全局過濾文件(對所有的新聞組有影響)

C-c C-k C-a

gnus-kill-file-kill-by-author

插入排除此作者全部文章的LISP代碼

C-c C-k C-s

gnus-kill-file-kill-by-subject

插入排除此主題全部文章的LISP代碼

C-c C-c

gnus-kill-file-exit

保存過濾文件並退出“kill”編輯緩沖區

 

表6-12:投稿命令速查表

鍵盤操作

命令名稱

動作

a

 Post→Post an article

gnus-summary-post-news

張貼一篇新文章

r

gnus-summary-reply

直接回復文章的作者

R

 Post→Reply and yank

gnus-summary-reply-with-original

直接回復文章的作者並附帶一份原文的副本

f

gnus-summary-followup

把對當前文章的回應張貼到Usenet上

F

 Post→Followup and yank

gnus-summary-followup-with-original

把對當前文章的回應張貼到Usenet上並附帶一份原文的副本

C-c C-f C-n

news-reply-newsgroups

移動到“News”編輯緩沖區的“Newsgroups:”欄;如果它不存在,就創建它

C-c C-f C-f

news-reply-followup-to

移動到“News”編輯緩沖區的“Flowup-To:”欄,如果它不存在,就創建它

C-c C-f C-k

news-reply-keywords

移動到“News”編輯緩沖區的“Keywords:”欄,如果它不存在,就創建它

C-c C-f C-d

news-reply-distribution

移動到“News”編輯緩沖區的“Distribution:”欄,如果它不存在,就創建它

C-c C-f C-a

news-reply-summary

移動到“News”編輯緩沖區的“Summary:”欄,如果它不存在,就創建它

C-c C-y

news-reply-yank-original

在“News”編輯緩沖區里插入原始文章

C-c C-q

mail-fill-yanked-message

對插入到“News”編輯緩沖區里的原始文章進行段落重排(以便它們有統一的文本行長度)

C-c C-r

gnus-summary-caesar-message

在“News”編輯緩沖區里對文章進行簡單的加密(采用rot13算法)

C-c C-c

news-inews

把文章張貼到Usenet上(如果在“News”編輯緩沖區里)或把它作為電子郵件發出去(如果在“mail”編輯緩沖區里)

C

gnus-summary-cancel-article

在“Summary”編輯緩沖區里,撤回投稿

 

第七章 Emacs的因特網工具箱

 

表7-1:Telnet命令速查表

鍵盤操作

命令名稱

動作

(無)

telnet

進入Telnet模式

C-d

comint-delchar-or-maybe-eof

根據上下文,發送EOF字符或刪除光標位置下的字符

RETURN

telnet-send-input

處理Telnet輸入

C-c C-c

telnet-interrupt-subjob

中斷當前作業,相當於shell中的“C-c”組合鍵

C-c C-q

send-process-next-char

發送緊隨其后的控制字符,相當於shell中的“C-q”組合鍵

C-c C-d

comint-send-eof

發送EOF(文件尾)字符

C-c C-r

comint-show-output

讓輸出內容的第一行顯示在窗口的頂部

ESC C-l

comint-show-output

讓輸出內容的第一行顯示在窗口的頂部

C-c C-e

comint-show-maximum-output

讓輸出內容的最后一行顯示在窗口的底部

C-c C-o

comint-kill-output

刪除上一個命令的輸出內容

C-c C-z

telnet-c-z

掛起或暫停一個作業,相當於shell中的“C-z”組合鍵

C-c C-w

backward-kill-word

刪除前一個單詞

C-c C-u

comint-kill-input

刪除當前行,相當於shell中的“C-u”組合鍵

ESC n

comint-next-input

查看此后輸入的命令(重復時可查看到更靠后的命令)

ESC P

comint-previous-input

查看此前輸入的命令(重復時可查看到更靠前的命令)

 

表7-2:W3命令速查表

鍵盤操作

命令名稱

動作

(無)

w3-follow-URL-at-point

取回光標位置處的URL並進入W3(在Emacs的任何組件里都能使用這個命令進入W3)

(無)

w3

進入w3,並把默認起始頁面顯示在屏幕上

C-o

w3-fetch

提示輸入一個URL,然后把它取回來

SPACE

scroll-up

向后卷動屏顯內容

DEL

sroll-down

向前卷動屏顯內容

RETURN

w3-follow-link

選中一個超鏈接

w3-start-of-document

前進到當前頁的最開始

w3-end-of-document

前進到當前頁的最末尾

TAB或n

w3-forward-link

移動到下一個超鏈接

b

w3-back-link

移動到前一個超鏈接

m

w3-complete-link

提示輸入一個要移動到的超鏈接

I

w3-goto-last-buffer

前進到訪問過的最后頁

B

w3-backward-in-historya

退回到上一頁

F

w3-forward-in-history

前進到歷史記錄里的下一頁

C-c C-b

w3-show-history-list

把歷史記錄顯示為超鏈接

a

w3-hotlist-add-document

把當前頁面添加到收藏夾里

A

w3-hotlist-add-document-at-point

把光標位置上的URL添加到收藏夾里

d

w3-hotlist-delete

提示指定一個收藏夾條目以刪除它

H

w3-show-hotlist

把收藏夾顯示為超文本

h

w3-use-hotlist

指示指定一個收藏夾條目以顯示它

(無)

w3-rename-hotlist-entry

指示指定一個收藏夾條目以重新命名

ESC RETURN

w3-follow-inlined-image

嘗試顯示插入點處的鏈接圖片

v

url-view-url

顯示當前頁的URL地址

V

w3-view-this-url

顯示光標位置處超鏈接的URL地址

k或C-k

w3-save-url

把當前頁的URL地址復制到刪除環里

K

w3-save-this-url

把光標位置處的URL地址復制到刪除環里

s

w3-source-document

顯示這一頁的HTML源碼

S

w3-source-document-at-point

顯示光標位置處URL的HTML源代碼

o

w3-open-local

在W3中打開一個本地HTML文件

U

w3-use-links

前進到下一個<LINK>標記處

?

w3-help

查閱W3的在線手冊

Q或u

w3-leave-buffer

退出W3,但不刪除當前編輯緩沖區

q

w3-quit

退出W3,並刪除當前編輯緩沖區

g或r

w3-reload-document

刪除編輯緩沖區,然后再重新取回這一頁

l

w3-goto-last-buffer

前進到剛才訪問過的前一個編輯緩沖區

P

p3-print-url-under-point

以HTML或LATEX格式把光標位置處URL指示的主頁打印出來

p

w3-print-this-url

以HTML或LATEX格式把當前主頁打印出來

w

w3-submit-bug

提交一份在W3里發現的程序漏洞報告

C-c C-v

w3-version

顯示W3版本號

ESC s

w3-search

查找(如果這是一個可查找數據項)。用Emacs的查找命令進行本地查找

ESC m

w3-mail-current-document

把這個主頁以電子郵件方式發送給某人,具體格式由用戶自己選定

ESC M

w3-mail-document-under-point

取回光標位置處URL指示的主頁並把它發送給某人

ESC TAB

w3-insert-this-url

提示指定一個用來放置此URL的編輯緩沖區;如果帶有“C-u”前綴,就把URL插入到光標位置處

 

w3-point-netscape-boolmarks

導入Netscape的收藏夾文件並把它轉換為W3格式(原始文件不會被修改)

a.只有在變量url-keep-history被設置為“t”時,與歷史記錄有頭的命令才能用。要想對該變量做它永久性的設置,請把下面這條語句添加到“.emacs”文件里:

   (setq url-keep-history t)


 

第八章簡章的文字排版和特效編輯

 

表8-1:制表位命令速查表

鍵盤操作

命令名稱

動作

(無)

edit-tab-stops

打開一個名為“*Tab Stops*”的編輯緩沖區以便改變制表位的設置情況

(無)

untabify

把全部制表位都轉換為對應個數的空格

(無)

tabify

在不影響文本版面的情況下把3個及3個以上的空格視需要轉換為制表位間隔

 

表8-2:縮進命令速查表

鍵盤操作

命令名稱

動作

C-j

newline-and-indent

移動到下一行並縮進使其與當前行有相同的縮進級別

(無)

paragraph-indent-text-mode

第一行縮進且段落之間沒有空行的一個主模式

(無)

paragraph-indent-minor-mode

相當於文本縮進模式的副模式

(無)

fill-individual-paragraphs

根據段落的縮進情況對它們進行段落重排

C-x Tab

indent-rigidly

縮進一列;前面加上“C-u”或“M-n”以進行指定的列數縮進

C-M-\

indent-region

按第一行的縮進設置把文本塊作整體的縮進

M-m

back-to-indentation

把光標移動到文本行的第一個字符

C-M-o

split-line

在光標位置處分拆文本行,並把它的后半截縮進到光標所在的那一列

(無)
  Edit→Text Properties→Indentation→Indent More

increase-left-margin

增加編輯緩沖區左縮進層次,默認為四個字符

(無)
  Edit→Text Properties→Indentation→Indent Less

decrease-left-margin

減少編輯緩沖區左縮進層次,默認為四個字符

(無)
  Edit→Text Properties→Indentation→Indent Right More

decrease-right-margin

減少編輯緩沖區右縮進層次,默認為四個字符

(無)
  Edit→Text Properties→Indentation→Indent Left More

increase-right-margin

增加編輯緩沖區右縮進層次,默認為四個字符

C-x .

set-fill-prefix

把左邊界到光標位置之間的字符串設置為加在段落每一行之前的縮進前導字符串;在第一列輸入這個命令,表示此后將不再插入縮進前導字符串

 

表8-3:居中命令速查表

鍵盤操作

命令名稱

動作

M-s

center-line

把光標所在的文本行居中

M-S

center-paragraph

把光標所在的段落居中

(無)

center-region

把當前定義的文本塊居中

(無)
  Edit→Text Properties→Justification→Center

set-justification-center

把選定的文本居中

 

表8-4:矩形編輯命令速查表

鍵盤操作

命令名稱

動作

C-x r k

kill-rectangle

刪除一個矩形並把它保存起來

C-x r d

delete-rectangle

刪除一個矩形但不把它保存起來

C-x r y

yank-rectangle

在光標位置插入最后一次刪除的矩形

C-x r c

clear-rectangle

使用空格清除矩形區域的內容,並且不保存它

C-x r o

open-rectangle

在矩形區域里插入一個空白矩形

C-x r r r

copy-rectangle-to-register

復制矩形區域到寄存區r(這時r是任何字符)

C-x r i r

insert-register

把保存在寄存區r里的矩形區域內容插入到當前位置(這時r是任何字符)

(無)

delete-whitespace-rectangle

如果一個矩形包含空白字符,將其刪除,並縮小矩形

C-x r t string Enter

string-rectangle

改變被標記的矩形,將其內容發放字符串(如果字符串比矩形太寬或太窄,尺寸將做相應的改變)

(無)

string-insert-rectangle

提示輸入字符串,並插入矩形

 

表8-5:圖形模式與文本模式的對比

鍵盤操作

文本模式

圖形模式

圖形模式下的等價命令

Enter

插入一個空白行

把光標移動到下一行

“C-o”組合鍵插入一個空白行

C-d

刪除字符並把其余文本左移

把字符替換為一個空格,不移動其余文本

“C-c C-d”組合鍵相當於文本模式下的“C-d”組合鍵

Space

把文本向右移,插入一個空格

把光標向右移,沿途經過的所有字符都將被替換為空格

無;請回到文本模式去插入空格a

C-k

刪除當前行上的文本;按兩次“C-k”組合鍵將刪除這一行

刪除當前行上的文本,但不刪除這一行

刪除某行需回到文本模式進行操作或者使用delete-rectangle命令

Tab

插入制表符並把后續文本向右移

向右移動光標,但不影響沿途經過的文本

要想插入與一個制表位等價的空格,請回到文本模式進行操作

C-n

移動到下一行

向下移動,但光標的列坐標保持不變

(無)

C-p

移動到上一行

向上移動,但光標的列坐標保持不變

(無)

C-f

向文件尾方向移動一個字符

向右移動一個字符

(無)

C-b

向文件頭方向移動一個字符

向左移動一個字符;到達行首后就不再移動

(無)

a.如果想插入的是一個空白塊,就得使用open-rectangle之類的命令。具體用法請參考本章前面對這一命令的介紹。另外,如果想在行尾插入空格,就得使用“C-f”之類的組合鍵。

 

表8-6:圖形模式編輯命令速查表

鍵盤操作

命令名稱

動作

(無)

picture-modeoredit-picture

進入圖形模式

C-c C-c

picture-mode-exit

退出圖形模式,返回此前的編輯模式

C-c ^

picture-movement-up

把默認繪制方向的設置為上

C-c .

picture-movement-down

把默認繪制方向的設置為下

C-c >

picture-movement-right

把默認繪制方向的設置為右

C-c <

picture-movement-left

把默認繪制方向的設置為左

C-c `

picture-movement-nw

把默認繪制方向的設置為左上

C-c `

picture-movement-ne

把默認繪制方向的設置為右上

C-c /

picture-movement-sw

把默認繪制方向的設置為左下

C-c \

picture-movement-se

把默認繪制方向的設置為右下

C-c C-f

picture-motion

沿默認繪制方向向前移動光標

C-c C-b

picture-motion-reverse

沿默認繪制方向向后移動光標

C-f

picture-forward-column

把光標向右移動一個字符

C-b

picture-backward-column

把光標向左移動一個字符

C-n

picture-move-down

把光標向下移動一個字符

C-p

picture-move-up

把光標向上移動一個字符

C-d

picture-clear-column

把光標下的字符轉換為一個空格,不把其右側的文本向左移

C-c C-d

delete-char

刪除光標下的字符,把其右側的文本向左移

C-k

picture-clear-line

刪除當前行上的文本,但即使連續按兩次也不會刪除這一行

C-o

picture-open-line

插入一個空白行

C-c C-wr

picture-clear-rectangle-to-register

清除矩形區域的內容並把它保存到寄存區r里

C-u C-c C-wr

picture-clear-rectangle-to-register

刪除矩形區域並把它保存到寄存區r里

C-c C-xr

picture-yank-rectangle-from-register

把保存在寄存區r里的矩形區域內容粘貼到到當前位置

C-c C-r

picture-draw-rectangle

在當前區域周圍繪制一個矩形

C-c C-y

picture-yank-rectangle

粘貼矩形

C-c C-k

picture-clear-rectangle

清除矩形

C-c Tab

picture-set-tab-stops

設置制表位只在圖形模式下適用 (“!”、“-”、 和“~”指默認制表位)

M-Tab

picture-tab-search

移動到下一個圖形模式選項卡

 

表8-7:大綱模式命令速查表

鍵盤操作

命令名稱

動作

(無)

outline-mode

切換大綱模式

C-c C-n
  Headings→Next

outline-next-visible-heading

移動到下一個標題

C-c C-p
  Headings→Previous

outline-previous-visible-heading

移動到上一個標題

C-c C-f
  Headings→Next Same Level

outline-forward-same-level

移動到下一個同級的標題

C-c C-b
  Headings→Previous Same Level

outline-backward-same-level

移動到上一個同級的標題

C-c C-u
  Headings→Up

outline-up-heading

移動到上一級別的標題層次

C-c C-t
  Hide→Hide Body

hide-body

隱藏全體正文行

C-c C-a
  Show→Show All

show-all

顯示被隱藏起來的所有東西

C-c C-q
  Hide→Hide Sublevels All

hide-sublevels

只顯示第一級標題

C-c C-o
  Hide→Hide Other

hide-other

隱藏當前子樹以外的所有文字和標題。顯示第一級別標題

C-c @

outline-mark-subtree

標記當前標題和下級所有文字和標題

C-c C-^

outline-promote

提升當前標題一個級別

C-c C-v

outline-demote

降低當前標題一個級別

C-c C-d
  Hide→Hide Subtree

hide-subtree

隱藏某標題的全體下級小標題及其相關正文

C-c C-c
  Hide→Hide Entry

hide-entry

隱藏某標題的正文部分(不包括它的下級小標題和那些小標題的正文部分)

C-c C-l
  Hide→Hide Leaves

hide-leaves

隱藏某標題的正文部分,同時隱藏它全體下級小標題的正文部分(只留下標題)

C-c C-s
  Show→Show Subtree

show-subtree

顯示某給定標題的下級的下級小標題和它的相關文本

C-c C-e
  Show→Show Entry

show-entry

顯示某給定標題的相關文本(不包括它的下級小標題及它們的正文部分)

C-c C-k
  Show→Show Branches

show-branches

顯示某標題的正文及全體下級小標題的全部正文

C-c Tab
  Show→Show Children

show-children

顯示某標題的下一級小標題(不包括正文文本)

 

第三版新增內容

 

表8-8:繪圖模式編輯命令速查表

鍵盤操作

命令名稱

動作

(無)

artist-mode

進入繪圖模式

C-c C-c

artist-mode-off

退出繪圖模式,返回此前的編輯模式

C-f

artist-forward-char

向右移動一個字符(如果在一行的末尾,就在當前行中添加字符)

C-b

artist-backward-char

向左移動一個字符(如果在一行的開始,就什么事都不做)

C-n

artist-next-line

下移一列(如果在緩沖區的末尾,就添加新行到當前緩沖區)

C-p

artist-previous-line

上移一列(如果在緩沖區的開始,就什么事都不做)

C-c C-a C-o或按鼠標中鍵

artist-select-operation

選擇一個操作(按“TAB”鍵顯示操作清單)

C-c C-a f`
  Artist menu→Edit→Flood-fill

artist-select-op-flood-fill

選擇填充操作

C-c C-a C-k
  Artist menu→Edit→Cut

artist-select-op-cut-rectangle

在某一區域周圍繪制一個矩形,然后剪切之

C-c C-a M-w
  Artist menu→Edit→Copy

artist-select-op-copy-rectangle

在某一區域周圍繪制一個矩形,然后復制之

C-c C-a C-y
  Artist menu→Edit→Paste

artist-select-op-paste

粘貼你所復制的,不管是不是使用鼠標操作的

C-c C-a v
  Artist menu→Drawing→Vaporize

artist-select-op-vaporize-line

清除所選擇的一條線(文字行,而不是文件中的一行)

C-c C-a C-d
  Artist menu→Drawing→Erase

artist-select-op-erase-char

選擇擦除操作(鼠標將是清除器)

C-c C-a S
  Artist menu→Drawing→Spray-can

artist-select-op-spray-can

選擇油漆桶操作

C-c C-a e
  Artist menu→Drawing→Ellipse

artist-select-op-ellipse

繪制橢圓

C-c C-a p
  Artist menu→Drawing→Poly-line

artist-select-op-poly-line

繪制折線

C-c C-a r
  Artist menu→Drawing→Rectangle

artist-select-op-rectangle

繪制矩形

C-c C-a l
  Artist menu→Drawing→Line

artist-select-op-line

繪制直線

C-c C-a C-r
  Artist menu→Settings→Rubber banding

artist-toggle-rubber-banding

如果開啟(默認),當拉伸圖形時顯示形狀;否則(沒有開啟),將顯示端點

C-c C-a C-l
  Artist menu→Settings→Set Line

artist-select-line-char

選擇畫線時所使用的字符(默認是“-”)

C-c C-a C-f
  Artist menu→Settings→Set Fill

artist-select-fill-char

選擇字符來填充形狀(默認是空格)

 

第九章用Emacs設置排版標記

 

表9-1:各種標記模式下的注釋

如果在下列模式里敲入“M-;”

Emacs將插入

HTML模式

<!-- -->

HTML helper模式

<!-- -->

SGML模式

<!-- -->

nxml模式

<!-- -->

psgml模式

<!-- -->

LaTeX模式

%% (在空行上)

% (在有內容的行上)

 

表9-2:nroff配對模式支持的配對命令組

起始標記
(由用戶輸入)

收尾標記
(由Emacs自動插入)


使用情況

.(b

.)b

me宏定義包

.(l

.)l

me宏定義包

.(c

.)c

me宏定義包

.(x

.)x

me宏定義包

.(z

.)z

me宏定義包

.(d

.)d

me宏定義包

.(q

.)q

me宏定義包

.(f

.)f

me宏定義包

.LG

.NL

ms宏定義包

.LD

.DE

ms宏定義包

.CD

.DE

ms宏定義包

.BD

.DE

ms宏定義包

.DS

.DE

ms宏定義包

.DF

.DE

ms宏定義包

.FS

.FE

ms, mm宏定義包

.KS

.KE

ms宏定義包

.KF

.KE

ms宏定義包

.LB

.LE

mm宏定義包

.AL

.LE

mm宏定義包

.BL

.LE

mm宏定義包

.DL

.LE

mm宏定義包

.ML

.LE

mm宏定義包

.RL

.LE

mm宏定義包

.VL

.LE

mm宏定義包

.RS

.RE

ms宏定義包

.TS

.TE

tbl預處理器

.EQ

.EN

eqn預處理器

.PS

.PE

pic預處理器

.BS

.BE

mm宏定義包

.na

.ad b

torff指令

.nf

.fi

torff指令

.de

..

torff指令

 

表9-3:nroff模式命令速查表

鍵盤操作

命令名稱

功能

(無)

nroff-mode

進入nroff模式

ESC n

forward-text-line

把光標移動到下一個文本行

ESC p

backward-text-line

把光標移動到上一個文本行

ESC ?

cout-text-lines

統計文本塊中的文本行數

(無)

electric-nroff-mode

進入一個副編輯模式。在這個模式里,輸入必須配對出現的nroff命令組中的第一個,按“C-j”組合鍵,Emacs就會自動插入該配對命令組中的第二個命令

C-j

electric-nroff-newline

只能用在nroff配對模式里,自動插入一組必須配對出現的troff宏定義標記中的第二個

ESC ;

indent-for-comment

在文本里插入一個注釋標記

 

表9-4:TEX和LATEX命令速查表

鍵盤操作

命令名稱

功能

(無)

tex-mode

根據文件內容進入TEX模式或LATEX模式

(無)

plain-tex-mode

進入TEX模式

(無)

latex-mode

進入LATEX模式

C-j

tex-terminate-paragraph

插入兩個硬回車(標准的段落結束標記),並檢查段落的語法

C-c {

tex-insert-braces

插入兩個花括號,然后把光標放在它們中間

C-c }

up-list

插入光標在兩個花括號中間,就把光標移到緊跟右括號的后面

(無)
  TeX→Validate Buffer

tex-validate-buffer

檢查編輯緩沖區有無語法錯誤

(無)
  TeX→Validate Region

tex-validate-region

檢查文本塊有無語法錯誤

C-c C-f
  TeX→TeX File

tex-file

保存當前文件,然后對其進行TEX或LATEX排版處理

C-c C-b
  TeX→TeX Buffer

tex-buffer

對編輯緩沖區進行TEX或LATEX排版處理

C-c C-l
  TeX→TeX Recenter

tex-recenter-output-buffer

把排版信息畫面顯示在屏幕上,(至少)會顯示最后一條出錯信息

C-c C-k
  TeX→TeX Kill

tex-kill-job

中斷TEX或LATEX排版處理工作

C-c C-p
  TeX→TeX Print

tex-print

打印TEX或LATEX的排版輸出

C-c C-q
  TeX→Show Print Queue

tex-show-print-queue

查看打印隊列

C-c C-e

latex-close-block

只能用在LATEX模式里,自動插入某個命令組中的第二個命令

(無)

tex-close-latex-block

提供關閉元素命令對

C-c Tab`
  TeX→BibTeX File

tex-bibtex-file

對編輯緩沖區進行BIBTEX排版處理(一個自動創建目錄索引的系統)

C-c C-v
  TeX→TeX View

tex-view

查看DVI輸出

(無)
  TeX→Print (alt printer)

tex-alt-print

使用自定義變量“tex-alt-dvi-print-command”指定的打印機打印.dvi輸出文件

C-c C-o

latex-insert-block

插入塊(提示輸入塊的名稱和選項)

C-c C-u

tex-goto-last-unclosed-latex-block

向后查找文件未閉合塊,並將光標移動最近的未閉合塊

M-Enter

latex-insert-item

插入“\”項目

(無)

latex-split-block

插入結束到當前塊,開始到新塊

"

tex-insert-quote

插入的TeX風格的引號

 

表9-5:Html-helper模式命令速查表

鍵盤操作

命令名稱

動作

C-u

universal-argument

當加在其他標記命令的前面時,把標簽插入到文本塊的兩端

M-Tab

tempo-complete-tag

補足當前標簽

C-c C-z v
  HTML→Load This Buffer in Browser

browse-url-of-file

在默認瀏覽器中顯示該文件

C-c C-z u
  HTML→Browse URL at Point

browse-url-default-browser

在默認瀏覽器中打開光標位置處超鏈接的URL地址

C-c M-h 1
  HTML→Insert Headers→Header 1

tempo-template-html-header-1

插入<h1></h1>標簽

C C-c M-h 2
  HTML→Insert Headers→Header 2

tempo-template-html-header-2

插入<h2></h2>標簽

C-c M-h 3
  HTML→Insert Headers→Header 3

tempo-template-html-header-3

插入<h3></h3>標簽

C-c M-h 4
  HTML→Insert Headers→Header 4

tempo-template-html-header-4

插入<h4></h4>標簽

C-c M-h 5
  HTML→Insert Headers→Header 5

tempo-template-html-header-5

插入<h5></h5>標簽

C-c M-h 6
  HTML→Insert Headers→Header 6

tempo-template-html-header-6

插入<h6></h6>標簽

M-Enter
  HTML→Insert Text Elements→Paragraph

tempo-template-html-paragraph

插入<p></p>標簽

C-c C-a l
  HTML→Insert Hyperlinks→Hyperlink

tempo-template-html-hyperlink

插入<a href=""></a>標簽

C-c C-a n
  HTML→Insert Hyperlinks→Target

tempo-template-html-link-target

插入<a name=""></a>標簽

C-c Enter
  HTML→Insert Text Elements→Line Break

tempo-template-html-line-break

插入一個換行符“<br>”

C-c =
  HTML→Insert Text Elements→Horizontal Line

tempo-template-html-horizontal-line

插入一個換行符水平標尺“<hr>”

C-c C-z t
  HTML→Insert Timestamp→Delimiter

html-helper-insert-timestamp-delimiter-at-point

插入時間戳分隔符

C-c C-h t
  HTML→Insert Structural Elements→Title

tempo-template-html-title

插入<title></title>標簽

C-c Tab a
  HTML→Insert Inlined Images→Image

tempo-template-html-image

插入<img src="">標簽

C-c C-l u
  HTML→Insert List Elements→Unordered List

tempo-template-html-unordered-list

插入<ul><li></li></ul>標簽

C-c C-l o
  HTML→Insert List Elements→Ordered List

tempo-template-html-ordered-list

插入<ol><li></li></ol>標簽

C-c C-l t
  HTML→Insert List Elements→Definition Item

tempo-template-html-definition-item

插入<dt><dd>標簽

C-c C-l l
  HTML→Insert List Elements→List Item

tempo-template-html-item

插入<li></li>標簽

C-c C-l d
  HTML→Insert List Elements→ Definition List

tempo-template-html-definition-list

插入<dl><dt><dd></dl>標簽

C-c C-l m
  HTML→Insert List Elements→ Menu List

tempo-template-html-menu-list

插入<menu><li></li></menu>標簽

C-c C-l r
  HTML→Insert List Elements→Directory List

tempo-template-html-directorylist

插入<dir><li></li></dir>標簽

C-c C-l i
  HTML→Insert List Elements→List Item

html-helper-smart-insert-item

插入<li></li>標簽

C-c C-f z
  HTML→Insert Form Elements→Rest Form

tempo-template-html-reset-form

插入<input type="RESET">標簽

C-c C-f b
  HTML→Insert Form Elements→Button

tempo-template-html-button

插入<input type="BUTTON">標簽

C-c C-f m
  HTML→Insert Form Elements→Submit Form

tempo-template-html- submit-form

插入<input type="SUBMIT">標簽

C-c C-f s
  HTML→Insert Form Elements→Selections

tempo-template-html-selections

插入<select><option></select>標簽

C-c C-f o
  HTML→Insert Form Elements→Option

tempo-template-html-option

插入<option>標簽

C-c C-f v
  HTML→Insert Form Elements→Option with Value

tempo-template-html-option-with-value

插入<option value="">標簽

C-c C-f i
  HTML→Insert Form Elements→Image Field

tempo-template-html-input-image-field

插入<input type="IMAGE">標簽

C-c C-f r
  HTML→Insert Form Elements→Radiobutton

tempo-template-html-input-radiobutton

插入<input type="RADIO">標簽

C-c C-f c
  HTML→Insert Form Elements→Checkbox

tempo-template-html-checkbox

插入<input type="CHECKBOX">標簽

C-c C-f p
  HTML→Insert Form Elements→Text Area

tempo-template-html-text-area

插入<textarea></textarea>標簽

C-c C-f f
  HTML→Insert Form Elements→Form

tempo-template-html-form

插入<form></form>標簽

C-c C-f t `
  HTML→Insert Form Elements→Text Field

tempo-template-html-text-field

插入<input type="TEXT">標簽

C-c C-f h
  HTML→Insert Form Elements→Hidden Field

tempo-template-html-hidden-field

插入<input type="HIDDEN">標簽

C-c M-l s
  HTML→Insert Logical Styles→Strong

tempo-template-html-strong

插入<strong></strong>標簽

C-c M-l e
  HTML→Insert Logical Styles→Emphasized

tempo-template-html-emphasized

插入<em></em>標簽

C-c M-l b
  HTML→Insert Logical Styles→Blockquote

tempo-template-html-blockquote

插入<blockquote></blockquote>標簽

C-c M-l p
  HTML→Insert Logical Styles→Preformatted

tempo-template-html-preformatted

插入<pre></pre>標簽

C-c C-p s
  HTML→Insert Physical Styles→Strikethru

tempo-template-html-strikethru

插入<s></s>標簽

C-c C-p f
  HTML→Insert Physical Styles→Fixed

tempo-template-html-fixed

插入<tt></tt>標簽

C-c C-p u
  HTML→Insert Physical Styles→Underline

tempo-template-html-underline

插入<u></u>標簽

C-c C-p i
  HTML→Insert Physical Styles→Italic

tempo-template-html-italic

插入<i></i>標簽

C-c C-p b
  HTML→Insert Physical Styles→Bold

tempo-template-html-bold

插入<b></b>標簽

C-c C-p c
  HTML→Insert Physical Styles→Center

tempo-template-html-center

插入<center></center>標簽

C-c C-p l
  HTML→Insert Physical Styles→Spanning Class

tempo-template-html-spanning-class

插入<span class=""></span>標簽

C-c C-p 5
  HTML→Insert Physical Styles→Spanning Style

tempo-template-html-spanning-style

插入<span style=""></span>標簽

C-c C-s a
  HTML→Insert Logical Styles→Address

tempo-template-html-address

插入<address></address>標簽

C-c M-l d
  HTML→Insert Logical Styles→Definition

tempo-template-html-definition

插入<dfn></dfn>標簽

C-c M-l v
  HTML→Insert Logical Styles→Variable

tempo-template-html-variable

插入<var></var>標簽

C-c M-l k
  HTML→Insert Logical Styles→Keyboard Input

tempo-template-html-keyboard

插入<kbd></kbd>標簽

C-c M-l r
  HTML→Insert Logical Styles→Citation

tempo-template-html-citation

插入<cite></cite>標簽

C-c M-l x
  HTML→Insert Logical Styles→Sample

tempo-template-html-sample

插入<samp></samp>標簽

C-c M-l c
  HTML→Insert Logical Styles→Code

tempo-template-html-code

插入<code></code>標簽

C-c C-h b
  HTML→Insert Structural Elements→Base

tempo-template-html-base

插入<base href="">標簽

C-c C-h l
  HTML→Insert Structural Elements→Link

tempo-template-html-link

插入<link href="">標簽

C-c C-h m
  HTML→Insert Structural Elements→Meta Name

tempo-template-html-meta-name

插入<meta content="">標簽

C-c C-h n
  HTML→Insert Structural Elements→Nextid

tempo-template-html-nextid

插入<nextid>標簽

C-c C-h i
  HTML→Insert Structural Elements→Isindex

tempo-template-html-isindex

插入<isindex>標簽

C-c C-h B
  HTML→Insert Structural Elements→Body

tempo-template-html-body

插入<body></body>標簽

C-c C-h H
  HTML→Insert Structural Elements→Head

tempo-template-html-head

插入<head></head>標簽

C-c C-t t
  HTML→Insert Tables→Table

tempo-template-html-table

插入<table></table>標簽

C-c C-t p
  HTML→Insert Tables→html table caption

tempo-template-html-html-table-caption

插入<caption></caption>標簽

C-c C-t d
  HTML→Insert Tables→Table Data

tempo-template-html-table-data

插入<TD></TD>標簽

C-c C-t h
  HTML→Insert Tables→Table Header

tempo-template-html-table-header

插入<TH></TH>標簽

C-c C-t r
  HTML→Insert Tables→Table Row

tempo-template-html-table-row

插入<TR></TR>標簽

 

第三版新增內容

 

表9-6:HTMLHelper模式插入字符實體速查表


按鍵操作


命令名稱


字符實體

網頁上呈現
字符

C-c >

tempo-template-html-greater-than

&gt;

C-c <

tempo-template-html-less-than

&lt;

C-c &

tempo-template-html-ampersand

&amp;

&

C-c u

tempo-template-html-u`-(&&ugrave;)

&ugrave;

ù

C-c i

tempo-template-html-i`-(&&igrave;)

&igrave;

ì

C-c o

tempo-template-html-o`-(&&ograve;)

&ograve;

ò

C-c E

tempo-template-html-e'-(&&eacute;)

&eacute;

é

C-c e

tempo-template-html-e`-(&&egrave;)

&egrave;

è

C-c a

tempo-template-html-a`-(&&agrave;)

&agrave;

à

C-c SPC

tempo-template-html-nonbreaking-space

&nbsp;

nonbreaking space

C-c -

tempo-template-html-soft-hyphen

&shy;

soft hyphen

C-c @

tempo-template-html-copyright

&copy;

©

C-c $

tempo-template-html-registered

&reg;

®

C-c "

tempo-template-html-quotation-mark

&quot;

"

C-c #

tempo-template-html-ascii-code

Enter the 3-digit code for the desired character

specified character

 

表9-7:字符編碼對照表

C-x 8前綴

按鍵操作


ISO
簡寫風格


符號實體


網頁上呈現字符

C-x 8 "

"

&acute;

´

C-x 8 ' a

' a

&aacute;

á

C-x 8 'A

'A

&Aacute;

Á

C-x 8 ' e

' e

&eacute;

é

C-x 8 ' E

' E

&Eacute;

É

C-x 8 ' i

' i

&iacute;

í

C-x 8 ' I

' I

&Iacute;

Í

C-x 8 ' o

' o

&oacute;

ó

C-x 8 ' O

' O

&Oacute;

Ó

C-x 8 ' u

' u

&uacute;

ú

C-x 8 ' U

' U

&Uacute;

Ú

C-x 8 ' y

' y

&yacute;

 

C-x 8 ' Y

' Y

&Yacute;

 

C-x 8 ` a

` a

&agrave;

à

C-x 8 ` A

` A

&Agrave;

À

C-x 8 ` e

` e

&egrave;

è

C-x 8 ` E

` E

&Egrave;

È

C-x 8 ` i

` i

&igrave;

ì

C-x 8 ` I

` I

&Igrave;

Ì

C-x 8 ` o

` o

&ograve;

ò

C-x 8 ` O

` O

&Ograve;

Ò

C-x 8 ` u

` u

&ugrave;

ù

C-x 8 ` U

` U

&Ugrave;

 

C-x 8 ^ a

^ a

&acirc;

â

C-x 8 ^ A

^ A

&Acirc;

Â

C-x 8 ^ e

^ e

&ecirc;

ê

C-x 8 ^ E

^ E

&Ecirc;

Ê

C-x 8 ^ i

^ i

&icirc;

î

C-x 8 ^ I

^ I

&Icirc;

Î

C-x 8 ^ o

^ o

&ocirc;

ô

C-x 8 ^ O

^ O

&Ocirc;

Ô

C-x 8 ^ u

^ u

&ucirc;

û

C-x 8 ^ U

^ U

&Ucirc;

Û

C-x 8 " "

" "

&uml;

¨

C-x 8 " a

" a

&auml;

ä

C-x 8 " A

" A

&Auml;

Ä

C-x 8 " e

" e

&euml;

ë

C-x 8 " E

" E

&Euml;

Ë

C-x 8 " i

" i

&iuml;

ï

C-x 8 " I

" I

&Iuml;

Ï

C-x 8 " o

" o

&ouml;

ö

C-x 8 " O

" O

&Ouml;

Ö

C-x 8 " u

" u

&uuml;

ü

C-x 8 " U

" U

&Uuml;

Ü

C-x 8 " s

" s

&szlig;

ß

C-x 8 " y

" y

&yuml;

ÿ

C-x 8 " Y

" Y

&Yuml;

 

C-x 8 ~ ~

 

&not;

¬

C-x 8 ~ a

~ a

&atilde;

ã

C-x 8 ~ A

~ A

&Atilde;

Ã

C-x 8 ~ d

~ d

&eth;

 

C-x 8 ~ D

~ D

&ETH;

 

C-x 8 ~ n

~ n

&ntilde;

ñ

C-x 8 ~ N

~ N

&Ntilde;

Ñ

C-x 8 ~ o

~ o

&otilde;

õ

C-x 8 ~ O

~ O

&Otilde;

Õ

C-x 8 ~ t

~ t

&thorn;

 

C-x 8 ~ T

~ T

&THORN;

 

C-x 8 / /

 

&divide;

÷

C-x 8 o

/ /

&ring;

°

C-x 8 / a

/ a

&aring;

å

C-x 8 / A

/ A

&Aring;

Å

C-x 8 / e

/ e

&aelig;

æ

C-x 8 / E

/ E

&AElig;

Æ

C-x 8 / o

/ o

&oslash;

ø

C-x 8 / O

/ O

&Oslash;

Ø

C-x 8 , ,

~~

&cedil;

¸

C-x 8 , c

~c

&ccedil;

ç

C-x 8 , C

~C

&Ccedil;

Ç

 

表9-8:標點符號編碼對照表

C-x 8前綴 按鍵操作

符號實體

網頁上呈現字符

C-x 8 1 / 2

&frac12;

1/2

C-x 8 1 / 4

&frac14;

1/4

C-x 8 3 / 4

&frac34;

3/4

C-x 8 SPC

&nbsp;

nonbreaking space

C-x8 !

&iexcl;

¡

C-x 8 $

&curren;

¤

C-x 8 +

&plusmn;

±

C-x 8 -

&shy;

soft hyphen

C-x8 .

&middot;

·

C-x 8 <

&laquo;

«

C-x 8 =

&macr;

¯

C-x 8 >

&raquo;

»

C-x8 ?

&iquest;

¿

C-x 8 |

&brvbar;

|

C-x 8 c

&cent;

¢

C-x 8 C

&copy;

©

C-x 8 L

&pound;

£

C-x 8 P

&para;

C-x 8 R

&reg;

®

C-x 8 S

&sect;

§

C-x 8 u

&micro;

µ

C-x 8 x

&#215;

x

C-x 8 Y

&yen;

¥

C-x 8 ^ 1

&sup1;

1

C-x 8 ^ 2

&sup2;

2

C-x 8 ^ 3

&sup3;

3

C-x 8 _ a

&ordf;

a

C-x 8 _ o

&ordm;

o

表9-9:HTML模式插入字符實體速查表


按鍵操作


命令名稱


字符實體

網頁上呈現
字符

C-c >

tempo-template-html-greater-than

&gt;

C-c <

tempo-template-html-less-than

&lt;

C-c &

tempo-template-html-ampersand

&amp;

&

C-c u

tempo-template-html-u`-(&&ugrave;)

&ugrave;

ù

C-c i

tempo-template-html-i`-(&&igrave;)

&igrave;

ì

C-c o

tempo-template-html-o`-(&&ograve;)

&ograve;

ò

C-c E

tempo-template-html-e'-(&&eacute;)

&eacute;

é

C-c e

tempo-template-html-e`-(&&egrave;)

&egrave;

è

C-c a

tempo-template-html-a`-(&&agrave;)

&agrave;

à

C-c SPC

tempo-template-html-nonbreaking-space

&nbsp;

nonbreaking space

C-c -

tempo-template-html-soft-hyphen

&shy;

soft hyphen

C-c @

tempo-template-html-copyright

&copy;

©

C-c $

tempo-template-html-registered

&reg;

®

C-c "

tempo-template-html-quotation-mark

&quot;

"

C-c #

tempo-template-html-ascii-code

Enter the 3-digit code for the desired character

specified character

 

表9-10:HTML模式命令速查表

鍵盤操作

命令名稱

動作

(無)

html-mode

進入HTML模式

C-c C-tSGMLInsert Tag

sgml-tag

插入一個標簽,提示輸入屬性。如果輸入html作為標簽名稱,則插入一個html模板文件

C-c TabSGMLToggle Tag Visibility

sgml-tags-invisible

在文件中隱藏/顯示標簽

C-c C-vSGMLView Buffer Contents

browse-url-of-buffer

在默認瀏覽器中顯示該編輯緩沖區

C-c C-s

html-autoview- mode

如果這個模式開啟(這個命令可以切換),當文件在Emacs保存的時候,會自動在瀏覽器中顯示

C-c 8

sgml-name-8bit-mode

如果打開,特定擊鍵操作被捕捉插入Latin-1字符並被適當的實體。詳情請參閱“在HTML模式下的字符編碼”。

C-c C-fSGMLForward Tag

sgml-skip-tag-forward

向前移動到同一級別的下一個標簽

C-c C-bSGMLBackward Tag

sgml-skip-tag-backward

向后移動到同一級別的下一個標簽

C-c Del或C-c C-dSGMLDelete Tag

sgml-delete-tag

將光標放在標簽上或標簽前,刪除單個標簽或成對刪除標簽

C-c 1

html-headline-1

插入一個<h1>標簽

C-c 2

html-headline-2

插入一個<h2>標簽

C-c 3

html-headline-3

插入一個<h3>標簽

C-c 4

html-headline-4

插入一個<h4>標簽

C-c 5

html-headline-5

插入一個<h5>標簽

C-c 6

html-headline-6

插入一個<h6>(用於腳注文本)標簽

C-c Enter

html-paragraph

插入一個 <p>標簽

C-c C-c hHTMLHref Anchor

html-href-anchor

插入一個超鏈接

C-c C-c nHTMLName Anchor

html-name-anchor

插入一個錨,這樣可以創建鏈接到頁面的錨定部分

C-c C-c u HTMLUnordered List

html-unordered-list

創建一個無序列表

C-c C-c o HTMLOrdered List

html-ordered-list

創建一個編號的列表

C-c C-c lHTMLList Item

html-list-item

添加一個項目至列表

C-c C-c iHTMLImage

html-image

插入 <img src="">標簽 ,並且在光標放置輸入圖片的文件名

C-c C-jHTMLLine Break

html-line

插入一個換行符 (<br>).

C-c C-c - HTMLHorizontal Rule

html-horizontal-rule

插入一個水平標尺(<hr>).

C-c C-c r

html-radio-buttons

插入一組單選按鈕。Emacs提示輸入組的名字、值、是否應該進行檢查,以及相關的文本。按“C-G”組合鍵完成組的創建.

C-c C-c c HTMLCheckboxes

html-checkboxes

插入一組復選框。 Emacs提示輸入組的名字、值、是否應該進行檢查,以及相關的文本。按“C-G”組合鍵完成組的創建.

C-c ?SGMLDescribe Tag

sgml-tag-help

在光標所在位置提供簡短的標簽文字描述

 

第十章 Emacs中的宏

 

表10-1:與宏有關的Emacs命令

鍵盤操作

命令名稱

動作

C-x (

kmacro-start-macro

開始錄制一個宏

F3

kmacro-start-macro-or-insert-counter

開始錄制一個宏。如果在錄制一個宏時,按下則插入一個計數器

C-x )

kmacro-end-macro

結束錄制一個宏

F4

kmacro-end-or-call-macro

結束錄制一個宏(如果宏還在錄制)或調用最后一個鍵盤宏

C-x e

kmacro-end-and-call-macro

執行最后一次錄制的宏

C-x C-k n

name-last-kbd-macro

給剛才錄制的宏起個名字(做好保存這個宏的准備)

(無)

insert-kbd-macro

向一個文件中插入一個已命名的宏

(無)

macroname

執行一個已命名的鍵盤宏

C-x q

kbd-macro-query

在定義宏里插入一個查詢

C-u C-x q

(無)

在宏定義里插入一個遞歸編輯

C-M-c

exit-recursive-edit

退出遞歸編輯

C-x C-k b

kmacro-bind-to-key

為一個宏綁定到一個按鍵(C-x C-k 0-9和a-z是預留給宏綁定用的)。持續到當前會話結束

C-x C-k Space

kmacro-step-edit-macro

當單步調試一個宏的時候,編輯該宏(在我們看來,接口過於復雜)

C-x C-k l

kmacro-edit-lossage

將最后100次按鍵設為宏(在這期間的鼠標點擊事件不起作用)

C-x C-k e

edit-kbd-macro

按“C-x”組合鍵編輯最后錄制的按鍵宏,“M-x”編輯已命名宏,“C-h l”編輯Lossage宏(最后鍵入的100個鍵盤輸入稱為Lossage),或者將宏綁定到按鍵

C-x C-k Enter

kmacro-edit-macro

編輯最后一個鍵盤宏

C-x C-k C-e

kmacro-edit-macro-repeat

再次編輯最后一個鍵盤宏

C-x C-k C-t

kmacro-swap-ring

將最后一個鍵盤宏與之前的鍵盤宏對調

C-x C-k C-d

kmacro-delete-ring-head

將最后一個鍵盤宏從宏環中刪除

C-x C-k C-p

kmacro-cycle-ring-previous

將先前的宏移至宏環

C-x C-k C-n

kmacro-cycle-ring-next

將下一個宏移至宏環

C-x C-k r

apply-macro-to-region-lines

在某一區域內的每一行應用這個宏

 

第十一章對Emacs進行定制

 

表11-1:特殊字符的表達記號

特殊字符表達記號

定義情況

\C-x

C-x (其中“x”是任意字符)

\C-[或\e

Esc;轉義符

\M

Meta

\C-j或\n

Newline;轉行符

\C-m或\r

Enter;回車符

\C-i或\t

Tab;制表符

 

表11-2:富模式下字體命令

命令

被選擇的字體

M-g d

默認

M-g b

粗體

M-g i

斜體

M-g l

粗斜體

M-g u

下划線

M-g o

其他 (允許你通過字體名稱選擇字體)

 

第三版新增內容

 

表11-3:特定鍵在ELISP中的命名

ELisp中的命名

 

ELisp中的命名

DEL或backspace

Backspace

 

kp-0 .. kp-9

鍵盤數字鍵0-9

delete

Delete鍵

 

kp-enter

數字鍵盤上的回車鍵

down

向下方向鍵

 

left

向左方向鍵

end

End按

 

next

Page Down

f1 .. f35

功能按鍵F1-F35

 

prior

Page Up

home

Home鍵

 

right

向右方向鍵

help

Help鍵

 

up

向上方向鍵

 

 

 

第十二章程序員的Emacs

 

表12-1:基本縮進命令速查表

鍵盤操作

命令名稱

動作

C-M-\

indent-region

對光標和文本塊標記之間的每一行進行縮進

M-m

back-to-indentation

把光標移到當前行的第一個非空白字符上

M-^

delete-indentation

把當前行合並到上一行去

 

表12-2:C模式高級移動命令速查表

鍵盤操作

命令名稱

動作

M-a

c-beginning-of-statement

移動到當前語句的開頭

M-e

c-end-of-statement

移動到當前語句的末尾

M-q

c-fill-paragraph

如果光標在注釋文本中間,則進行段落重排,保留縮進和前導字符

C-M-a

beginning-of-defun

移動到光標所在函數的開頭

C-M-e

end-of-defun

移動到光標所在函數的末尾

C-M-h

c-mark-function

把光標放到函數的開頭,把文本塊標記放到函數的末尾——即把函數整個選取為一個文本塊

C-c C-q

c-indent-defun

按縮進樣式對整個函數進行縮進

C-c C-u

c-up-conditional

移動到當前預處理器條件的開始位置

C-c C-p

c-backward-conditional

移動到上一個預處理器條件

C-c C-n

c-forward-conditional

移動到下一個預處理器條件

 

表12-3:C模式縮樣式速查表

縮進樣式

說明

bsd

BSD系列的UNIS版本使用的編程風格

cc-mode

默認的編程風格;其他樣式都是從它推導出來的

ellemtel

瑞典Ellemtel電訊系統實驗室的C++文檔里使用的編程風格

gnu

Emacs自身和其他GNU程序所使用的C語言書寫風格

java

在編寫Java代碼時使用的風格(Java模式的默認值)

k&r

Kernighan和Ritchie合著的《The C Programming Language》一書中使用的編程風格,這本書是C語言的開山之作

linux

部分Linux內核中C代碼所使用的一種風格

python

Python擴展中使用的風格

stroustrup

Bjarne Stroustrup所著的《The C++ Programming Language》一書中使用的編程風格,這本書是C++語言的標准參考書

user

通過定制.emacs文件或自定義(參見第10章)。如果你設置所有其他了它們,所有其他樣式將繼承自這些自定義

whitesmith

Whitesmith公司在他們的C和C++編譯器軟件的文檔里使用的編程風格

 

表12-4:S-表達式處理命令速查表

鍵盤操作

命令名稱

動作

C-M-b

backward-sexp

移動到上一個S-表達式

C-M-f

forward-sexp

移動到下一個S-表達式

C-M-t

transpose-sexps

交換光標前后的兩個S-表達式的位置

C-M-@

mark-sexp

把文本塊標記設置在當前S-表達式的末尾,把光標設置在當前S-表達式的開頭

C-M-k

kill-sexp

刪除光標后面的那個S-表達式

(無)

backward-kill-sexp

刪除光標前面的那個S-表達式

 

表12-5:列表處理命令速查表

鍵盤操作

命令名稱

動作

C-M-n

forward-list

移動到上一個列表

C-M-p

backward-list

移動到下一個列表

C-M-d

down-list

向前移動,進入下一級括號層次

(無)

up-list

向前移動,退出當前的括號層次

C-M-u

backward-up-list

向后移動,退出當前的括號層次

 

表12-6:以函數定義(defun)為單位進行移動的命令速查表             

鍵盤操作

命令名稱

動作

C-M-a

beginning-of-defun

移動到當前函數的開頭

C-M-e

end-of-defun

移動到當前函數的結尾

C-M-h

mark-defun

把光標放到函數的開頭,把文本塊標記放到函數的結尾

 

表12-7:FORTRAN模式中的移動命令速查表        

鍵盤操作

命令名稱

動作

C-c C-n

fortran-next-statement

向前移動一個語句

C-c C-p

fortran-previous-statement

向前向移動一個語句

ESC C-a

beginning-of-fortran-subprogram

移動到當前子程序的開頭

ESC C-e

end-of-fortran-subprogram

移動到當前子程序的結尾

ESC C-h

mark-fortran-subprogram

把光標放到子程序的開頭,把文本塊標記放到子程序的結尾

 

表12-8:FORTRAN模式中的Emacs變量           

變量

默認值

說明

fortran-minimum-statement-indent

6

開始輸入語句之前需要保留的縮進量(例如:縮進量為6時語句將從7列開始輸入)

fortran-do-indent

3

do語句塊里的語句還需要增加的縮進量

fortran-if-indent

3

if語句塊里的語句還需要增加的縮進量

fortran-continuation-char

$

續行時放在第6列里的續行標記字符

fortran-continuation-indent

5

語句續行時的縮進量(比如從第6列開始再縮進5個字符的位置)

fortran-comment-line-column

6

占據一整行的注釋所使用的縮進量;“ESC;”命令使用的就是這個值

fortran-comment-indent-style

‘fixed
(固定值)

這個變量的值可以取“nil”、“’fixed”或“’relative(相對值)”,注意后兩個值的前面帶有單引號;請參見下面的用法示例

comment-start

nil

與程序代碼同在一行上的注釋的前導字符;請參見下面的用法示例。如果這個變量取值為“nil”

fortran-line-unmber-indent

1

行號的最大縮進量,用來保證行號不會延伸到第5列(續行標記列)上。請參考后面對語句自動編號功能的討論

fortran-comment-region

“c$$$”

由fortran-comment-region(“C-c;”)命令插入到每一行前面去的字符串

 

表12-9:FORTRAN模式下的一些縮略詞匯

縮略詞匯

關鍵字

;c

continue

;dp

double precision

;dw

do while

;f

format

;fu

function

;g

goto

;in

integer

;p

print

;rt

ENTER

;su

subroutine

 

表12-10:編譯模式命令速查表     

鍵盤操作

命令名稱

動作

C-x ‘

next-error

移動到下一條出錯信息並訪問與之對應的源代碼

M-n

compilation-next-error

移動到下一條出錯信息

M-p

compilation-previous-error

移動到上一條出錯信息

C-c C-c

compilation-goto-error

訪問對應於當前出錯信息的源代碼

SPACE

scroll-down

下卷屏幕顯示內容

DEL

scroll-up

上卷屏幕顯示內容

 

第三版新增內容

 

表12-11:JDEEMakefile條目

Makefile條目

示例

說明

prefix

/usr/local

任何軟件的“shared”和“info”頂級目錄

datadir

$(prefix)/share

Emacs主目錄所在的地方

locallisppath

$(datadir)/emacs/site-lisp

所有本地LISP文件應該放置的地方

ELIBDIR

$(locallisppath)/elib

ELIB LISP文件將放在這個目錄

EMACS

/usr/bin/emacs

這個命令用來啟動Emacs。可以是絕對路徑或“emacs”能檢測到你當前系統所安裝的Emacs版本

 

 

表12-12:JDEE的環境變量

JDEE變量名

示例值

jde-global-classpath

/usr/local/j2se:.

jde-jdk-registry

Version = 1.4.2

Path = /usr/local/j2se

 

表12-13:生成代碼菜單選項

鍵盤操作

菜單選項(M-x 命令)

動作

C-c C-v C-l(小寫的“L”)

Println Wizard(jde-gen-println)

提示插入一個完整的System.out.println()方法

C-c C-v C-z

Import Class(jde-import-find-and-import)

提示輸入(簡單)類名,以自動導入,並在文件頭添加適當的導入說明

C-c C-v i

Implement Interface(jde-wiz-implement-interface)

提示輸入要實現的接口的名稱。添加任何缺少的import語句(包括依賴導入,如方法參數的導入)。為每個接口中的方法提供注釋框架

 

表12-14:JDEE調試控制

鍵盤操作

菜單選項

JDB命令

C-c C-a C-s

Step Into

step

C-c C-a C-n

Step Over

next

C-c C-a C-c

Continue

cont

C-c C-a C-b

Toggle Breakpoint

stop in/stop at/clear

C-c C-a C-p

Display Expression

print

C-c C-a C-d

Display Object

dump

 

 

第十三章用LISP語言對Emacs做進一步開發

 

表13-1:交互式函數的參數類型代碼

參數類型代碼

參數類型

b

一個現有編輯緩沖區的名字

e

事件(鼠標動作或功能鍵動作)

f

一個現有文件的名字

n

數字(整數)

s

字符串

這些代碼還有相應的大寫變體:

參數類型代碼

參數類型

B

一個可能不存在的編輯緩沖區的名字

F

一個可能不存在的文件的名字

N

如果命令在調用時帶有一個前綴參數,按前綴參數指示的情況辦理;否則就是數字

S

符號

 

表13-2:LISP語言的基礎函數

算術運算

+、 -、 *、 /(加、減、乘、除)

 

% (求余數)

 

1+ (遞增)

 

1- (遞減)

 

max(最大值)、 min(最小值)

比較運算

>、 <、 >=、 <=(大於、小於、不小於、不大於)

 

/= (不等於)

 

= (等於,用於數字和字符)

 

equal(等於,用於字符串和其他復雜的數據對象)

邏輯運算

and(與)、or(或)、not(非)

 

表13-3:ANSI方向鍵輸出的字符代碼

箭頭鍵

字符代碼

ESC O A

ESC O B

ESC O C

ESC O D

 

表13-4:與編輯緩沖區和文本有關的函數

函數名稱

返回值或執行動作

point
mark

光標的字符位置
文本標記的字符位置

point-min
point-max

最小字符位置(通常是1)
最大字符位置(通常是編輯緩沖區的長度)

bolp
eolp
bobp
eobp

光標是否位於行首(取值為“t”或“nil”)
光標是否位於行尾
光標是否位於編輯緩沖區的開始
光標是否位於編輯緩沖區的末尾

insert

把任意個數的參數(字符串或字符)插入到編輯緩沖區光標位置之后

number-to-string
string-to-number
char-to-string
concat
substring



aref



把一個數值參數轉換為一個字符串
把一個字符串轉換為一個數字(整數或浮點數)
把一個字符數字轉換為一個字符串
把任意個數的字符串合並到一起
給定一個字符串及兩個整數索引start和end,返回從start指示的位置開始到end指示的位置前結束的子字符串。下標從0開始計算。比如說,函數“(substring “appropriate” 2 5)”將返回子字符串“pro”
數組索引函數,它可以用來從字符串里取出單個的字符;它的輸入參數是一個整數,從函數返回的是一個以整數表示的字符,返回值(在大多數機器上)使用的是ASCII碼。比如說,函數“aref “appropriate” 3”將返回數字“114”,即字母“r”的ASCII碼

 

表13-5:正則表達式基本操作符

Emacs操作符

UNIX shell操作符

作用

.

?

匹配任意一個字符

.*

*

匹配任意一個字符串

[abc]

[abc]

匹配字母a、b或c

[a-z]

[a-z]

匹配任意一個小寫字母

 

表13-6:正則表達式操作符速查表

操作符

作用

.

匹配任意一個字符

*

匹配其前面的字符或字符組出現零次或更多次的情況

+

匹配其前面的字符或字符組出現一次或更多次的情況

?

匹配其前面的字符或字符組出現零次或一多次的情況

[...]

字符的集合,參見下面的說明

\\(

開始一個字符組

\\)

結束一個字符組

\\|

匹配“\\|”前、后的子表達式

^

如果出現在正則表達式的開始,匹配文本行首或字符串的開始

$

如果出現在正則表達式的末尾,匹配文本行首或字符串的末尾

\n

在正則表達式里匹配換行符LINEFEED

\t

在正則表達式里匹配制表符TAB

\\<

匹配單詞的開始

\\>

匹配單詞的結尾

下面的操作符出現在字符集里時的含義:

操作符

作用

^

如果出現在字符集的開始,則該字符集將被用做不匹配字符集

- (dash)

用來設定字符范圍

下面的操作符出現在regexp替換字符串里時的含義:

操作符

作用

\\n

替換第N個“\\(”和“\\)”之間的部分匹配,從左歸組操作符“\\(”向右編號,編號從1開始

 

第十四章 Emacs編輯器和X窗口系統

 

表14-1:Emacs的窗格操作命令速查表

鍵盤操作

命令名稱

動作

C-x 5 f

find-file-other-frame

訪問另一窗格里的某個文件

C-x 5 d

dired-other-frame

在另一個窗格里運行Dired模式

C-x 5 0

delete-frame

刪除當前窗格

C-c 5 b

switch-to-buffer-other-frame

切換到另一個窗格

 

第十五章 Emacs下的版本控制

 

表15-1:VC命令速查表

鍵盤操作

命令名稱

動作

C-x v v

vc-next-action

前進到下一個合乎邏輯的版本控制狀態

C-x v d

vc-directory

列出某個子目錄下所有的已注冊文件

C-x v =

vc-diff

生成一份版本差異報告

C-x v u

vc-revert-buffer

丟棄上次修訂版之后的一切修改

C-x v ~

vc-version-other-window

在另外一個窗口打開指定的修訂版

C-x v l

vc-print-log

顯示某個文件的修改注釋和修改記錄

C-x v i

vc-register

把文件注冊到版本控制系統

C-x v h

vc-insert-headers

給文件加上供版本控制系統使用的標題塊

C-x v r

vc-retrieve-snapshot

簽出一個已命名的項目快照

C-x v s

vc-create-snapshot

創建一個項目快照並給它起個名字

C-x v c

vc-cancel-version

丟棄一個已經保存起來的修訂版

C-x v a

vc-update-change-log

刷新一個GNU格式的ChangLog文件

 

第三版新增內容

 

表15-2:Ediff命令速查表

鍵盤操作

命令名稱

動作

Space或n

ediff-next-difference

移動到該文件下一個修改過的地方

Del或p

ediff-previous-difference

移動到該文件上一個修改過的地方

j

ediff-jump-to-difference

轉到前綴數字參數所指定差異的地方

v或C-v

ediff-scroll-vertically

兩個編輯緩沖區均向前移動一頁

V或M-v

ediff-scroll-vertically

兩個編輯緩沖區均向后移動一頁

ediff-scroll-horizontally

將每個編輯緩沖區向左滾動

ediff-scroll-horizontally

將每個編輯緩沖區向右滾動

| (豎線)

ediff-toggle-split

切換查看緩沖區方式,是只查看當前文件,還是同時查看這兩個編輯緩沖區

m

ediff-toggle-wide-display

在正常窗口與最寬窗口之間切換

a

ediff-copy-A-to-B

將編輯緩沖區A中與編輯緩沖區B不同的內容信息復制到編輯緩沖緩沖區B中

b

ediff-copy-B-to-A

將編輯緩沖區B中與編輯緩沖區A不同的內容信息復制到編輯緩沖緩沖區A中

r a或r b

ediff-restore-diff

恢復編輯緩沖區A(或B)從另一緩沖區復制之前的狀態

A或B

ediff-toggle-read-only

對指定編輯緩沖區切換到(或退出)只讀模式

g a或g b

ediff-jump-to-difference-at-point

在最近(當前光標位置)差異的地方與指定的編輯緩沖區進行比較,並將光標移動到有差異的地方

C-l

ediff-recenter

恢復比較顯示,使所有編輯緩沖區被比較突出的地方是高亮的;如果你做別的東西,並要回去之前的光標位置的時候比較有用

!

ediff-update-diffs

重新計算並顯示突出顯示的區域;當手動且對編輯緩沖區有很大的修改時比較有用.

w a或w b

ediff-save-buffer

將指定的編輯緩沖區保存起來

E

ediff-documentation

打開Ediff手冊

z

ediff-suspend

關閉Ediff的控制窗口,但當前會話還在活動,稍后你還可以恢復它

q

ediff-quit

關閉Ediff的控制窗口並結束當前比較的會話

 

第十六章在線幫助

 

表16-1:用來查找詳細資料的幫助命令

鍵盤操作

命令名稱

回答的問題

C-h c

describe-key-briefly

這個按鍵組合將運行哪個命令

C-h k

describe-key

這個按鍵組合將運行哪個命令?這個命令的作用是什么

C-h l

view-lossage

最近輸入的100個字符是什么

C-h w

where-is

這個命令的按鍵綁定是什么

C-h f

describe-function

這個函數的作用是什么

C-h v

describe-variable

這個變量的含義是什么?它有哪些可取值

C-h m

describe-mode

查看當前編輯緩沖區所在編輯模式的有關資料

C-h b

describe-bindings

這個緩沖區都有哪些按鍵綁定

C-h s

describe-syntax

這個編輯緩沖區使用的是哪個語法表

 

表16-2:apropos命令

鍵盤操作

命令名稱

回答的問題

C-h a

command-apropos

這個概念都涉及到哪些命令

(無)

apropos

這個概念都涉及到哪些函數和變量

(無)

super-apropos

哪些函數和變量的文檔里提到了這個概念

 

表16-3:用來查找一般性資料的幫助命令

鍵盤操作

命令名稱

動作

C-h t

help-with-tutorial

運行Emacs教程

C-h i

info

啟動文檔閱讀器Info程序

C-h C-f

Info-goto-emacs-command-node

啟動文檔閱讀器Info程序,並前進到指定的結點;這個幫助命令的參數是一個命令名

C-h C-k

Info-goto-emacs-key-command-node

啟動文檔閱讀器Info程序,並前進到指定的結點;這個幫助命令的參數是對應於某個命令的按鍵組合

C-h n

view-emacs-news

查看關於Emacs新增和改進功能的信息

C-h F

view-emacs-FAQ

查看Emacs的常見問題答疑文件

C-h p

finder-by-keyword

沿着這個命令彈出的菜單可以查到關於安裝在本系統上的Emacs LISP程序包資料

C-h c

describe-copying

閱讀Emacs的“通用公共許可證”(General Public License)

C-h C-d

describe-distribution

閱讀從自由軟件基金會訂購的Emacs信息

C-h C-p

describe-project

查閱關於GNU軟件開發項目的信息

C-h C-w

describe-no-warranty

查閱Emacs的免責條款

 

 
 
 
 

附錄三Emacs變量

 

表C-1:備份、自動保存和版本控制(參見第二、十五章)

變量

缺省值

說明

make-backup-files

t

如果取值是“t”,則當前文件第一次存盤之前先給它創建一個備份文件

backup-by-copying

nil

如果取值為“t”,則不采用把將要保存的文件重命名為備份版本的做法,面是以復制的方法來創建備份文件。缺省的重命名辦法比較有效率,而復制的辦法則更安全——復制操作過程中發生的磁盤故障不會有什么損害,但在mv操作中“及時”出現磁盤故障卻可能徹底毀壞備份文件a

version-control

nil

如果取值為“t”,則創建文件的編號版本作為備份(備份的文件格式是“filename~N~”。如果取值為“nil”,則只對已經有編號版本的文件這樣做。如果取值為“’never”(注意前導的單引號),就不創建任何編號版本

kept-new-versions

2

Emacs在創建一個新的編號備份時將為文件保留的最新版本的個數

kept-old-versions

2

Emacs在創建一個新的編號備份時將為文件保留的最老版本的個數

delete-old-versions

nil

如果取值為“t”,則刪除多余備份版本(根據上面兩個變量的設置情況而需要保留的不算在內)時不需要用戶確認;如果取值為“nil”,則需要經過用戶確認

auto-save-default

t

如果取值為“t”,則對每個訪問文件都進行自動保存

auto-save-visited-file-name

nil

如果取值為“t”,則自動保存為被訪問文件而不是保存為另外一個特殊的自動保存文件

auto-save-interval

300

再次自動保存操作之間間隔的按鍵次數。如果取值為“0”,則關閉自動保存功能

auto-save-timeout

30

Emacs在用戶沒有操作情況下執行自動保存操作的時間間隔。如果取值為“nil”或“0”,則關閉此項功能

delete-auto-save-files

t

非“nil”值表示在保存“真正的”文件時刪除其自動保存文件

buffer-offer-save

nil

非“nil”值表示在退出Emacs時提示用戶保存當前編輯緩沖區,不論在它里面打開的是不是一個文件

vc-handled-backends

(RCS CVS SVN SCCS Arch MCVS)

VC程序包使用的版本控制系統。它的可取值是符號“’RCS”、“’CVS”、“’SVN” 、“’SCCS” 、“’Arch” 或“’MCVS”

vc-display-status

t

如果取值不為“nil”,則在狀態行上給出版本號和版本控制狀態

vc-keep-workfiles

t

如果取值不為“nil”,向版本控制系統注冊所做的修改后,Emacs將不刪除工作文件

vc-mistrust-permissions

nil

如果取值不為“nil”,則認為文件自身的屬主ID和訪問權限標志不代碼版本控制系統對此的看法;VC將直接從版本控制系統那里獲取這些信息

vc-suppress-confirm

nil

如果取值不為“nil”,則執行版本控制操作前不要求用戶確認

vc-initial-comment

nil

如果取值不為“nil”,則在文件第一次向版本控制系統注冊時提示輸入一條注釋

vc-make-backup-files

nil

如果取值不為“nil”則仍為已經用版本控制操作注冊過的文件創建標准的Emacs備份版本

diff-switches

-c

如果取值不為“nil”,則根據嵌在工作文件時需 的版本控制信息來確定版本號;否則從主控文件里獲取此項信息

a.因為文件備份操作的效果是創建一個新的版本,所以新文件的屬主就是你。換句話說,不管原始文件的屬主是不是你,只要這個變量的取值是“nil”,以重命名方式得到的備份版本的屬主也將是你。因此,如果你是以根用戶身份進行的登錄而你所編輯的文件里的屬主卻不是根用戶——比如uucp的配置文件,就可能引起一些問題。

 

表C-2:查找與替換(參見第三章)

變量

缺省值

說明

case-fold-search

t

如果取值不是“nil”,則在查找操作中不區分字母的大小寫

case-replace

t

如果取值不是“nil”,則在替換時維持原來的大小寫情況(對case-fold-search也不例外)

search-upper-case

'not-yanks

如果取值不是“nil”,則查找字符串中的大寫字母將壓制case-fold-search變量做出的設置(即強制查找操作區分字母的大小寫)。符號“’not-yanks”的含義是把替換字符串中的大寫字母轉換為小寫

search-exit-option

t

如果取值不為“nil”,則任何一個不是遞增查找子命令(DEL、LINEFEED、C-q、C-r、C-s、C-w、C-y)的控制字符都將退出查找

search-slow-speed

1200

如果終端的通信速度等於或小於這個值,就將使用慢速遞增查找——用一個小窗口來顯示查找操作的部分結果a

search-slow-window-lines

1

慢速查找所用窗口的高度,計量單位是文本行。如果這個數字是一個負數,就表示要把這個窗口放在屏幕的頂部而不是底部

search-highlight

t

如果取值不為“nil”,則反顯已經查到的部分匹配。適用於X窗口系統和其他具備反顯功能的顯示器

query-replace-highlight

t

如果取值不為“nil”,則在查詢-替換模式中反顯找到的匹配。適用於X窗口系統和其他具備反顯功能的顯示器

a.遺憾的是,只有當計算機認為終端的通信速度低時,這個選項才能發揮作用。如果你的終端是通過LAN、終端服務器或其他數據通信設備進行通信的,就可能出現因為計算機正在與“你的終端”進行高速通信而“忽略”“你的終端”速度慢的情況。

 

表C-3:屏幕顯示(參見第二、四、六章)

變量

缺省值

說明

next-screen-context-lines

2

用“C-v”或“M-v”前、后卷屏時,Emacs保留的上、下文行數

scroll-step

0

當光標沿垂直方向移出當前窗口時,Emacs將前卷或后卷的文本行數。如果取值為“0”,則卷動足夠多的行以便光標在卷動后出現在窗口中央

hscroll-step

0

當光標沿水平方向移出當前窗口時,Emacs將左卷或右卷的文本列數。如果取值為“0”,則卷動足夠多的列以便光標在卷動后出現在窗口中央

tab-width

8

制表位的寬度;如果被設置,將只對當前編輯緩沖區起作用

left-margin

0

在基本模式和文本模式里按“C-j”組合鍵時的縮進量

standard-indent

4

當使用增加或減少縮進命令時的縮進量

truncate-lines

nil

如果取值不為“nil”,則不對超長文本進行自動換行,截斷它並且用“$”表示這一行超出屏幕畫面

truncate-partial-width-windows

t

如果取值不為“nil”,則把顯示寬度小於顯示寬度的全部窗口里的超長文本行截斷(像上面那樣)

window-min-height

4

窗口的最小高度(計量單位是文本行)

window-min-width

10

垂直分割窗口時,分割出來的窗口的最小寬度(計量單位是列)

split-window-keep-point

t

分割窗口時,非“nil”取值表示使兩個窗口里的光標同步移動。如果取值為“nil”,則以使重新繪制屏幕畫出的工作量最小為原則設置一個光標位置(這是為低速顯示器准備的)

resize-minibuffer-mode

nil

如果取值不為“nil”,則允許輔助輸入區增加高度以顯示其中的內容

resize-minibuffer-window-exactly

t

允許輔助輸入輸入區的高度做動態改變,使之剛好能夠顯示其中的全部內容

resize-minibuffer-frame

nil

如果取值不為“nil”,則允許(X窗口系統顯示器中的)輔助輸入區窗格改變高度

resize-minibuffer-frame-exactly

t

允許(X窗口系統顯示器中的)輔助輸入區窗格的高度作動態改變,使之剛好能夠顯示其中的全部內容

resize-minibuffer-window-max-height

nil

resize-minibuffer-mode模式中輔助輸入區所能到達的最大高度;在X窗口系統下,如果這個變量的取值小於1或不是數字,則輔助輸入區的高度不能超過它所在窗格的高度

ctl-arrow

t

非“nil”取值表示把控制字符顯示為“^X”樣式,其中的“X”是“被控制”的字符。其他取值表示把控制字符顯示為八進制數字,比如說,“C-h”將被顯示為八進制“\010”

display-time-day-and-date

nil

如果取值不為“nil”,則“M-x display-time Enter”命令把星期八和日期都顯示出來

line-number-mode

t

如果取值不為“nil”,則把行號顯示在狀態行上a

line-number-display-limit

nil

如果讓Emacs顯示行號,則編輯緩沖區的長度不能超過這個數字(計量單位是字符)

column-number-mode

nil

如果取值不為“nil”,則把列號顯示在狀態行上a

visible-bell

nil

如果取值不為“nil”,則在必要時以屏幕閃爍代替蜂鳴報警

track-eol

nil

如果取值不為“nil”,則當光標位於某文本行的行尾並做上、下移動時,它仍將移動到前、后文本的行尾;其他取值表示光標將固定在它此時所在的列位置

blink-matching-paren

t

如果取值不為“nil”,則用戶輸入一個需要配對出現的右括號類字符時,Emacs將快速“閃現”與之配對的左括號類字符

blink-matching-paren-distance

25600

當用戶輸入一個需要桎出現的右括號類字符時,向回查找其配對類字符的最大距離(計量單位是字符)

blink-matching-delay

1

閃現配對左括號類字符的持續時間

echo-keystrokes

1

如果用戶輸入命令時停頓了這個變量所設置的時間(計量單位是秒),則在輔助輸入區里顯示未完成命令的前綴(比如 “C-”)作為提示;取值為“0”時表示不提示

insert-default-directory

t

如果取值不為“nil”,則在要求用戶輸入文件名時,先把當前目錄的路徑插入到輔助輸入區里

insert-video

nil

如果取值不為“nil”,則對整個顯示畫面進行反顯(狀態行呈正常顯示)

mode-line-inverse-video

t

非“nil”取值表示狀態行將反顯

highlight-nonselected-windows

nil

如果取值不為“nil”,則把除當前窗口以外的所有里的文本塊反顯;適用於X窗口系統和其他具備反顯功能的顯示器

mouse-scroll-delay

0.25

當用戶在某個窗口里按下鼠標並拖動到這個窗口邊界以外的地方時,屏顯畫面將延遲這個變量所設置的時間(計量單位是秒)之后才發生卷動。如果取值為“0”,則表示以最快速度卷動

mouse-scroll-min-lines

1

當鼠標在窗口邊界以外的地方被按下並做上、下拖動時,至少要卷動這個變量所設置的文本行數

a.可以用命令“ESC-x line-number-mode”和“ESC-x column-number-mode”切換行號、列號顯示功能的開關狀態。

 

表C-4:編輯模式(參見第二、五、六、九、十一章)

變量

缺省值

說明

major-mode

fundamental-mode

新編輯緩沖區的缺省編輯模式,除非根據文件名后綴而另有規定;設置這個變量的時候要注意在編輯模式名稱的前面加上一個單引號(這個變量的值必須是一個符號)

default-major-mode

fundamental-mode

新編輯緩沖區的主模式

auto-mode-alist

(參見第十一章)

設置文件名和主編輯模式之間關聯關系的列表

interpreter-mode-alist

(參見第十二章)

類似於auto-mode-alist的列表(除了像Perl和Python的解釋語言)

indent-tabs-mode

t

如果取值不為“nil”,則用戶使用“C-j”組合鍵對文本進行縮進行縮進時允許使用

find-file-run-dired

t

如果取值不為“nil”,則在訪問文件時,如果用戶文件名是一個目錄,就運行dired

dired-kept-versions

2

在Dired里清理目錄時,需要保留的文件版本個數

dired-garbage-files-regexp

"\\.\\(?:aux\\|bak\\|dvi\\|log\\|orig\\|rej\\|toc\\)\\'"

自定義在Dired里什么樣的文件類型可以標記為垃圾文件

dired-listing-switches

"-al"

生成dired文件清單時傳遞給ls命令的選項;至少要要包含“-l”選項

dired-view-command-alist

(參見第十一章)

自定義在Dired里當某種類型的文件被打開時調用的輔助應用程序

shell-file-name

varies

shell的文件名;如果某個Emacs函數需要要調用shell——比如list-directory、dired和compile等,Emacs就人運行這個變量指定的shell。此缺省值表示將使用UNIX環境變量SHELL的值

load-path

 

這個列表變量設置的是加載LISP程序包(參見第十三章)時的搜索路徑;通常就是Emacs源代碼在系統的安裝目錄下的lisp子目錄

lpr-switches

nil

定義命令行選項傳給lpr

calendar-week-start-day

0

天被定義為星期的第一天。0是星期天,1是星期一等等。

picture-tab-characters

"!-~"

該字符被解釋為圖形模式下的制表位,如果它們出現在自己的行上

 

表C-5:電子郵件(參見第六章)

變量

缺省值

說明

mail-self-blind

nil

如果取值不為“nil”,則自動把你的名字加入到“BCC(密抄)”欄以保證能給自己留下一份郵件副本

rmail-mail-new-frame

nil

如果取值不為“nil”,則創建一個新窗格來編寫外發郵件消息,僅適用於X窗口系統

mail-default-reply-to

nil

缺省插入到郵件消息“Reply-to:(回復地址)”欄里的字符串

mail-use-rfc822

nil

如果取值不為“nil”,則使用完全符合RFC822標准規定的地址解析器對郵件地址進行解析;這會多花上一點時間,但正確解析出復雜網絡地址的概率會有所增加

mail-host-address

nil

你的機器名字;將被用來構造user-mail-address

user-mail-address

(你的郵件地址)

你的完整的電子郵件地址

rmail-primary-inbox-list

nil

保存新收(尚未閱讀)郵件的文件清單。如果取值為“nil”,則使用環境變量$MAIL的值;如果$MAIL指定的路徑不存在,就使用路徑“/usr/spool/mail/yourname”

rmail-file-name

"~/RMAIL"

RMAIL用來保存郵件消息的文件

mail-archive-file-name

nil

用來保存所有外發郵件消息的文件名字符串;如果取值為“nil”,表示不保存外發郵件

mail-personal-alias-file

"~/.mailrc"

用來保存郵件假名的文件名;Emacs的郵件編輯模式與UNIX操作系統標准的mail和mailx程序使用的假名格式是一樣的

mail-signature

nil

准備添加到外發郵件消息末尾的文本

rmail-dont-reply-to-names

nil

與這個正則表達式相匹配的名字將被排除在郵件回復地址名單之外;如果取值為“nil”,則把你本人排除在回復名單之外

rmail-displayed-headers

nil

與這個正則表達式相匹配的郵件消息標題欄將被顯示出來;如果取值為“nil”,則把rmail-ignored-headers變量沒有包括的標題欄都顯示出來

rmail-ignored-headers

(復雜正則表達式)

不顯示與這個正則表達式相匹配的郵件消息標題欄

rmail-highlighted-headers

"^From:\\|^Subject:"

反顯與這個正則表達式相匹配的郵件消息標題欄;適用於X窗口系統和其他具備反顯功能的顯示器

rmail-delete-after-output

nil

如果取值不為“nil”,則自動刪除已經被保存到某個文件里的郵件消息

mail-from-style

‘angles

Emacs為“From:(發信人)”欄生成的用戶名的格式。如果取值為“nil”,則只包括電子郵件地址;如果取值為“’angles”,則把電子郵件地址用角括號括起來(例如:Dave Roberts<droberts@ed.com>”);如果取值為“’parens”,把電子郵件地址用圓括號括起來(Dave Roberts(droberts@ed.com)”)

 

表C-6:文本編輯(參見第二、三、六、九、十一章)

變量

缺省值

說明

sentence-end

(見第十三章)

匹配句尾的正則表達式

sentence-end-double-space

t

如果取值不為“nil”,則不把句號后面的單個空格看做句尾

paragraph-separate

"[ \t\f]*$"

匹配段落分隔行行首的正則表達式

paragraph-start

"\f\\|[ \t]*$"

匹配段落分隔行或段落第一行行首的正則表達式

page-delimiter

"^\f"

匹配分頁符的正則表達式

tex-default-mode

'latex-mode

打開/創建TEX或LATEX文件時將被啟動的編輯模式

tex-run-command

"tex"

在TEX模式下,用來運行TEX程序以排版某個文件的命令字符串;TEX程序將運行在一個子進程里

latex-run-command

"latex"

用來運行LATEX程序以排版某個文件的命令字符串;LATEX程序將運行在一個子進程里

slitex-run-command

"slitex"

用來運行SliTEX程序以排版某個文件的命令字符串;SliTEX程序將運行在一個子進程里

tex-dvi-print-command

"lpr -d"

在TEX模式里,用“C-c C-p”組合鍵打印文件時將調用的命令字符串

tex-alt-dvi-print-command

"lpr -d"

命令將.dvi文件直接發送到副打印機

tex-dvi-view-command

(if (eq window-system 'x) "xdvi" "dvi2tty * | cat -s")

用“C-c C-v”組合鍵查看“.dvi” TEX輸出文件時將調用的命令字符串。在X窗口系統上,這個變量的值往往設置為“xdvi”

tex-offer-save

t

如果取值不為“nil”,則Emacs將在運行TEX之前提示用戶保存尚未存盤的編輯緩沖區

tex-show-queue-command

"lpq"

在TEX模式里,用“C-c C-q”組合鍵查看打印隊列時將被調用的命令字符串

tex-directory

"."

TEX存放臨時文件的目錄;默認為當前目錄

outline-regexp

"[*\f]+"

在大綱模式里,用來匹配文本標題行的正則表達式

outline-heading-end-regexp

"\n"

在大綱模式里,用來匹配文本標題行行尾的正則表達式

selective-display-ellipses

t

如果取值為“t”,則把大綱模式里的隱藏文本顯示為省略號“…”;其他取值表示什么也不顯示

 

表C-7:自動補足功能(參見第十六章)

變量

缺省值

說明

completion-auto-help

t

如果取值不為“nil”,則在自動補足功能(輔助輸入區里的TAB和ENTER鍵)無效或有二義時提供幫助

completion-ignored-extensions

(參見第十六章)

Emacs將不對這個列表的文件名后綴進行補足

completion-ignore-case

nil

如果取值不為“nil”,則進行自動補足時將忽略字母的大小寫

 

表C-8:雜項

變量

缺省值

說明

kill-ring-max

60

保存在刪除環里的被刪除文本塊數;如果沒有剩余的空間,就是刪除其中最“老”的那個

require-final-newline

nil

如果某個已經被保存起來的文件沒有最末尾的LINEFEED字符,則這個變量取值為“nil”時不自動添加之;取值為“t”時則自動添加之;其他取值時詢問用戶是否想添加一個LINEFEED字符a

next-line-add-newlines

nil

如果取值不為“nil”,則在編輯緩沖區的末尾執行next-line命令(按下“C-n”組合鍵或向下方向鍵)時插入一個新行而不是報告出錯

undo-limit, undo-strong-limit

20000, 30000

這兩個變量共同控制Emacs分配多大的空間來支持undo命令。如果你發現自己想要撤消的比Emacs記得的多,你可能想要增加這些限制;對於現在內存的大小,它們或許要大得多

mac-command-key-is-meta

t

如果取值為“t”,則MAC命令鍵被用作Meta;如果取值為“nil”,則首選的鍵是Meta

a.注意,有些程序(比如troff)要求文件必須以LINEFEED字符結束。

 

第三版新增內容

 

表C-9:編程(參見第十二章)

變量

缺省值

說明

compile-command

"make -k"

通過Emacs的編程語言模式編譯文件時所使用的默認編譯命令。例如,將ant設置為默認的編譯工具,應將其設為“ant-emacs”。

compilation-error-regexp-alist

(very long regular expression)

Emacs支持的所有編譯器將其用作匹配錯誤信息的正則表達式

comment-column

32

Emacs插入注釋的列。如果代碼在這一列,在代碼外插入注釋

comment-multi-line

nil

如果取值為“t”,則繼續在下一行注釋。如果取值為“nil”,則在下一行開始新的注釋行

c-style-alist

(參見第十二章)

設置代碼的縮進風格

debug-on-error

nil

如果取值為“nil”,則當有錯誤發生在Lisp代碼檢查階段,Emacs會進入debug模式。這是非常方便的在你測試一個新寫的函數的時候,但是你可能需要先閱讀調試器相關的幫助

c-macro-preprocessor

"/lib/cpp -C"

定義什么命令來調用C預處理命令,當你鍵入“C-c C-e”組合鍵的時候

stack-trace-on-error

nil

如果取值為“nil”,則當有錯誤發生在Lisp代碼檢查階段時,Emacs會顯示堆棧內容。這是非常方便的給你足夠的信息,而無需學習調試器接口

 
 
=========== End
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM