在 Notepad++ 中,如何插入当前日期和时间?

In Notepad++, how can I insert the current date and time?

在 Windows Notepad.exe 上,我只需按 F5,它就会像这样插入日期和时间:

11:05 AM 1/14/2015

我可以向 Notepad++ 添加类似的简单功能吗?

借助 TextFx 插件,可以选择插入日期和时间。我想你可以给它分配一个键盘快捷键。

如果您的 Notepad++ 附带 TextFX,您可以在 TextFX > TextFX 插入 > 日期和时间 - 短格式 中找到它,这将以完全相同的格式插入一个字符串。如果您没有看到 TextFX 菜单,请通过插件管理器安装它,它将出现。

然后您可以在设置 > 快捷方式映射器... > 插件命令 中将其绑定到键盘快捷方式。在映射中查找 I:Date & Time - 短格式

Step 1 : Install plugin TextFX
Step 2 : Insert Date & time

试试“Python 脚本”插件

我更喜欢使用 Python Script 插件,如下所述:https://ardamis.com/2014/03/09/adding-an-insert-datestamp-or-timestamp-macro-to-notepad-plus-plus/ 因为它让我可以完全控制日期时间戳格式的外观,它还允许我创建宏脚本来插入我想要计算的其他类型的值。

手动安装“Python 脚本”

请注意,您必须从 http://npppythonscript.sourceforge.net/download.shtml because downloading it from the Plugin Manager in Notepad++ doesn't always work. (See this thread 下载 Python 脚本插件以获取详细信息。)

编写“Time.py”脚本

然后你可以像这样写一个简单的脚本:

import time
# import sys
timeStr = time.strftime( '%Y-%m-%d' + ' @ ' + '%I:%M %p' )
# sys.stdout.write(timeStr)
editor.addText( timeStr )

您可以根据需要更改格式字符串。这使您可以完全控制文本输出。 (有关详细信息,请参阅 Python 2's time.strftime documentation。)

然后将脚本保存到这个文件名:

"%AppData%\Notepad++\plugins\Config\PythonScript\scripts\Time.py"

在“Python脚本”中创建“菜单项”

导航到这里:Menu bar -> Plugins -> Python Script -> Configuration 像这样:

然后你可以这样添加脚本:

分配热键

然后,当您重新启动 Notepad++ 时,您可以通过转到 Menu bar -> Settings -> Shortcut Mapper -> Plugin Commands -> Time:

将脚本分配给这样的快捷方式

进一步阅读

有关 Python Script 插件的更多文档可在此处获得:PythonScript plugin documentation for Notepad++

我想到的最快的方法是打开Windows记事本,按F5,copy/paste。无需安装任何东西...

使用 "Autohotkey" 的更通用的答案:

https://autohotkey.com/board/topic/21387-how-to-insert-current-date-into-a-hotkey/

示例:

;//will replace ddd keystroke with yyyy-MM-dd formatted date
:R*?:ddd:
FormatTime, CurrentDateTime,, yyyy-MM-dd
SendInput %CurrentDateTime%
return

;//will replace ttt keystroke with yyyy-MM-dd HH:mm formatted date/time
:R*?:ttt::
FormatTime, CurrentDateTime,, yyyy-MM-dd HH:mm
SendInput %CurrentDateTime%
return

看来 TextFX 插件 不再适用于 64 位。

The alternative as of today是安装Notepad++ Plugin Demo插件,提供Date Time - short formatDate Time - long format。根据需要映射到快捷方式。在我的德语语言环境中,结果分别是:

12:10 01.07.2020
12:10 Mittwoch, 1. Juli 2020

这是一种简单灵活的方法,可以以您喜欢的任何格式插入 date/time 邮票。

像许多其他开发人员一样,我使用了 FingerText 插件,它允许您通过键入“触发”词并按 tab 键来插入可自定义的代码或文本片段。

我的一个片段是插入我在代码注释中使用的 date/time 标记:

我只输入 stamptab 它会插入这样一个日期:2020-07-31 @ 11:45

这是我用来生成图章的 FingerText 代码,您可以根据您选择的任何日期时间格式对其进行修改:

$[![(key)DATE:yyyy-MM-dd]!] @ $[![(key)TIME:HH:mm]!] $[0[]0][>END<]

您可以通过插件管理对话框下载 FingerText。

通过LuaScript的简单方法(https://github.com/notepad-plus-plus/notepad-plus-plus/issues/497 and https://www.lua.org/pil/22.1.html):先安装LuaScript插件,然后在LuaScript Edit Startup Script中输入以下内容:

npp.AddShortcut("Insert Current Date/Time", "Ctrl+Shift+D", function()
    editor:ReplaceSel(os.date("%I:%M %p %m/%d/%Y"))
end)

重启npp后,Ctrl-Shift-D会像记事本中的F5一样。

此功能已在 Notepad++ v8.1.4 中添加。

菜单 > 编辑 > 插入 >

  • 日期时间(短)
  • 日期时间(长)

不需要插件就可以回答这个问题。

你能想办法把它映射到快捷方式吗?目前,快捷方式映射器没有将其映射到的条目。当我尝试为其录制和播放宏时,屏幕上出现乱码(看起来像一个错误)。

从 Notepad++ 8.1.5 开始,您可以使用 Edit/Insert/Date Time (customized) 插入自定义 date/time 格式。您可以在 Settings/Preferences/Multi-Instance & Date.

中自定义它

在最近的一次 N++ 更新中,我以前的快捷方式 CTRL + SHIFT + D 停止工作了。然后我重新检查并不得不将 自定义日期 快捷方式重新映射到 ALT+ SHIFT + D。这是它的样子:

确保您自定义的日期符合您的预期: