關於Haskell Programming的一些Emacs設定

來源:互聯網
上載者:User

 

 

 

因為Haskell畢竟只在小範圍內流傳,所以並沒有很好的IDE支援,不過,值得欣慰的是,只要對Emacs做少量設定,即可使Emacs成為一個強大的Haskell IDE,呵,因為Emacs本身就是一個可自訂的lisp編譯器,所以其可擴充性是無可比擬的。

Emacs Haskell Mode外掛程式和Emacs Folding Mode外掛程式可以在EmacsWiki找到

 

 

首先必須要做的是修改folding.el,在其中添加haskell原始碼中的folding標誌

--在folding.el檔案的marks-list中添加下列行<br />(folding-add-to-marks-list 'haskell-mode "-- {{{" "-- }}}" nil t)

 

接著設定~/.emacs檔案,進行Emacs的配置:

;;{{{ Haskell Programming Style<br />;;Interaction with inferior Haskell interpreter: just hit C-c C-z or C-c C-l<br />;; 開啟文檔模式<br />(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)<br />;; 開啟半自動對齊功能(tab可以得到一些對齊暗示)<br />(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)<br />;; 開啟文法高亮<br />(add-hook 'haskell-mode-hook 'font-lock-mode)<br />;; 添加功能表項目<br />(add-hook 'haskell-mode-hook 'imenu-add-menubar-index)<br />;; 開啟folding模式,一定要按照之前步驟添加haskell 模式下的folding mark<br />(add-hook 'haskell-mode-hook 'folding-mode)<br />;; 開啟outline-minor-mode的函數摺疊功能<br />;; Emacs內建的outline mode,沒有提供haskell支援<br />(add-hook 'haskell-mode-hook 'outline-minor-mode)<br />;; 所以這裡自訂了一個摺疊頭標記,<br />;; haskell支援函數嵌套定義,所以這裡我只能給出一個簡單方案<br />;; 對最外層函數的簽名式設定摺疊標記<br />(defun my-haskell-mode-hook()<br /> (make-local-variable 'outline-regexp)<br /> (setq outline-regexp "^//w+[^/n/r]*::[^/n/r]*"))<br />(add-hook 'haskell-mode-hook 'my-haskell-mode-hook)<br />;;}}} Haskell Style End<br />

 

 

以下是一些參考資源:

一、Emacs的基本配置,我個人非常推薦:Sams teach you Emacs in 24 hours這本書,該書的html版本可以從王垠的個人網站下到。該書,還有王垠的網站,對我個人學習Emacs起到了相當大的作用。網站地址http://docs.huihoo.com/homepage/shredderyin/index.html 。

二、推薦幾個免費新聞群組伺服器,可以使用nntp方式使用Emacs的gnus外掛程式進行飛速篩選、瀏覽和討論,這海選速度不是一般網頁瀏覽能相比擬的

    Gnus的使用、設定請參考上面那本書和EmacsWiki

 

高通量地閱讀、回複、參與討論

 

 

三、推薦Firefox的KeySnail外掛程式,可以使firefox的鍵位,類比emacs。寫網頁的時候很方便

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.