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

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

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

hh:mm dd.mm.yyyy.

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

答案1

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

    sudo apt-get install xdotool
    
  2. 创建一个小脚本

    #!/bin/bash
    sleep 0.1
    xdotool type $(date +"%H:%M")' '$(date +"%d.%m.%Y.")
    
    • 如果输出看起来不像

      17:31 15.08.2015.
      

      使用

      #!/bin/bash
      sleep 0.1
      xdotool type $(date +"%H")':'$(date +"%M")' '$(date +"%d")'.'$(date +"%m")'.'$(date +"%Y")'.'
      
    • 如果按下快捷键后时间没有完全插入,请在脚本中增加 的参数sleep,例如0.5

  3. 使其可执行

    chmod +x your_script
    
  4. 为脚本分配键盘快捷键,例如Super+F5 或一些其他未使用的快捷方式。

    在此处输入图片描述

答案2

该答案已使用 Nano 6.4 进行了测试。

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

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

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

具体操作如下:

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

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

bind F5 "date +%I:%M\ %d.%m.%Y." main

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

bind F5 "date +%H:%M\ %d.%m.%Y." main

现在,转到并按"dAlt+v;然后按 Ctrl+t。

现在,转到并按."Alt+v,然后按 Enter。

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

您的行看起来应类似于此(但它可能看起来有些不同,并且不要复制/粘贴它,因为它可能不会将特殊字符算作逐字输入):

bind F5 "^Tdate +%I:%M\ %d.%m.%Y.^M^?" main

保存并关闭 Nano。您已完成。它无法在已打开的 Nano 实例中工作(您必须关闭它们并重新启动它们)。

现在,无论何时按下 F5,它都会根据您的需要插入时间戳。

要查看名为 的命令行程序的指令date,请键入man datedate --helpinfo date(按 q 退出手册页或信息页)。指令是 %H 之类的东西。

以下是一个特殊时间戳的示例:

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

相关内容