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 |
find-file |
查找文件並在一個新緩沖區里打開它 |
C-x C-v |
find-alternate-file |
讀入另外一個文件替換掉用“C-x C-f”讀入的文件 |
C-xi |
insert-file |
把文件插入到光標的當前位置 |
C-x C-s |
save-buffer |
保存文件 |
C-x C-w |
write-file |
把緩沖區內容寫入一個文件 |
C-x C-c |
save-buffers-kill-emacs |
退出Emacs |
C-h |
help-command |
進入Emacs的在線幫助系統 |
C-h f |
describe-function |
給出某個給定命令名的在線幫助信息 |
C-h k |
describe-key |
給出某個給定擊鍵序列的在線幫助信息 |
C-ht |
help-with-tutorial |
啟動Emacs教程 |
C-hi |
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 |
yank |
恢復被刪除的文本 |
C-w或SHIFT-DELETE |
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 |
kill-region |
刪除文本塊 |
C-y或SHIFT-INSERT |
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 |
yank-pop |
在用過“C-y”命令以后粘貼更早刪除的文本 |
表2-4:段落重排命令速查表
鍵盤操作 |
命令名稱 |
動作 |
ESC q |
fill-paragraph |
重排段落 |
(無) |
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 |
表2-8:命令的中止和撤銷
鍵盤操作 |
命令名稱 |
動作 |
C-g |
keyboard-quit |
放棄當前命令 |
C-x u |
advertised-undo[a] |
撤銷上一次編輯(可以重復使用) |
C-_或C-/ |
undo |
撤銷上一次編輯 |
(無) |
revert-buffer |
把緩沖區恢復到上次對文件進行存盤(或者自動存盤)時的狀態 |
[a]advertised-undo和undo之間並沒有真正的不同。它們的工作情況都是一樣的。
第三章 查找和替換操作
表3-1:遞增查找命令速查表
鍵盤操作 |
命令名稱 |
動作 |
C-s |
isearch-forward |
向前(朝文件尾方向)開始遞增查找操作;后面是查找字符串。另外,(向前)查找下一個出現查找字符串的地方 |
C-s |
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 |
向前(朝文件尾方向)開始一次非遞增查找操作 |
C-s |
向前查找下一個 |
C-r Entersearchstring Enter |
向前(朝文件頭方向)開始一次非遞增查找操作 |
C-r |
向后查找下一個 |
表3-3:查詢-替換操作中的響應
鍵盤操作 |
操作 |
M-% |
開始查詢-替換操作 |
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 |
re-search-forward |
向前(朝文件尾方向)查找一個正則表達式 |
C-M-r Enter |
re-search-backward |
向后(朝文件頭方向)查找一個正則表達式 |
C-M-s Enter |
isearch-forward-regexp |
向前(朝文件尾方向)遞增查找一個正則表達式 |
C-M-r Enter |
isearch-backward-regexp |
向后(朝文件頭方向)遞增查找一個正則表達式 |
C-M-% Enter |
query-replace-regexp |
查詢-替換一個與正則表達式 |
(無) |
replace-regexp |
無條件地對一個正則表達式做全局性替換(謹慎使用) |
表3-6:Ispell命令速查表
鍵盤操作 |
命令名稱 |
動作 |
M-$ Enter |
ispell-word |
檢查光標位置上的單詞或者光標后面的單詞 |
(無) |
ispell-region |
檢查文本塊里的單詞 |
(無) |
ispell-buffer |
檢查緩沖區里的單詞 |
(無) |
ispell-message |
檢查電子郵件正文里的單詞 |
(無) |
ispell-comments-and-strings |
檢查程序里的注釋和字符串 |
C-u M-$ |
ispell-continue |
讓Ispell重新開始繼續執行;這個命令只有在運行過Ispell並用“C-g”組合鍵暫停過它的執行時才有效 |
(無) |
ispell-kill-ispell |
殺死(即結束)Ispell進程 |
M-Tab |
ispell-complete-word |
在文本模式下,自動補足當前單詞 |
(無) |
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 |
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 |
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 |
在其他緩沖區里選擇一個編輯緩沖區 |
(無) |
compare-windows |
對兩個編輯緩沖區的內容進行比較,並顯示它們之間的第一個不同之處 |
表4-2:編輯緩沖區操作命令速查表
鍵盤操作 |
命令名稱 |
動作 |
C-x b |
switch-to-buffer |
移動到指定的編輯緩沖區 |
C-x |
next-buffer |
移動到編輯緩沖區清單里的下一個編輯緩沖區 |
C-x |
previous-buffer |
移動到編輯緩沖區清單里的上一個編輯緩沖區 |
C-x C-b |
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 |
bookmark-set |
在當前光標位置處設置一個書簽 |
C-x r b |
bookmark-jump |
跳轉到書簽指示位置 |
(無) |
bookmark-rename |
重新命名一個書簽 |
(無) |
bookmark-delete |
刪除一個書簽 |
(無) |
bookmark-save |
把書簽全都保存到默認的書簽 |
C-x r l |
bookmark-menu-list |
進入“*Bookmark List*”編輯緩沖區 |
(無) |
bookmark-insert |
插入與給定書簽關聯着的文件的完整內容 |
(無) |
bookmark-write |
把書簽全都保存到一個指定的文件里 |
(無) |
bookmark-load |
從指定文件里加載書簽 |
(無) |
bookmark-insert-location |
插入路徑到給定的書簽在當前的光標位置 |
表4-6:窗格命令速查表
鍵盤操作 |
命令名稱 |
動作 |
C-x 5 o |
other-frame |
移動到其他窗格 |
C-x 5 0 |
delete-frame |
刪除當前窗格 |
C-x 5 2 |
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 |
comint-interrupt-subjob |
中斷當前作業;相當於UNIX的shell中的“C-c”組合鍵 |
C-d |
comint-delchar-or-maybe-eof |
如果是在編輯緩沖區的末尾,送出EOF字符;如果是其他位置,刪除一個字符 |
C-c C-d |
comint-send-eof |
送出EOF字符 |
C-c C-u |
comint-kill-input |
刪除當前行;相當於UNIX的shell中的“C-u”組合鍵 |
C-c C-z |
comint-stop-subjob |
對非X用戶,掛起或者停止一個作業;相當於UNIX的shell中的“C-z”組合鍵 |
M-p |
comint-previous-input |
檢索此前的上一個命令(可以重復執行以找回更早的命令) |
M-n |
comint-next-input |
檢索此后的下一個命令(可以重復執行以找回更近的命令) |
Enter |
comint-send-input |
送出輸入在當前行上的命令 |
Tab |
comint-dynamic-complete |
自動補足當前命令、文件名或者變量名 |
C-c C-o |
comint-kill-output |
刪除最后一條命令的輸出 |
C-c C-r |
comint-show-output |
把輸出內容的第一行移到窗口的頂部 |
C-c C-e |
comint-show-maximum-output |
把輸出內容的最后一行移動窗口的底部 |
C-c C-p |
comint-previous-prompt |
移動到前一條命令 |
C-c C-n |
comint-next-prompt |
移動到后一條命令 |
表5-2:Dired命令速查表
鍵盤操作 |
命令名稱 |
動作 |
C-x d |
dired |
啟動Dired |
A |
dired-do-search |
對加有待操作標記的文件做一個正則表達式搜索;第一次匹配時停下,按“M-”鍵發現下一個匹配。 |
B |
dired-do-byte-compile |
字節編譯文件 |
C |
dired-do-copy |
復制文件 |
d |
dired-flag-file-deletion |
給文件加上待刪除標記 |
D |
dired-do-delete |
以問答方式立刻刪除某個文件 |
e |
dired-find-file |
編輯文件 |
f |
dired-advertised-find-file |
查找文件(以對它進行編輯) |
g |
revert-buffer |
從磁盤上重新讀入目錄 |
G |
dired-do-chgrp |
改變文件的組權限 |
h |
describe-mode |
為Dired顯示描述性的幫助文本。 |
H |
dired-do-hardlink |
為該文件創建硬鏈接,Emacs要求你為硬鏈接命名(並不是所有的操作系統都支持硬鏈接) |
i |
dired-maybe-insert-subdir |
將這個子目錄清單添加到當前的Dired緩沖;如果它已經存在,只是移動到它 |
k |
dired-do-kill-lines |
從畫面上刪除光標所在的那一行 |
L |
dired-do-load |
加載文件 |
m或* m |
dired-mark |
給文件加上“*”待操作標記 |
M |
dired-do-chmod |
對當前文件使用chmod命令 |
n |
dired-next-line |
移動到下一行 |
o |
dired-find-file-other-window |
在另一個窗口里查找文件,但不移動到新窗口 |
C-o |
dired-display-file |
在另外一個窗口里查找文件,移動到新窗口 |
O |
dired-do-chown |
改變文件的所有權 |
p |
dired-previous-line |
上移一行 |
P |
dired-do-print |
打印文件 |
q |
quit-window |
退出Dired |
Q |
dired-do-query-replace |
對加有待操作標記的文件做查找-替換字符串操作 |
R |
dired-do-rename |
重新命名文件 |
S |
dired-do-symlink |
為該文件創建符號鏈接,Emacs要求你為符號鏈接命名 |
s |
dired-sort-toggle-or-edit |
對Dired編輯緩沖區里的文件清單按日期或按文件名重新排序(在兩者之間切換) |
t |
dired-toggle-marks |
對文件和目錄切換待操作標記;按t標記所有沒有待操作標記過的文件和目錄,再次按t恢復原有待操作標記 |
u |
dired-unmark |
去掉待操作標記 |
v |
dired-view-file |
查看文件內容(只讀) |
w |
dired-copy-filename-as-kill |
將文件名復制到剪切環;如果多個文件被標記,將復制所有被標記文件的名字到剪切環 |
x |
dired-do-flagged-delete |
刪除加有待刪除標記“D”的文件 |
y |
dired-show-file-type |
使用file命令顯示文件的類型信息 |
Z |
dired-do-compress |
對文件進行壓縮或者解壓縮操作 |
~ |
dired-flag-backup-files |
給備份文件加上待刪除標記;去掉這些標記的命令是“C-u ~” |
# |
dired-flag-auto-save-files |
給自動保存文件加上待刪除標記;去掉這些標記的命令是“C-u #” |
& |
dired-flag-garbage-files |
給文件加上待刪除標記“garbage” |
. |
dired-clean-directory |
給帶編號的備份文件(如果有的話)加上待刪除標記 |
= |
dired-diff |
把這個文件與(文本標記處的)另一個文件進行比較 |
M-= |
dired-backup-diff |
將這個文件與它的備份文件進行比較 |
!或 X |
dired-do-shell-command |
以問答方式執行shell命令;命令的操作對象是加有待操作標記的文件 |
+ |
dired-create-directory |
創建一個目錄 |
> |
dired-next-dirline |
移動到下一個目錄 |
< |
dired-prev-dirline |
移動到上一個目錄 |
^ |
dired-up-directory |
在一個新的Dired緩沖區中查找父目錄 |
$ |
dired-hide-subdir |
隱藏或者顯示當前目錄或者子目錄 |
M-$ |
dired-hide-all |
隱藏所有子目錄,只留下他們的名字;重復命令來顯示 |
C-M-n |
dired-next-subdir |
移動到下一個子目錄(如果你已經使用“i”命令將子目錄清單添加到當前的Dired緩沖區) |
C-M-p |
dired-prev-subdir |
移動到上一個子目錄(如果你已經使用“i”命令將子目錄清單添加到當前的Dired緩沖區) |
C-M-u |
dired-tree-up |
如果你已經使用“i”命令將子目錄清單添加到當前的Dired緩沖區,,將在當前緩沖區移動到父目錄 |
C-M-d |
dired-tree-down |
如果你已經使用“i”命令將子目錄清單添加到當前的Dired緩沖區,將在當前緩沖區移動到第一個子目錄 |
* c |
dired-change-marks |
改變指定文件的標記,例如,從*(一般標記)到D(待刪除標記) |
* !或M-Del |
dired-unmark-all-files |
從所有文件中刪除所有標記 |
* * |
dired-mark-executables |
給可執行文件加上標記;去掉這些標記的命令是“C-u *” |
* / |
dired-mark-directories |
給目錄加上標記;去掉這些標記的命令是“C-u /” |
* @ |
dired-mark-symlinks |
給符號鏈接加上標記;去掉這些標記的命令是“C-u * @” |
M-} |
dired-next-marked-file |
移動到下一個有“*”或 “D”標記的文件 |
M-{ |
dired-prev-marked-file |
移動到上一個有“*”或 “D”標記的文件 |
% d |
dired-flag-files-regexp |
為匹配正則表達式的文件添加待刪除標記 |
% g |
dired-mark-files-containing-regexp |
為其內容匹配正則表達式的文件添加標記 |
% l |
dired-downcase |
小寫標記的文件 |
% R |
dired-do-rename-regexp |
用“filenames”重新命名匹配正則表達式的文件 |
% u |
dired-upcase |
大寫標記的文件 |
表5-3:打印命令速查表
鍵盤操作 |
動作 |
M-x print-buffer |
打印編輯緩沖區(類似於UNIX中的“pr | lpr”命令) |
M-x print-region |
打印文本塊(類似於UNIX中的“pr | lpr”命令) |
M-x lpr-buffer |
打印編輯緩沖區,但不帶頁碼(類似於UNIX的“lpr”命令) |
M-x lpr-region |
打印文本塊,但不帶頁碼(類似於UNIX的“lpr”命令) |
P |
在Dired里,把默認的打印命令放到輔助輸入緩沖區里;按回車執行它之前還可以對它進行修改 |
M-x ps-print-buffer-with-faces |
打印帶有文本屬性的編輯緩沖區 |
M-x ps-print-region-with-faces |
打印帶有文本屬性的文本塊 |
表5-4:日歷移動命令速查表
鍵盤操作 |
命令名稱 |
動作 |
(無) |
calendar |
顯示日歷 |
. |
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 ] |
calendar-forward-year |
向前移動一年 |
C-x [ |
calendar-backward-year |
向后移動一年 |
C-a |
calendar-beginning-of-week |
移動到本星期的開始 |
C-e |
calendar-end-of-week |
移動到本星期的結束 |
M-a |
calendar-beginning-of-month |
移動到本月的開始 |
M-e |
calendar-end-of-month |
移動到本月的結束 |
M-< |
calendar-beginning-of-year |
移動到本年的開始 |
M-> |
calendar-end-of-year |
移動到本年的結束 |
g d |
calendar-goto-date |
移動到指定日期 |
o |
calendar-other-month |
把指定月份放在日歷畫面中間 |
C-x < |
scroll-calendar-left |
前卷一個月 |
C-x > |
scroll-calendar-right |
后卷一個月 |
C-v |
scroll-calendar-left-three-months |
前卷三個月 |
M-v |
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 |
list-calendar-holidays |
顯示日歷畫面期間的假期 |
h |
calendar-cursor-holidays |
在輔助緩沖區中顯示今天的節假日(如果有節假日) |
x |
mark-calendar-holidays |
突出顯示節假日,節假日將被顯示另外一種字體、另外一種顏色或者在它們旁邊加上一個星號(*) |
u |
calendar-unmark |
去掉用來突出節假日的標記(與x命令的功能正好相反) |
i w |
insert-weekly-diary-entry |
根據此時是星期幾添加一項以一星期為循環周期的日記條目 |
i y |
insert-yearly-diary-entry |
添加一項以一年為循環周期的日記條目 |
i d |
insert-diary-entry |
為指定日期添加一項日記條目 |
i m |
insert-monthly-diary-entry |
添加一項以一個月為循環周期的日記條目 |
i c |
insert-cyclic-diary-entry |
添加一項以n天為循環周期的日記條目 |
i a |
insert-anniversary-diary-entry |
添加一項以一年為循環周期的日記條目 |
i b |
insert-block-diary-entry |
添加一項日期段條目 |
m |
mark-diary-entries |
突出顯示日記條目,它們被顯示為另外一種字體、另外一種顏色或者在它們旁邊加上一個加號(+) |
d |
view-diary-entries |
顯示當前日期的日記條目 |
s |
show-all-diary-entries |
顯示“.diary”文件的內容 |
M-= |
calendar-count-days-region |
計算某個時間段里的天數 |
M |
calendar-phases-of-moon |
顯示3個月期間的月相情況 |
S |
calendar-sunrise-sunset |
根據給定的經度和緯度,顯示當前日期的日出、日落時間 |
C-Space或C-@ |
calendar-set-mark |
以時間日期為對象設置(時間)塊標記,而不是按普通情況設置文本標記 |
第六章電子郵件和Usenet新聞
表6-1:郵件發送命令速查表
鍵盤操作 |
命令名稱 |
動作 |
C-x m |
|
打開“*mail*”編輯緩沖區,以郵件模板為基礎填寫有關資料和郵件內容 |
C-x 4 m |
mail-other-window |
在一個新窗口打開“*mail*”編輯緩沖區 |
C-x 5 m |
mail-other-frame |
在一個新窗格里打開“*mail*”編輯緩沖區 |
C-c C-f C-t |
mail-to |
移動到“To:”欄 |
C-c C-f C-c |
mail-cc |
移動到“CC:”欄(如果沒有就創建之) |
C-c C-f C-b |
mail-bcc |
移動到“BCC:”欄(如果沒有就創建之) |
C-c C-f C-f |
mai-fcc |
提示輸入一個文件名,然后向這個文件發送一份郵件副本 |
C-c C-f C-r |
mai-reply-to |
指定一個地址,而這封郵件的回復都將被發到這個地址上去 |
C-c C-f C-s |
mai-subject |
移動到信頭中的主題欄 |
C-c C-t |
mai-text |
移動到可以開始輸入信體的地方去 |
C-c C-w |
mail-signature |
插入“.signature”文件的內容 |
C-c C-c |
mail-send-and-exit |
發送郵件並退出“*mail*”編輯緩沖區 |
C-c C-s |
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 |
rmail-next-undeleted-message |
移動到下一條消息 |
p |
rmail-previous-undeleted-message |
移動到上一條消息 |
< |
rmail-first-message |
移動到第一條消息 |
> |
rmail-last-message |
移動到最后一條消息 |
j |
rmail-show-message |
如果這個命令的前面有一個數字“n”,跳到第n條消息 |
表6-4:郵件刪除命令速查表
鍵盤操作 |
命令名稱 |
動作 |
d Delete→Delete |
rmail-delete-forward |
給郵件加上待刪除標記,然后移動到下一個 |
C-d |
rmail-delete-backward |
給郵件加上待刪除標記,然后移動到上一個 |
M-n |
rmail-next-message |
移動到下一條消息;不管它是否已經加上待刪除標記 |
M-p |
rmail-previous -message |
移動到上一條消息;不管它是否已經加上待刪除標記 |
u |
rmail-undelete- previous -message |
去掉郵件信息上的待刪除標記 |
x |
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 |
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 |
在光標位置處分拆文本行,並把它的后半截縮進到光標所在的那一列 |
(無) |
increase-left-margin |
增加編輯緩沖區左縮進層次,默認為四個字符 |
(無) |
decrease-left-margin |
減少編輯緩沖區左縮進層次,默認為四個字符 |
(無) |
decrease-right-margin |
減少編輯緩沖區右縮進層次,默認為四個字符 |
(無) |
increase-right-margin |
增加編輯緩沖區右縮進層次,默認為四個字符 |
C-x . |
set-fill-prefix |
把左邊界到光標位置之間的字符串設置為加在段落每一行之前的縮進前導字符串;在第一列輸入這個命令,表示此后將不再插入縮進前導字符串 |
表8-3:居中命令速查表
鍵盤操作 |
命令名稱 |
動作 |
M-s |
center-line |
把光標所在的文本行居中 |
M-S |
center-paragraph |
把光標所在的段落居中 |
(無) |
center-region |
把當前定義的文本塊居中 |
(無) |
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 |
outline-next-visible-heading |
移動到下一個標題 |
C-c C-p |
outline-previous-visible-heading |
移動到上一個標題 |
C-c C-f |
outline-forward-same-level |
移動到下一個同級的標題 |
C-c C-b |
outline-backward-same-level |
移動到上一個同級的標題 |
C-c C-u |
outline-up-heading |
移動到上一級別的標題層次 |
C-c C-t |
hide-body |
隱藏全體正文行 |
C-c C-a |
show-all |
顯示被隱藏起來的所有東西 |
C-c C-q |
hide-sublevels |
只顯示第一級標題 |
C-c C-o |
hide-other |
隱藏當前子樹以外的所有文字和標題。顯示第一級別標題 |
C-c @ |
outline-mark-subtree |
標記當前標題和下級所有文字和標題 |
C-c C-^ |
outline-promote |
提升當前標題一個級別 |
C-c C-v |
outline-demote |
降低當前標題一個級別 |
C-c C-d |
hide-subtree |
隱藏某標題的全體下級小標題及其相關正文 |
C-c C-c |
hide-entry |
隱藏某標題的正文部分(不包括它的下級小標題和那些小標題的正文部分) |
C-c C-l |
hide-leaves |
隱藏某標題的正文部分,同時隱藏它全體下級小標題的正文部分(只留下標題) |
C-c C-s |
show-subtree |
顯示某給定標題的下級的下級小標題和它的相關文本 |
C-c C-e |
show-entry |
顯示某給定標題的相關文本(不包括它的下級小標題及它們的正文部分) |
C-c C-k |
show-branches |
顯示某標題的正文及全體下級小標題的全部正文 |
C-c Tab |
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-select-op-flood-fill |
選擇填充操作 |
C-c C-a C-k |
artist-select-op-cut-rectangle |
在某一區域周圍繪制一個矩形,然后剪切之 |
C-c C-a M-w |
artist-select-op-copy-rectangle |
在某一區域周圍繪制一個矩形,然后復制之 |
C-c C-a C-y |
artist-select-op-paste |
粘貼你所復制的,不管是不是使用鼠標操作的 |
C-c C-a v |
artist-select-op-vaporize-line |
清除所選擇的一條線(文字行,而不是文件中的一行) |
C-c C-a C-d |
artist-select-op-erase-char |
選擇擦除操作(鼠標將是清除器) |
C-c C-a S |
artist-select-op-spray-can |
選擇油漆桶操作 |
C-c C-a e |
artist-select-op-ellipse |
繪制橢圓 |
C-c C-a p |
artist-select-op-poly-line |
繪制折線 |
C-c C-a r |
artist-select-op-rectangle |
繪制矩形 |
C-c C-a l |
artist-select-op-line |
繪制直線 |
C-c C-a C-r |
artist-toggle-rubber-banding |
如果開啟(默認),當拉伸圖形時顯示形狀;否則(沒有開啟),將顯示端點 |
C-c C-a C-l |
artist-select-line-char |
選擇畫線時所使用的字符(默認是“-”) |
C-c C-a C-f |
artist-select-fill-char |
選擇字符來填充形狀(默認是空格) |
第九章用Emacs設置排版標記
表9-1:各種標記模式下的注釋
如果在下列模式里敲入“M-;” |
Emacs將插入 |
HTML模式 |
<!-- --> |
HTML helper模式 |
<!-- --> |
SGML模式 |
<!-- --> |
nxml模式 |
<!-- --> |
psgml模式 |
<!-- --> |
LaTeX模式 |
%% (在空行上) % (在有內容的行上) |
表9-2:nroff配對模式支持的配對命令組
起始標記 |
收尾標記 |
|
.(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-region |
檢查文本塊有無語法錯誤 |
C-c C-f |
tex-file |
保存當前文件,然后對其進行TEX或LATEX排版處理 |
C-c C-b |
tex-buffer |
對編輯緩沖區進行TEX或LATEX排版處理 |
C-c C-l |
tex-recenter-output-buffer |
把排版信息畫面顯示在屏幕上,(至少)會顯示最后一條出錯信息 |
C-c C-k |
tex-kill-job |
中斷TEX或LATEX排版處理工作 |
C-c C-p |
tex-print |
打印TEX或LATEX的排版輸出 |
C-c C-q |
tex-show-print-queue |
查看打印隊列 |
C-c C-e |
latex-close-block |
只能用在LATEX模式里,自動插入某個命令組中的第二個命令 |
(無) |
tex-close-latex-block |
提供關閉元素命令對 |
C-c Tab` |
tex-bibtex-file |
對編輯緩沖區進行BIBTEX排版處理(一個自動創建目錄索引的系統) |
C-c C-v |
tex-view |
查看DVI輸出 |
(無) |
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 |
browse-url-of-file |
在默認瀏覽器中顯示該文件 |
C-c C-z u |
browse-url-default-browser |
在默認瀏覽器中打開光標位置處超鏈接的URL地址 |
C-c M-h 1 |
tempo-template-html-header-1 |
插入<h1></h1>標簽 |
C C-c M-h 2 |
tempo-template-html-header-2 |
插入<h2></h2>標簽 |
C-c M-h 3 |
tempo-template-html-header-3 |
插入<h3></h3>標簽 |
C-c M-h 4 |
tempo-template-html-header-4 |
插入<h4></h4>標簽 |
C-c M-h 5 |
tempo-template-html-header-5 |
插入<h5></h5>標簽 |
C-c M-h 6 |
tempo-template-html-header-6 |
插入<h6></h6>標簽 |
M-Enter |
tempo-template-html-paragraph |
插入<p></p>標簽 |
C-c C-a l |
tempo-template-html-hyperlink |
插入<a href=""></a>標簽 |
C-c C-a n |
tempo-template-html-link-target |
插入<a name=""></a>標簽 |
C-c Enter |
tempo-template-html-line-break |
插入一個換行符“<br>” |
C-c = |
tempo-template-html-horizontal-line |
插入一個換行符水平標尺“<hr>” |
C-c C-z t |
html-helper-insert-timestamp-delimiter-at-point |
插入時間戳分隔符 |
C-c C-h t |
tempo-template-html-title |
插入<title></title>標簽 |
C-c Tab a |
tempo-template-html-image |
插入<img src="">標簽 |
C-c C-l u |
tempo-template-html-unordered-list |
插入<ul><li></li></ul>標簽 |
C-c C-l o |
tempo-template-html-ordered-list |
插入<ol><li></li></ol>標簽 |
C-c C-l t |
tempo-template-html-definition-item |
插入<dt><dd>標簽 |
C-c C-l l |
tempo-template-html-item |
插入<li></li>標簽 |
C-c C-l d |
tempo-template-html-definition-list |
插入<dl><dt><dd></dl>標簽 |
C-c C-l m |
tempo-template-html-menu-list |
插入<menu><li></li></menu>標簽 |
C-c C-l r |
tempo-template-html-directorylist |
插入<dir><li></li></dir>標簽 |
C-c C-l i |
html-helper-smart-insert-item |
插入<li></li>標簽 |
C-c C-f z |
tempo-template-html-reset-form |
插入<input type="RESET">標簽 |
C-c C-f b |
tempo-template-html-button |
插入<input type="BUTTON">標簽 |
C-c C-f m |
tempo-template-html- submit-form |
插入<input type="SUBMIT">標簽 |
C-c C-f s |
tempo-template-html-selections |
插入<select><option></select>標簽 |
C-c C-f o |
tempo-template-html-option |
插入<option>標簽 |
C-c C-f v |
tempo-template-html-option-with-value |
插入<option value="">標簽 |
C-c C-f i |
tempo-template-html-input-image-field |
插入<input type="IMAGE">標簽 |
C-c C-f r |
tempo-template-html-input-radiobutton |
插入<input type="RADIO">標簽 |
C-c C-f c |
tempo-template-html-checkbox |
插入<input type="CHECKBOX">標簽 |
C-c C-f p |
tempo-template-html-text-area |
插入<textarea></textarea>標簽 |
C-c C-f f |
tempo-template-html-form |
插入<form></form>標簽 |
C-c C-f t ` |
tempo-template-html-text-field |
插入<input type="TEXT">標簽 |
C-c C-f h |
tempo-template-html-hidden-field |
插入<input type="HIDDEN">標簽 |
C-c M-l s |
tempo-template-html-strong |
插入<strong></strong>標簽 |
C-c M-l e |
tempo-template-html-emphasized |
插入<em></em>標簽 |
C-c M-l b |
tempo-template-html-blockquote |
插入<blockquote></blockquote>標簽 |
C-c M-l p |
tempo-template-html-preformatted |
插入<pre></pre>標簽 |
C-c C-p s |
tempo-template-html-strikethru |
插入<s></s>標簽 |
C-c C-p f |
tempo-template-html-fixed |
插入<tt></tt>標簽 |
C-c C-p u |
tempo-template-html-underline |
插入<u></u>標簽 |
C-c C-p i |
tempo-template-html-italic |
插入<i></i>標簽 |
C-c C-p b |
tempo-template-html-bold |
插入<b></b>標簽 |
C-c C-p c |
tempo-template-html-center |
插入<center></center>標簽 |
C-c C-p l |
tempo-template-html-spanning-class |
插入<span class=""></span>標簽 |
C-c C-p 5 |
tempo-template-html-spanning-style |
插入<span style=""></span>標簽 |
C-c C-s a |
tempo-template-html-address |
插入<address></address>標簽 |
C-c M-l d |
tempo-template-html-definition |
插入<dfn></dfn>標簽 |
C-c M-l v |
tempo-template-html-variable |
插入<var></var>標簽 |
C-c M-l k |
tempo-template-html-keyboard |
插入<kbd></kbd>標簽 |
C-c M-l r |
tempo-template-html-citation |
插入<cite></cite>標簽 |
C-c M-l x |
tempo-template-html-sample |
插入<samp></samp>標簽 |
C-c M-l c |
tempo-template-html-code |
插入<code></code>標簽 |
C-c C-h b |
tempo-template-html-base |
插入<base href="">標簽 |
C-c C-h l |
tempo-template-html-link |
插入<link href="">標簽 |
C-c C-h m |
tempo-template-html-meta-name |
插入<meta content="">標簽 |
C-c C-h n |
tempo-template-html-nextid |
插入<nextid>標簽 |
C-c C-h i |
tempo-template-html-isindex |
插入<isindex>標簽 |
C-c C-h B |
tempo-template-html-body |
插入<body></body>標簽 |
C-c C-h H |
tempo-template-html-head |
插入<head></head>標簽 |
C-c C-t t |
tempo-template-html-table |
插入<table></table>標簽 |
C-c C-t p |
tempo-template-html-html-table-caption |
插入<caption></caption>標簽 |
C-c C-t d |
tempo-template-html-table-data |
插入<TD></TD>標簽 |
C-c C-t h |
tempo-template-html-table-header |
插入<TH></TH>標簽 |
C-c C-t r |
tempo-template-html-table-row |
插入<TR></TR>標簽 |
第三版新增內容
表9-6:HTMLHelper模式插入字符實體速查表
|
|
|
網頁上呈現 |
C-c > |
tempo-template-html-greater-than |
> |
> |
C-c < |
tempo-template-html-less-than |
< |
< |
C-c & |
tempo-template-html-ampersand |
& |
& |
C-c u |
tempo-template-html-u`-(&ù) |
ù |
ù |
C-c i |
tempo-template-html-i`-(&ì) |
ì |
ì |
C-c o |
tempo-template-html-o`-(&ò) |
ò |
ò |
C-c E |
tempo-template-html-e'-(&é) |
é |
é |
C-c e |
tempo-template-html-e`-(&è) |
è |
è |
C-c a |
tempo-template-html-a`-(&à) |
à |
à |
C-c SPC |
tempo-template-html-nonbreaking-space |
|
nonbreaking space |
C-c - |
tempo-template-html-soft-hyphen |
­ |
soft hyphen |
C-c @ |
tempo-template-html-copyright |
© |
© |
C-c $ |
tempo-template-html-registered |
® |
® |
C-c " |
tempo-template-html-quotation-mark |
" |
" |
C-c # |
tempo-template-html-ascii-code |
Enter the 3-digit code for the desired character |
specified character |
表9-7:字符編碼對照表
C-x 8前綴 按鍵操作 |
|
|
|
C-x 8 " |
" |
´ |
´ |
C-x 8 ' a |
' a |
á |
á |
C-x 8 'A |
'A |
Á |
Á |
C-x 8 ' e |
' e |
é |
é |
C-x 8 ' E |
' E |
É |
É |
C-x 8 ' i |
' i |
í |
í |
C-x 8 ' I |
' I |
Í |
Í |
C-x 8 ' o |
' o |
ó |
ó |
C-x 8 ' O |
' O |
Ó |
Ó |
C-x 8 ' u |
' u |
ú |
ú |
C-x 8 ' U |
' U |
Ú |
Ú |
C-x 8 ' y |
' y |
ý |
|
C-x 8 ' Y |
' Y |
Ý |
|
C-x 8 ` a |
` a |
à |
à |
C-x 8 ` A |
` A |
À |
À |
C-x 8 ` e |
` e |
è |
è |
C-x 8 ` E |
` E |
È |
È |
C-x 8 ` i |
` i |
ì |
ì |
C-x 8 ` I |
` I |
Ì |
Ì |
C-x 8 ` o |
` o |
ò |
ò |
C-x 8 ` O |
` O |
Ò |
Ò |
C-x 8 ` u |
` u |
ù |
ù |
C-x 8 ` U |
` U |
Ù |
|
C-x 8 ^ a |
^ a |
â |
â |
C-x 8 ^ A |
^ A |
 |
 |
C-x 8 ^ e |
^ e |
ê |
ê |
C-x 8 ^ E |
^ E |
Ê |
Ê |
C-x 8 ^ i |
^ i |
î |
î |
C-x 8 ^ I |
^ I |
Î |
Î |
C-x 8 ^ o |
^ o |
ô |
ô |
C-x 8 ^ O |
^ O |
Ô |
Ô |
C-x 8 ^ u |
^ u |
û |
û |
C-x 8 ^ U |
^ U |
Û |
Û |
C-x 8 " " |
" " |
¨ |
¨ |
C-x 8 " a |
" a |
ä |
ä |
C-x 8 " A |
" A |
Ä |
Ä |
C-x 8 " e |
" e |
ë |
ë |
C-x 8 " E |
" E |
Ë |
Ë |
C-x 8 " i |
" i |
ï |
ï |
C-x 8 " I |
" I |
Ï |
Ï |
C-x 8 " o |
" o |
ö |
ö |
C-x 8 " O |
" O |
Ö |
Ö |
C-x 8 " u |
" u |
ü |
ü |
C-x 8 " U |
" U |
Ü |
Ü |
C-x 8 " s |
" s |
ß |
ß |
C-x 8 " y |
" y |
ÿ |
ÿ |
C-x 8 " Y |
" Y |
Ÿ |
|
C-x 8 ~ ~ |
¬ |
¬ |
|
C-x 8 ~ a |
~ a |
ã |
ã |
C-x 8 ~ A |
~ A |
à |
à |
C-x 8 ~ d |
~ d |
ð |
|
C-x 8 ~ D |
~ D |
Ð |
|
C-x 8 ~ n |
~ n |
ñ |
ñ |
C-x 8 ~ N |
~ N |
Ñ |
Ñ |
C-x 8 ~ o |
~ o |
õ |
õ |
C-x 8 ~ O |
~ O |
Õ |
Õ |
C-x 8 ~ t |
~ t |
þ |
|
C-x 8 ~ T |
~ T |
Þ |
|
C-x 8 / / |
÷ |
÷ |
|
C-x 8 o |
/ / |
˚ |
° |
C-x 8 / a |
/ a |
å |
å |
C-x 8 / A |
/ A |
Å |
Å |
C-x 8 / e |
/ e |
æ |
æ |
C-x 8 / E |
/ E |
Æ |
Æ |
C-x 8 / o |
/ o |
ø |
ø |
C-x 8 / O |
/ O |
Ø |
Ø |
C-x 8 , , |
~~ |
¸ |
¸ |
C-x 8 , c |
~c |
ç |
ç |
C-x 8 , C |
~C |
Ç |
Ç |
表9-8:標點符號編碼對照表
C-x 8前綴 按鍵操作 |
符號實體 |
網頁上呈現字符 |
C-x 8 1 / 2 |
½ |
1/2 |
C-x 8 1 / 4 |
¼ |
1/4 |
C-x 8 3 / 4 |
¾ |
3/4 |
C-x 8 SPC |
|
nonbreaking space |
C-x8 ! |
¡ |
¡ |
C-x 8 $ |
¤ |
¤ |
C-x 8 + |
± |
± |
C-x 8 - |
­ |
soft hyphen |
C-x8 . |
· |
· |
C-x 8 < |
« |
« |
C-x 8 = |
¯ |
¯ |
C-x 8 > |
» |
» |
C-x8 ? |
¿ |
¿ |
C-x 8 | |
¦ |
| |
C-x 8 c |
¢ |
¢ |
C-x 8 C |
© |
© |
C-x 8 L |
£ |
£ |
C-x 8 P |
¶ |
¶ |
C-x 8 R |
® |
® |
C-x 8 S |
§ |
§ |
C-x 8 u |
µ |
µ |
C-x 8 x |
× |
x |
C-x 8 Y |
¥ |
¥ |
C-x 8 ^ 1 |
¹ |
1 |
C-x 8 ^ 2 |
² |
2 |
C-x 8 ^ 3 |
³ |
3 |
C-x 8 _ a |
ª |
a |
C-x 8 _ o |
º |
o |
表9-9:HTML模式插入字符實體速查表
|
|
|
網頁上呈現 |
C-c > |
tempo-template-html-greater-than |
> |
> |
C-c < |
tempo-template-html-less-than |
< |
< |
C-c & |
tempo-template-html-ampersand |
& |
& |
C-c u |
tempo-template-html-u`-(&ù) |
ù |
ù |
C-c i |
tempo-template-html-i`-(&ì) |
ì |
ì |
C-c o |
tempo-template-html-o`-(&ò) |
ò |
ò |
C-c E |
tempo-template-html-e'-(&é) |
é |
é |
C-c e |
tempo-template-html-e`-(&è) |
è |
è |
C-c a |
tempo-template-html-a`-(&à) |
à |
à |
C-c SPC |
tempo-template-html-nonbreaking-space |
|
nonbreaking space |
C-c - |
tempo-template-html-soft-hyphen |
­ |
soft hyphen |
C-c @ |
tempo-template-html-copyright |
© |
© |
C-c $ |
tempo-template-html-registered |
® |
® |
C-c " |
tempo-template-html-quotation-mark |
" |
" |
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命令
|
第十一章對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 |
|
;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 |
|
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 |
光標的字符位置 |
point-min |
最小字符位置(通常是1) |
bolp |
光標是否位於行首(取值為“t”或“nil”) |
insert |
把任意個數的參數(字符串或字符)插入到編輯緩沖區光標位置之后 |
number-to-string |
把一個數值參數轉換為一個字符串 |
表13-5:正則表達式基本操作符
|
表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會顯示堆棧內容。這是非常方便的給你足夠的信息,而無需學習調試器接口 |