[emac] 建立新檔案時自動插入樣板 (使用yasnip …
前言:
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
02/14 10:14, 1F
推
02/18 01:26, , 2F
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)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Editor 近期熱門文章
PTT數位生活區 即時熱門文章