看板 Linux 關於我們 聯絡資訊
※ 引述《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 <coldnew.tw@gmail.com> #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 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.36.21
superGA:那要把所有函式都打一遍 沒人真的這樣幹 12/04 08:18
coldnew:所以後來我覺得沒意義,就沒這樣做了..... 12/04 10:14
coldnew:但換個方面想,ㄧ般IDE裡面會有這樣個功能就是因為 12/04 10:16
coldnew:有人去"寫"...所以網路上也有人分享他們自己的snippet的 12/04 10:17
coldnew:http://tinyurl.com/yjaawz8 這是我個人的emacs設定檔 12/04 10:20
coldnew:裡面有一點點標準函式庫的snippet,說不定網路上有別人有 12/04 10:20
coldnew:同樣分享類似的東西,整合出來後,又是個新的開源專案了:P 12/04 10:22
coldnew:話說sed和awk也是無敵的....用他們寫個腳本應該可以快速 12/04 10:23
coldnew:且自動的達到我們的目的 12/04 10:23
dryman:google autocomplete STL emacs 應該有別人寫好的東西吧? 12/04 12:31
letoh:建議用 semantic 12/05 15:05
coldnew:semantic好慢....不喜歡....╮(′~‵〞)╭ 12/05 17:01
letoh:你用哪個功能覺得慢呢? 12/05 19:08
KCda260:其實freenode[IRC]上 emacs比vim熱一些.. 12/10 01:24