如何创建插入时间戳的选项?


8

在编辑文本文档时,我需要经常放置时间戳记。我想到了以两种不同的方式来自动化它。这些似乎都不起作用。

  1. 使用鹦鹉螺动作

我设置了一个新的右上下文操作,该命令运行 date|xclip

在此处输入图片说明

当我右键单击其他应用程序(例如终端或浏览器)时,不会显示此右键上下文。而且,当它出现并且我单击它时,它什么也没做。

  1. 使用键盘快捷键

我设置了一个新的键盘快捷键,该快捷键应该执行date命令但不能执行。

在此处输入图片说明

有指针吗?

谢谢。

Answers:


11

GNOME键盘快捷键应该可以使用。

这就是您尝试的方法不起作用的原因:键盘快捷键运行date命令,但对输出不执行任何操作(该输出将被丢弃)。您应该将其通过管道传输到xclipdate | xclip以将其复制到X选项(而不是剪贴板)。然后,您可以通过单击鼠标中键将其粘贴到文档中。如果您希望能够使用Ctrl-V,请改为将date | xclip -selection c其复制到实际剪贴板中。

另一种选择是使用xdotool日期直接输入到文档中。分配给您的快捷方式

xdotool type "$(date)"

然后,当您按下快捷键时,它将计算当前日期并将其键入文档中的字符。

对于ISO 8601格式,使用xdotool type "$(date --rfc-3339=s)"


如果不起作用:由于这些是Shell命令(而不是可执行文件),因此bash在快捷方式中指定命令时可能必须将命令传递给。您的命令将是:

bash -c 'xdotool type "$(date --rfc-3339=s)"'

谢谢。试过了 但这不起作用。我将快捷方式分配给CTRL +; 然后在桌面上单击此特定组合,然后单击CTRL + V(例如gmail),但不会粘贴。我需要重启笔记本电脑吗?
user13107 2013年

@ user13107:事实证明,默认情况下,xclip不是将文本复制到剪贴板,而是复制到X选择。要粘贴它,请使用中键单击而不是Ctrl-V。
机械蜗牛

使用bash -c确实可以解决问题,但是打字有些延迟。当我单击快捷方式时,不会使用xdotool输入完整的时间戳。一些初始数字被吃掉,例如1-07 15:14:35+08:00013-01-07 15:14:35+08:00
user13107 2013年

1
@ user13107我有同样的问题。经过一番尝试和错误后,我最终得到了bash -c 'date | xclip -selection clipboard && xdotool key 'ctrl+v''完美运行的命令。
伊曼纽尔·魏纳希滕

1
@ user13107-这是因为您不使用xdotool --clearmodifiers- 使用Ctrl键键入了某些键(例如-空格会被吞下)。某些字符不会被键入(例如:-已移位),但是我正在使用以下命令:xdotool type --clearmodifiers $(date "+%Y-%m-%d,%H-%I")它对我有用。
Tomasz Gandor

3

我已经成功地将其用作分配给的自定义键盘快捷键Ctrl+Shift+D

bash -c 'sleep 0.3 && xdotool type "$(date -u +%Y-%m-%d_%H:%M:%SZ)"'

我发现增加一点延迟可以解决缺少初始字符的问题,并且不会污染剪贴板。

请注意,我使用的是RFC 3339 / ISO 8601格式的稍微定制化的版本:我经常在要避免dateRFC 3339输出中留有空格的情况下使用此格式,但是我发现该格式T将日期和时间分隔开ISO 8601时间戳相当不直观且难以阅读,因此我发现下划线很有效。


1
bash -c 'xdotool keyup super && xdotool type "$(date +%Y.%m.%d)"'

我将其Super+Q用作快捷方式,并且super在发送之前需要清除修饰符date。我尝试过,--clearmodifiers但这会导致unity dash快捷方式运行后弹出[1]

[1]原因是如果使用unity dash,则会在super还原之前弹出--clearmodifiersman xdotool

CLEARMODIFIERS
       Any command taking the --clearmodifiers flag will attempt to clear any
       active input modifiers during the command and restore them afterwards.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.