有關emacs - Linux

Table of Contents

※ 引述《kiani ()》之銘言:
: 我想請問在emacs下編寫c/c++程式
: 是否有像在visual studio下的提示功能
: 例如:
: 我只要打出 memcpy(
: 下面就會顯示出 memcpy的function prototype:
: void * memcpy ( void * destination, const void * source, size_t num );
: 然後我就可以知道 第幾個參數傳什麼東西
: 請問emacs是否有類似的功能??
: 感謝
: 推 superGA:yasnippet只有補字 沒有提示喔 12/03 19:22

emacs 是無敵的:P

我來說說作法,首先,請記得按照yasnippet網頁上說方法的安裝他

假如你一切都是依照預設方法安裝,

接下來請用emacs編輯

~/.emacs.d/elisp/snippets/text-mode/cc-mode/c-mode/memcpy

注意,上面紅色的是我放 snippet資料夾的地方

綠色的是以後要用此函式的 mode型式(範例為c-mode)

紫色的就是我要顯示function prototype 的函式名稱

裏面內容加上:

#contributor : coldnew <[email protected]>
#name : memcpy(void *destination, const void *source, size_t num);
# --
$>memcpy(${1:void *destination}, ${2:const void *source}, ${3:size_t num});

請在檔案內加入黃色的部份


如此依來,以後在c-mode裏面打上 memcpy後,按一下tab

就會出現以上的東西

範例簡單說明:

$> <--- 這個是自動縮排,縮排大小由該模式的設定所決定

${1:...} <--- 1 是第1的個、2是第二個,依此類推

第一個和第2個的差別是.....以後第一個輸入完蓋過後,按tab會跳到第二個
(實作時就知道了....我不太會解釋Orz...)


雖然無法弄到像原po所說的輸入完函式就會再底下顯示,但我覺得這個比較簡潔:P


--

All Comments

Selena avatarSelena2009-12-06
那要把所有函式都打一遍 沒人真的這樣幹
Isla avatarIsla2009-12-09
所以後來我覺得沒意義,就沒這樣做了.....
Kumar avatarKumar2009-12-10
但換個方面想,ㄧ般IDE裡面會有這樣個功能就是因為
Jake avatarJake2009-12-13
有人去"寫"...所以網路上也有人分享他們自己的snippet的
Todd Johnson avatarTodd Johnson2009-12-16
http://tinyurl.com/yjaawz8 這是我個人的emacs設定檔
裡面有一點點標準函式庫的snippet,說不定網路上有別人有
Aaliyah avatarAaliyah2009-12-20
同樣分享類似的東西,整合出來後,又是個新的開源專案了:P
Ivy avatarIvy2009-12-22
話說sed和awk也是無敵的....用他們寫個腳本應該可以快速
且自動的達到我們的目的
Ivy avatarIvy2009-12-24
google autocomplete STL emacs 應該有別人寫好的東西吧?
Dinah avatarDinah2009-12-29
建議用 semantic
Barb Cronin avatarBarb Cronin2010-01-01
semantic好慢....不喜歡....╮(′~‵〞)╭
Edwina avatarEdwina2010-01-06
你用哪個功能覺得慢呢?
Hamiltion avatarHamiltion2010-01-08
其實freenode[IRC]上 emacs比vim熱一些..