weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評(píng)論 - 101, 引用 - 0
          數(shù)據(jù)加載中……

          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

          主站蜘蛛池模板: 淮南市| 迁安市| 金坛市| 庐江县| 大名县| 北宁市| 内江市| 渭源县| 天津市| 资溪县| 柳州市| 隆回县| 兴安县| 凤凰县| 岱山县| 吉首市| 绍兴县| 榆社县| 康马县| 城口县| 孟州市| 探索| 仁寿县| 淄博市| 新和县| 麻江县| 华宁县| 双江| 高唐县| 贺兰县| 上虞市| 诸城市| 贡山| 宿迁市| 广州市| 眉山市| 昭觉县| 南华县| 望谟县| 遵义市| 湘阴县|