使用 emacs 如何实现这个功能。

Vim、Emacs配置和使用
回复
iheaing
帖子: 17
注册时间: 2011-01-24 13:02

使用 emacs 如何实现这个功能。

#1

帖子 iheaing » 2011-01-24 13:07

每次写PHP/html文件,基本上都有一些相同的东西,这些内容如何方便快捷的输入?如下面的这些内容:

代码: 全选

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta name="generator" content="emacs">
<meta name="author" content="">
<meta name="date" content="">
<meta name="copyright" content="">
<meta name="keywords" content="">
<meta name="description" content="">
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="expires" content="0">
<meta http-equiv="refresh" content="5; URL=http://">
</head>
<body>

</body>
</html>
anewbie
帖子: 159
注册时间: 2009-02-24 19:39

Re: 使用 emacs 如何实现这个功能。

#2

帖子 anewbie » 2011-01-24 19:53

iheaing 写了:每次写PHP/html文件,基本上都有一些相同的东西,这些内容如何方便快捷的输入?如下面的这些内容:

代码: 全选

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta name="generator" content="emacs">
<meta name="author" content="">
<meta name="date" content="">
<meta name="copyright" content="">
<meta name="keywords" content="">
<meta name="description" content="">
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="expires" content="0">
<meta http-equiv="refresh" content="5; URL=http://">
</head>
<body>

</body>
</html>
Please google template.el.
yupeng820921
帖子: 94
注册时间: 2009-02-25 19:44

Re: 使用 emacs 如何实现这个功能。

#3

帖子 yupeng820921 » 2011-01-27 0:17

skeleton或者yasnippet
iheaing
帖子: 17
注册时间: 2011-01-24 13:02

Re: 使用 emacs 如何实现这个功能。

#4

帖子 iheaing » 2011-01-27 8:04

研究了一个下午的template,目标已经达成。

做法:
(1)到 http://sourceforge.net/projects/emacs-template/files/ 下载 template
(2)解压缩,两个目录 templates、lisp 目录拷贝到 ~/.emacs.d 下。
(3)修改 ~/.emacs 文件,添加以下内容

代码: 全选

;;----------template----------
(setq load-path (cons (expand-file-name "~/.emacs.d/lisp")
                      load-path))
(require 'template)
(template-initialize)
(setq template-default-directories (cons "~/.emacs.d/templates/" template-default-directories))
(4)在 ~/.emacs.d/templates 目录下存放文件模板。如我的PHP文件模板取名为 TEMPLATE.php.tpl。
(5)使用方法为打开 emacs 后,C-x C-f 它会提示是否使用TEMPLATE.php.tpl (y or n),使用哪个模板,取决于文件后缀名。
(6)如果上一步选择了 n ,还可以通过 M-x template-expand-template 还加入模板内容。
回复