emacs上的自动标头模板

  发布于 2022-12-18 19:52

所以我跳回去尝试学习编程。

我正在使用通过SSH的MBP来访问大学的linux计算机,并使用python和emacs进行编程。

每个文件都必须具有标题:

# File: file.py
# Author: My Name
# Date: 30 September 2014
# Section: 1
# Email: me@school.edu
# Description: sample header 

我的问题是:

有没有办法使该模板成为永久模板,以便每当我创建一个新文件时,这些注释就已经存在了?除文件日期和说明以外的所有内容都是静态的。如果有办法,是否还有办法自动填写更改file.py = whatINamedTheProgram.py和date = todaysDate的内容?

1 个回答
  • header2.el是必经之路,但是,这里是学习一些emacs lisp并了解如何编写emacs脚本的机会。由于您正在学习编程,因此现在可能不是一个好主意,但也许您会发现它更清晰(比不友好的header2和yasnippet文档)。

    该代码的优点是您可以按需调用它,我们可以做我们想做的事情。

    (defun my-insert-header ()
      "Asks for file name, date, description, ... and insert at point."
      (interactive)
      (setq cur-file (read-from-minibuffer "file name ? " 
                       (file-name-nondirectory (buffer-file-name))))
      (setq cur-date (org-read-date))
      (setq cur-author "Me")
      (setq cur-description (read-from-minibuffer "description ? "))
      (insert (format "# File: %s \n" cur-file))
      (insert (format "# date : %s \n" cur-date))
      (insert (format "# Description : %s \n" cur-description))
    )
    

    将其放在您的点文件(.emacs.d / init.el或〜/ .emacs)中。

    您可以通过将其放在暂存缓冲区中,紧跟在最后一个括号之后并按Cx Ce(eval-last-sexp)来进行尝试。(请参阅本教程:http : //wikemacs.org/wiki/Emacs_Lisp_in_15_minutes)

    现在说明:

    defun:定义一个函数,例如python中的def。

    (交互式):使用Alt-x调用该函数。参见http://ergoemacs.org/emacs/elisp_basics.html

    setq:定义变量的方式

    从minibuffer读取:按其说的做:)第二个参数是要编辑的可选默认文本

    org-read-date:组织模式下的一个不错的实用程序函数。您可以使用Shift-向左/向右更改日期。它返回一个字符串。

    缓冲文件名:返回“ /home/you/dir/try.py”

    文件名非目录:返回“ try.py”

    插入:在当前缓冲区中插入文本

    格式“ foo%s \ n”:字符串格式,如python中

    就是这样。我让您根据需要完成功能!

    2022-12-18 19:54 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有