如何在nano编辑器中插入时间戳?

Igo*_* V. 5 nano

我需要一个用热键插入的时间戳,就像旧记事本中的 F5 一样。格式应为:

hh:mm dd.mm.yyyy.
Run Code Online (Sandbox Code Playgroud)

ps 塞尔维亚语中年末的点在语法上是正确的,所以这不是一个错误。

A.B*_*.B. 2

  1. 通过安装包xdotool,我们需要命令xdotool

    sudo apt-get install xdotool
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建一个小脚本

    #!/bin/bash
    sleep 0.1
    xdotool type $(date +"%H:%M")' '$(date +"%d.%m.%Y.")
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使其可执行

    chmod +x your_script
    
    Run Code Online (Sandbox Code Playgroud)
  4. 为脚本指定键盘快捷键,例如Super+F5 或其他未使用的快捷键。

    在此输入图像描述


Brō*_*rāx 0

这个答案是用 Nano 6.4 测试的。

\n

据我所知,Nano 没有附带插入当前时间和日期时间戳的键盘快捷键。但是,Nano 确实提供了允许您配置一些内容的功能,以便您可以执行以下操作:

\n
    \n
  1. 您可以执行外部程序,并将输出打印到 Nano 中。
  2. \n
  3. 您可以使用类似宏的操作来创建自定义键盘快捷键,包括可以执行外部命令的键盘快捷键。然而,您实际上并不需要使用 Nano 的标准宏功能。
  4. \n
\n

因此,您可以使用第三方命令行时间戳程序,并创建一个使用它的键盘快捷键。

\n

以下是如何执行此操作:

\n

使用 Nano(不是其他文本编辑器,因为您需要使用 Nano 的逐字输入功能)打开 Nanorc 文件;您可以nano ~/.nanorc打开 Nanorc 文件。

\n

在其自己的行中输入以下内容(这利用了 Pilot06 在评论中提到的想法):

\n
bind F5 "date +%I:%M\\ %d.%m.%Y." main\n
Run Code Online (Sandbox Code Playgroud)\n

或者,如果您想要 24 小时时间,请执行以下操作:

\n
bind F5 "date +%H:%M\\ %d.%m.%Y." main\n
Run Code Online (Sandbox Code Playgroud)\n

现在,在 之间移动"d并按 Alt+v;然后按 Ctrl+t。

\n

现在,在 之间切换."并按 Alt+v,然后按 Enter。

\n

然后按 Alt+v 并按一次退格键。

\n

您的行应该看起来像这样(但它可能看起来有点不同,并且不要复制/粘贴它,因为它可能不会将特殊字符计为逐字输入):

\n
bind F5 "^Tdate +%I:%M\\ %d.%m.%Y.^M^?" main\n
Run Code Online (Sandbox Code Playgroud)\n

保存并关闭 Nano。你完成了。它在已经打开的 Nano 实例中不起作用(您必须关闭它们并重新启动它们)。

\n

现在,每当您按 F5 时,它都会根据您的需要插入时间戳。

\n

要查看名为 的命令行程序的指令date,请键入man datedate --helpinfo date(按 q 退出联机帮助页或信息页)。指令是像 %H 这样的东西。

\n

这是一个奇特的时间戳的例子:

\n

date +%-d\\ %B\\ %-Y\\ \\(%A\\)\xe2\x80\x94%-I:%M:%S\\ %p

\n