[emac] 建立新檔案時自動插入樣板 (使用yasnip …

看板Editor (編輯器(vim/emacs))作者 (夜影)時間13年前 (2011/02/13 20:40), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串1/2 (看更多)
前言: emacs 有很多自動插入template的方法,比如 file-template.el 或是header2.el 這篇文章是敘述如何使用yasnippet在建立新檔案時自動插入樣板 Step1: 首先必須裝好yasnippet http://code.google.com/p/yasnippet/ Step2: 在自己的emacs config 添加以下的code (require 'yasnippet) (yas/initialize) (yas/load-directory "~/.emacs.d/plugins/yasnippet-x.y.z/snippets") 注意:上面的load-directory依個人的snippets資料夾位置修改 Step3: 在自己的 emacs config 添加以下code ;; Auto add HEADER in new file (add-hook 'find-file-hook '(lambda () (when (and (buffer-file-name) (not (file-exists-p (buffer-file-name))) (= (point-max) 1)) (let ((header-snippet "HEADER") (yas/fallback-behavior 'return-nil)) (insert header-snippet) ;; if can't expand snippet, delete insert string (if (not (yas/expand)) (delete-region (point-min) (point-max))))))) 這段code會在使用者建立新的檔案時,嘗試插入擁有 HEADER 這個縮寫的 snippet 如果找不到,則刪除插入的字串 Step4: 建立屬於自己的 HEADER 樣板 寫樣板的教學請見: http://yasnippet.googlecode.com/svn/trunk/doc/snippet-development.html 依照yasnippet的教學,建立名為HEADER.yas的檔案,內容為 # -*- mode: snippet -*- # name : Header file # key: HEADER # -- 這邊放上想插入的樣板 這樣就可以了 完整範例請見我的 emacs config https://github.com/coldnew/coldnew-emacs/ 我的snippet 位於 etc/ 資料夾內 yasnippet 設定在 rc.d/025-yasnippet.el -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.41.45

02/14 10:14, , 1F
emacs一定要推一下的!
02/14 10:14, 1F

02/18 01:26, , 2F
I am searching for this, push!!!
02/18 01:26, 2F

06/21 11:58, , 3F
喔這個真有用,推一個
06/21 11:58, 3F
※ 編輯: coldnew 來自: 120.126.41.45 (04/18 18:48) ※ 編輯: coldnew 來自: 120.126.41.45 (04/25 17:58)
文章代碼(AID): #1DLz5PIV (Editor)
文章代碼(AID): #1DLz5PIV (Editor)