作者coldnew (夜影)
看板Editor
標題[emac] 建立新檔案時自動插入樣板 (使用yasnippet)
時間Sun Feb 13 20:40:55 2011
前言:
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
推 ethan5422:emacs一定要推一下的! 02/14 10:14
推 nonnn:I am searching for this, push!!! 02/18 01:26
推 mgdesigner:喔這個真有用,推一個 06/21 11:58
※ 編輯: coldnew 來自: 120.126.41.45 (04/18 18:48)
※ 編輯: coldnew 來自: 120.126.41.45 (04/25 17:58)