Linux下的開發(fā)工具Emacs介紹
使用Linux已經(jīng)有一段時(shí)間了,現(xiàn)在Linux已經(jīng)成為我辦公、學(xué)習(xí)、娛樂不可缺少的平臺(tái)。Office系列軟件,網(wǎng)絡(luò)工具,開發(fā)軟件,這些在Windows下標(biāo)價(jià)昂貴的東西,在Linux下不僅可以免費(fèi)獲取,而且還可以瀏覽源碼觀其內(nèi)幕,附加價(jià)值是相當(dāng)可觀的。
作為一名開發(fā)人員,選擇一個(gè)好的IDE是必要的。在Linux環(huán)境下,可考慮選擇Eclipse。它的界面友好,編輯、調(diào)試、代碼管理功能兼?zhèn)洹2贿^本文介紹的是另一款功能卓絕的開發(fā)工具:Emacs。
Eclispe比較適合初級(jí)開發(fā)人員,而Emacs則比較適合高級(jí)開發(fā)人員。功能方面兩者相當(dāng),或者Emacs略勝一籌。相比Eclipse華貴的界面,Emacs更顯得簡(jiǎn)潔高效,性能方面表現(xiàn)更佳。正如一名資深的開發(fā)專家所言,當(dāng)你所寫的代碼超過3萬行的時(shí)候,一個(gè)清醒的大腦比什么IDE都強(qiáng)。這時(shí)候也許隨心所欲比美好的外觀更可取,這也是國外很多人士鐘情于Emacs的理由。
下面是對(duì)Emacs快捷鍵的總結(jié),希望能幫助大家更快適應(yīng)Emacs使用。
文件操作
C-x C-f 打開文件,出現(xiàn)提示時(shí)輸入/username@host:filepath可編輯FTP文件
C-x C-v 打開一個(gè)文件,取代當(dāng)前緩沖區(qū)
C-x C-s 保存文件
C-x C-w 存為新文件
C-x i 插入文件
C-x C-q 切換為只讀或者讀寫模式
C-x C-c 退出Emacs
編輯操作
C-f 前進(jìn)一個(gè)字符
C-b 后退一個(gè)字符
M-f 前進(jìn)一個(gè)字
M-b 后退一個(gè)字
C-a 移到行首
C-e 移到行尾
M-a 移到句首
M-e 移到句尾
C-p 后退一行
C-n 前進(jìn)一行
M-x goto-line 跳到指定行
C-v 向下翻頁
M-v 向上翻頁
M-< 緩沖區(qū)頭部
M-> 緩沖區(qū)尾部
C-M-f 向前匹配括號(hào)
C-M-b 向后匹配括號(hào)
C-l 當(dāng)前行居中
M-n or C-u n 重復(fù)操作隨后的命令n次
C-u 重復(fù)操作隨后的命令4次
C-u C-u 重復(fù)操作隨后的命令8次
C-x ESC ESC 執(zhí)行歷史命令記錄,M-p選擇上一條命令,M-n選擇下一條命令
C-d 刪除一個(gè)字符
M-d 刪除一個(gè)字
C-k 刪除一行
M-k 刪除一句
C-w 刪除標(biāo)記區(qū)域
C-y 粘貼刪除的內(nèi)容
注意:C-y可以粘貼連續(xù)C-k刪除的內(nèi)容;先按C-y,然后按M-y可以選擇粘貼被刪除的內(nèi)容
C-@ 標(biāo)記開始區(qū)域
C-x h 標(biāo)記所有文字
C-x C-x 交換光標(biāo)位置和區(qū)域標(biāo)記區(qū)開頭
M-w 復(fù)制標(biāo)記區(qū)域
C-_ or C-x u 撤消操作
執(zhí)行SHELL命令
M-x shell 打開SHELL
M-! 執(zhí)行SHELL命令 (shell-command)
M-1 M-! 執(zhí)行SHELL命令,命令輸出插入光標(biāo)位置,不打開新輸出窗口
M-| 針對(duì)某一特定區(qū)域執(zhí)行命令(shell-command-on-region), 比如 C-x h M-|uuencode
窗口操作
C-x 0 關(guān)閉本窗口
C-x 1 只留下一個(gè)窗口
C-x 2 垂直均分窗口
C-x 3 水平均分窗口
C-x o 切換到別的窗口
C-x s 保存所有窗口的緩沖
C-x b 選擇當(dāng)前窗口的緩沖區(qū)
C-x ^ 縱向擴(kuò)大窗口
C-x } 橫向擴(kuò)大窗口
緩沖區(qū)列表操作
C-x C-b 打開緩沖區(qū)列表
d or k 標(biāo)記為刪除
~ 標(biāo)記為未修改狀態(tài)
% 標(biāo)記為只讀
s 保存緩沖
u 取消標(biāo)記
x 執(zhí)行標(biāo)記的操作
f 在當(dāng)前窗口打開該緩沖區(qū)
o 在其他窗口打開該緩沖區(qū)
目錄操作
C-x d 打開目錄模式
s 按日期/文件名排序顯示
v 閱讀光標(biāo)所在的文件
q 退出閱讀的文件
d 標(biāo)記為刪除
x 執(zhí)行標(biāo)記
D 馬上刪除當(dāng)前文件
C 拷貝當(dāng)前文件
R 重名名當(dāng)前文件
+ 新建文件夾
Z 壓縮文件
! 對(duì)光標(biāo)所在的文件執(zhí)行SHELL命令
g 刷新顯示
i 在當(dāng)前緩沖區(qū)的末尾插入子目錄的內(nèi)容
[n]m 標(biāo)記光標(biāo)所在的文件,如果指定n,則從光標(biāo)所在的文件起后n個(gè)文件被標(biāo)記
[n]u 取消當(dāng)前光標(biāo)標(biāo)記的文件,n的含義同上
t 反向標(biāo)記文件
%-m 正則標(biāo)記
q 退出目錄模式
說明:在目錄模式中,如果輸入!,在命令行中包含*或者?,有特殊的含義。*匹配當(dāng)前光標(biāo)所在的文件和所有標(biāo)記的文件,?分別在每一個(gè)標(biāo)記的文件上執(zhí)行該命令。
程序編譯
M-x compile 執(zhí)行編譯操作
M-x gdb GDB排錯(cuò)
M-x dbx DBX排錯(cuò)
M-x xdb XDB排錯(cuò)
M-x sdb SDB排錯(cuò)
搜索模式
C-s key 向前搜索
C-s 查找下一個(gè)
ENTER 停止搜索
C-r key 反向搜索
C-s C-w 以光標(biāo)所在位置的字為關(guān)鍵字搜索
C-s C-s 重復(fù)上次搜索
C-r C-r 重復(fù)上次反向搜索
C-s ENTER C-w 進(jìn)入單詞搜索模式
C-r ENTER C-w 進(jìn)入反向單詞搜索模式
M-x replace-string ENTER search-string ENTER 替換
M-% search-string ENTER replace-string ENTER 交互替換
C-r 在進(jìn)入查找/替換模式后,該命令進(jìn)入迭代編輯模式
C-M-x 退出迭代編輯模式,返回到查找/替換模式
C-M-s 向前正則搜索
C-M-r 向后正則搜索
C-M-% 正則交互替換
SHELL模式
C-c C-c 相當(dāng)于Bash下的C-c
C-c C-z 相當(dāng)于Bash下的C-z
C-c C-d 相當(dāng)于Bash下的C-d
M-p 執(zhí)行前一條命令
C-n 執(zhí)行下一條命令
C-c C-o 刪除最后一條命令產(chǎn)生的輸出
C-c C-r 屏幕滾動(dòng)到最后一條命令輸出的開頭
C-c C-e 屏幕滾動(dòng)到最后一套命令輸出的結(jié)尾
C-c C-p 查看前一條命令的輸出
C-c C-n 查看后一條命令的輸出
打印資料
M-x print-buffer 先使用pr,然后使用lpr
M-x lpr-buffer 直接使用lpr
M-x print-region
M-x lpr-region
收發(fā)郵件
M-x mail 發(fā)送郵件, C-c C-s 發(fā)送,C-c C-c 發(fā)送并退出
M-x rmail 接受郵件
參考資料:
O'Reilly, Emacs 3rd Edition
from: http://www.devfront.com:8080/?q=node/115
posted on 2006-07-30 15:56 weidagang2046 閱讀(702) 評(píng)論(0) 編輯 收藏 所屬分類: Linux