作者coldnew (夜影)
看板Linux
標題Re: [問題] 有關emacs
時間Thu Dec 3 23:57:30 2009
※ 引述《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:裡面有一點點標準函式庫的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