斯坦佛編程教程-Unix編程工具(四)

來源:互聯網
上載者:User

emacs

    下面將會簡單的介紹一個叫做emacs的文字編輯器,它是由GNU組織提供的自由軟體。它是一個非常優秀的編譯器,並且,它能很好地和其他UNIX工具整合在一起。很多編輯器都有著非常多的理由來說明他們多優秀,但是這裡我們就不討論這個問題了。

    如果想開始用emacs編輯一個新檔案或是已存在的檔案,只要在UNIX的提示下輸入以下的命令...

emacs filename

filemname 就是將要編輯的那個檔案。X-Windows的emacs版本叫做xemacs,如果你要使用它的話...好的,來看一下菜單,命令基本是一樣的,但是你並不需要去記住那些有趣的按鍵組合。

    所有的迷人的編輯命令,比如尋找-替換,都只需要輸入一些命令就可以實現了。有兩個重要的鍵你必須得記住:^x(按住ctrl鍵再按x),[esc]-x(按住esc再按x),它們都是用來開始鍵入一些重要的命令。由於一些曆史原因,在大部分的emasc的手冊中,esc鍵實際上指“Meta”或是“M-”鍵。因此,你可以發現[esc]-x等價於M-x。

    儲存當前編輯的檔案,命令是^x^s.退出的命令是^x^c(會提示儲存儲存).開啟另一個檔案的命令是^x^f.這個命令可以用來開啟檔案或者是建立檔案。如果你同時開啟了很多個檔案,那麼emacs會將他們存放在不同的緩衝中。為了從一個檔案跳換到另一個檔案(這在一邊編寫.h檔案和一邊編寫.c檔案時會非常有用。),命令是^x-b(注意沒有ctrl),然後你就可以通過輸入檔案名稱跳轉到對應的檔案(有一個預設的檔案名稱用於快速切換)。方向鍵通常類似於滑鼠的功能。下面有一些組合命令。


運行emacs 

emacs <filename>     運行emacs。確定你沒有在後台運行emacs,如果是那樣的話,用fg命令就可以喚醒它了。在命令的最後加上"&",這樣emacs就不會佔用shell 了。

^z    將emacs掛起—用%或者是fg命令來喚醒。

^x^c    退出。

^x^f    裝載新的檔案。

^x^v     裝載新的檔案,並卸載之前的檔案。

^x^s     儲存檔案。

^x-k    結束一個緩衝區。


移動游標

^f    向前移動一個位置。

^b    向後移動一個位置。

^n    移動到下一行。

^p    移動到前一行。


^a    移動到啟示行。

^e    移動到行末。

^v    向下翻頁。

M-v   向上翻頁。


M-<    移動到檔案的開始。

^x-[    移動到頁首。

M->    移動到檔案的結束。

^x-]    移動到頁尾。


^1    重新編輯游標所在的當前行。

^x-o    切換到另一個螢幕。

^x-b    轉換到另一個緩衝。


尋找

^s    尋找一個字串

^r    向後尋找一個字串

M-%    尋找替換


刪除 

^d    刪除游標所在字元。

^k    剪下從游標處的到行末的所有字元。

^y    粘貼所有剪下的字元。利用^k,^y組合可以實現簡單的剪下-複製。


地區

emacs將標記和點之間的空間定義為地區。用^-space(ctrl鍵加空格鍵)一個標記,點就是游標的位置。

M-w    複製地區。

^w    剪下地區。當然你也可以用^y來粘貼剪下的地區—這就是地區的剪下/複製/粘貼的方法。


分割螢幕

^x-2    水平分割螢幕。

^x-3    豎直分割螢幕。

^x-1    關閉除當前螢幕外的所有螢幕。

 ^x-0    將另一個螢幕作為唯一的螢幕。

其他的命令

M-$    檢查當前單詞的拼字.

^g    在大部分的時候是取消,停止或是回到普通的狀態。

M-x goto-line num    移動到對應的行

 ^x-u    撤銷

M-x shell    在emacs中開啟一個shell。

M-q     折行

編譯

M-x compile    在視窗中編譯代碼,如果你設定好了makefile,一切將會更加簡單。

^c^c    在編譯視窗使用這個命令,它將移動到下一個編譯錯誤。太棒了!

擷取協助

^h    emacs的協助。

^h t    運行emacs的教程。

emacs為你提供了命令補全功能,輸入M-x space 將會列出所有的emacs的命令。emacs也有man協助,在shell裡運行man emacs就可以了。


列印你的原始碼

這裡有一個簡單的列印源碼的方法,用“enscript”命令。同常,它的代碼格式如下:

enscript -2GrPsweet5    binky.c lassie.c *.h

這個例子用於列印binky.c和lassie.c還有它們的標頭檔,使用的印表機是sweet5.你可以改變這些參數在適應你的需求。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.