本文
主要介绍用emacs auto-insert命令实现用模板文件创建新文件。
版本 |
说明 |
0.1 |
初版发布 |
0.2 |
添加两个函数 |
背景
- 主机: Thinkpad S2
- 系统: Deepin GNU/Linux 15.11
- 内核: Debian 6.3.0-18+deb9u1
- emacs版本:Linux GNU Emacs 26.3
参考
创建模板文件
在.emacs.d目录下新建文件夹 templates,并创建verilog模板文件 templates.v,内容如下(文件名、路径、内容均可根据个人喜好进行定义,这里只是举例说明):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
//-------------------------------------------------------------------------
// Title :
// Project :
//-------------------------------------------------------------------------
// File name :
// Author :
// Created :
// Last modified :
//-------------------------------------------------------------------------
// Description :
//
// This block does the following operations:
// -
// -
//-------------------------------------------------------------------------
// This file is a confidential and proprietary property of XXX and the
// possession or use of this requires a written license from XXX.
//
// Copyright (c) 2020 XXX Technology Co., Ltd. ALL rights reserved.
//-------------------------------------------------------------------------
module xx(/*AUTOARG*/);
/*AUTOWIRE*/
/*AUTOREG*/
endmodule
|
修改配置文件
我们创建了模板文件,还需要在配置文件中进行配置,打开.emacs或.emacs.d/init.el,添加以下内容(除了verilog文件模板,我还添加了shell等其他模板,不再一一说明):
1
2
3
4
5
6
7
8
9
10
11
12
13
|
;;about template file
;;----------------------------------------------------
(auto-insert-mode) ;; Adds hook to find-files-hook
(setq auto-insert-directory "~/.emacs.d/templates/")
(setq auto-insert-query nil) ;; If you don't want to be prompted before insertion
(setq auto-insert-alist
(append '((verilog-mode . "template.v")
(python-mode . "template.py")
(c-mode . "template.c")
(shell-mode . "template.sh")
)
auto-insert-alist))
;;----------------------------------------------------
|
添加两个函数
插入当前时间
将下面代码添加到.emacs或.emacs.d/init.el文件,需要插入当前时间时, M-x now 即可。
1
2
3
4
5
|
(defvar current-date-time-format "%Y/%m/%d %H:%S")
(defun now ()
(interactive)
(insert (format-time-string current-date-time-format (current-time)))
)
|
插入当前文件名
将下面代码添加到.emacs或.emacs.d/init.el文件,需要插入当前文件名时, M-x name 即可。
1
2
3
4
|
(defun name ()
(interactive)
(insert (file-name-nondirectory buffer-file-name))
)
|
文章原创,可能存在部分错误,欢迎指正,联系邮箱 cao_arvin@163.com。