weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
          數據加載中……

          Linux下的開發工具Emacs介紹

          使用Linux已經有一段時間了,現在Linux已經成為我辦公、學習、娛樂不可缺少的平臺。Office系列軟件,網絡工具,開發軟件,這些在Windows下標價昂貴的東西,在Linux下不僅可以免費獲取,而且還可以瀏覽源碼觀其內幕,附加價值是相當可觀的。

          作為一名開發人員,選擇一個好的IDE是必要的。在Linux環境下,可考慮選擇Eclipse。它的界面友好,編輯、調試、代碼管理功能兼備。不過本文介紹的是另一款功能卓絕的開發工具:Emacs。

          Eclispe比較適合初級開發人員,而Emacs則比較適合高級開發人員。功能方面兩者相當,或者Emacs略勝一籌。相比Eclipse華貴的界面,Emacs更顯得簡潔高效,性能方面表現更佳。正如一名資深的開發專家所言,當你所寫的代碼超過3萬行的時候,一個清醒的大腦比什么IDE都強。這時候也許隨心所欲比美好的外觀更可取,這也是國外很多人士鐘情于Emacs的理由。

          下面是對Emacs快捷鍵的總結,希望能幫助大家更快適應Emacs使用。

          文件操作

          C-x C-f 打開文件,出現提示時輸入/username@host:filepath可編輯FTP文件
          C-x C-v 打開一個文件,取代當前緩沖區
          C-x C-s 保存文件
          C-x C-w 存為新文件
          C-x i 插入文件
          C-x C-q 切換為只讀或者讀寫模式
          C-x C-c 退出Emacs

          編輯操作

          C-f 前進一個字符
          C-b 后退一個字符
          M-f 前進一個字
          M-b 后退一個字
          C-a 移到行首
          C-e 移到行尾
          M-a 移到句首
          M-e 移到句尾
          C-p 后退一行
          C-n 前進一行
          M-x goto-line 跳到指定行
          C-v 向下翻頁
          M-v 向上翻頁
          M-< 緩沖區頭部
          M-> 緩沖區尾部

          C-M-f 向前匹配括號
          C-M-b 向后匹配括號

          C-l 當前行居中

          M-n or C-u n 重復操作隨后的命令n次
          C-u 重復操作隨后的命令4次
          C-u C-u 重復操作隨后的命令8次
          C-x ESC ESC 執行歷史命令記錄,M-p選擇上一條命令,M-n選擇下一條命令

          C-d 刪除一個字符
          M-d 刪除一個字
          C-k 刪除一行
          M-k 刪除一句
          C-w 刪除標記區域

          C-y 粘貼刪除的內容

          注意:C-y可以粘貼連續C-k刪除的內容;先按C-y,然后按M-y可以選擇粘貼被刪除的內容

          C-@ 標記開始區域
          C-x h 標記所有文字
          C-x C-x 交換光標位置和區域標記區開頭
          M-w 復制標記區域

          C-_ or C-x u 撤消操作

          執行SHELL命令

          M-x shell 打開SHELL
          M-! 執行SHELL命令 (shell-command)
          M-1 M-! 執行SHELL命令,命令輸出插入光標位置,不打開新輸出窗口
          M-| 針對某一特定區域執行命令(shell-command-on-region), 比如 C-x h M-|uuencode

          窗口操作

          C-x 0 關閉本窗口
          C-x 1 只留下一個窗口
          C-x 2 垂直均分窗口
          C-x 3 水平均分窗口
          C-x o 切換到別的窗口
          C-x s 保存所有窗口的緩沖
          C-x b 選擇當前窗口的緩沖區
          C-x ^ 縱向擴大窗口
          C-x } 橫向擴大窗口

          緩沖區列表操作

          C-x C-b 打開緩沖區列表
          d or k 標記為刪除
          ~ 標記為未修改狀態
          % 標記為只讀
          s 保存緩沖
          u 取消標記
          x 執行標記的操作

          f 在當前窗口打開該緩沖區
          o 在其他窗口打開該緩沖區

          目錄操作

          C-x d 打開目錄模式
          s 按日期/文件名排序顯示
          v 閱讀光標所在的文件
          q 退出閱讀的文件
          d 標記為刪除
          x 執行標記
          D 馬上刪除當前文件
          C 拷貝當前文件
          R 重名名當前文件
          + 新建文件夾
          Z 壓縮文件
          ! 對光標所在的文件執行SHELL命令
          g 刷新顯示
          i 在當前緩沖區的末尾插入子目錄的內容

          [n]m 標記光標所在的文件,如果指定n,則從光標所在的文件起后n個文件被標記
          [n]u 取消當前光標標記的文件,n的含義同上
          t 反向標記文件
          %-m 正則標記

          q 退出目錄模式

          說明:在目錄模式中,如果輸入!,在命令行中包含*或者?,有特殊的含義。*匹配當前光標所在的文件和所有標記的文件,?分別在每一個標記的文件上執行該命令。

          程序編譯

          M-x compile 執行編譯操作
          M-x gdb GDB排錯
          M-x dbx DBX排錯
          M-x xdb XDB排錯
          M-x sdb SDB排錯

          搜索模式

          C-s key 向前搜索
          C-s 查找下一個
          ENTER 停止搜索
          C-r key 反向搜索
          C-s C-w 以光標所在位置的字為關鍵字搜索
          C-s C-s 重復上次搜索
          C-r C-r 重復上次反向搜索
          C-s ENTER C-w 進入單詞搜索模式
          C-r ENTER C-w 進入反向單詞搜索模式
          M-x replace-string ENTER search-string ENTER 替換
          M-% search-string ENTER replace-string ENTER 交互替換
          C-r 在進入查找/替換模式后,該命令進入迭代編輯模式
          C-M-x 退出迭代編輯模式,返回到查找/替換模式
          C-M-s 向前正則搜索
          C-M-r 向后正則搜索
          C-M-% 正則交互替換

          SHELL模式

          C-c C-c 相當于Bash下的C-c
          C-c C-z 相當于Bash下的C-z
          C-c C-d 相當于Bash下的C-d
          M-p 執行前一條命令
          C-n 執行下一條命令
          C-c C-o 刪除最后一條命令產生的輸出
          C-c C-r 屏幕滾動到最后一條命令輸出的開頭
          C-c C-e 屏幕滾動到最后一套命令輸出的結尾
          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

          收發郵件

          M-x mail 發送郵件, C-c C-s 發送,C-c C-c 發送并退出
          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) 評論(0)  編輯  收藏 所屬分類: Linux

          主站蜘蛛池模板: 泗阳县| 乐陵市| 平谷区| 武汉市| 张家口市| 商丘市| 黑河市| 谢通门县| 左云县| 明光市| 耒阳市| 乐至县| 福海县| 姜堰市| 舞阳县| 新乡县| 成武县| 南陵县| 阿巴嘎旗| 无为县| 原阳县| 响水县| 浮山县| 沙雅县| 永仁县| 肥东县| 铁力市| 石泉县| 安化县| 峨边| 阳江市| 城市| 鹿邑县| 尉犁县| 诸城市| 延安市| 桓仁| 黄山市| 清丰县| 金溪县| 宝丰县|