Python emacs上自动标题的模板

Python emacs上自动标题的模板,python,emacs,Python,Emacs,所以我又开始尝试学习编程了 我正在使用我的MBP使用SSH访问大学的linux机器,并使用python和emacs编程 每个文件都需要有一个标题: # File: file.py # Author: My Name # Date: 30 September 2014 # Section: 1 # Email: me@school.edu # Description: sample header 我的问题是: 有没有一种方法可以使它成为一个永久的模板,这样每当我创建一个新文件时,这些注释就已经

所以我又开始尝试学习编程了

我正在使用我的MBP使用SSH访问大学的linux机器,并使用python和emacs编程

每个文件都需要有一个标题:

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

有没有一种方法可以使它成为一个永久的模板,这样每当我创建一个新文件时,这些注释就已经存在了?除文件日期和描述外,所有内容都是静态的。如果有办法的话,是否也有办法自动填写那些改变file.py=whateverINamedTheProgram.py和date=todaysDate的内容

是的,你们可以使用图书馆来做你们想做的事。您可以将它与不同的编程语言一起使用。如果需要,可以在保存文件时自动更新文件头中的特定字段

你的问题几乎与在同一时间提出的问题相同。(巧合?)有关
header2.el
的更多信息,请参见该问题。或者查看Emacs Wiki页面,了解更多说明和示例。

是的,您可以使用该库来完成您的任务。您可以将它与不同的编程语言一起使用。如果需要,可以在保存文件时自动更新文件头中的特定字段


你的问题几乎与在同一时间提出的问题相同。(巧合?)有关
header2.el
的更多信息,请参见该问题。或者查看Emacs Wiki页面,了解更多说明和示例。

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)

你可以把它放在暂存缓冲区中,紧跟在最后一个括号之后,点击C-XC-e(evalLastSexp)来尝试。(请参见本教程:)

现在请说明:

  • defun:定义一个函数,如python中的def
  • (交互式):使用Alt-x调用函数。看
  • setq:定义变量的方法
  • 从minibuffer读取:按其说明执行:)第二个参数是要编辑的可选默认文本
  • 组织读取日期:一个来自组织模式的实用函数。您可以通过左/右移位来更改日期。它返回一个字符串
  • 缓冲区文件名:返回“/home/you/dir/try.py”
  • 文件名非目录:返回“try.py”
  • 插入:在当前缓冲区中插入文本
  • 格式化“foo%s\n”:字符串格式,如python中的格式

就这样。我让你完成你想要的功能

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)

你可以把它放在暂存缓冲区中,紧跟在最后一个括号之后,点击C-XC-e(evalLastSexp)来尝试。(请参见本教程:)

现在请说明:

  • defun:定义一个函数,如python中的def
  • (交互式):使用Alt-x调用函数。看
  • setq:定义变量的方法
  • 从minibuffer读取:按其说明执行:)第二个参数是要编辑的可选默认文本
  • 组织读取日期:一个来自组织模式的实用函数。您可以通过左/右移位来更改日期。它返回一个字符串
  • 缓冲区文件名:返回“/home/you/dir/try.py”
  • 文件名非目录:返回“try.py”
  • 插入:在当前缓冲区中插入文本
  • 格式化“foo%s\n”:字符串格式,如python中的格式

就这样。我让你完成你想要的功能

您可能希望查看yasnippet库,它可以与
M-x列表包一起安装
——您的标题可以通过使用yasnippet的键盘快捷键添加。您可能还希望有一个表单文件目录(包含所有表单),并且可以使用函数
插入文件内容
将包含表单的文件(例如标题等)插入到当前/工作文件中。您可能希望查看yasnippet库,它可以与
M-x列表包一起安装
——可以使用yasnippet通过键盘快捷键添加标题。您可能还希望有一个表单文件目录(包含所有表单),并且可以使用函数
insert file contents
将包含表单的文件(例如,标题等)插入到当前/工作文件中。我刚刚找到了这个答案,并在Emacs 26.1上进行了尝试。这很好,但我需要做一个更正,请在下面找到:`(插入(格式“#日期:%s\n”cur-Date))`刚刚遇到这个答案,我已经在Emacs 26.1上尝试过了。这很好,但我需要做一个更正,请在下面找到:`(插入(格式“#日期:%s\n”cur Date))`