Answers:
GNOME键盘快捷键应该可以使用。
这就是您尝试的方法不起作用的原因:键盘快捷键运行date
命令,但对输出不执行任何操作(该输出将被丢弃)。您应该将其通过管道传输到xclip
,date | 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)"'
xclip
不是将文本复制到剪贴板,而是复制到X选择。要粘贴它,请使用中键单击而不是Ctrl-V。
bash -c
确实可以解决问题,但是打字有些延迟。当我单击快捷方式时,不会使用xdotool输入完整的时间戳。一些初始数字被吃掉,例如1-07 15:14:35+08:00
或013-01-07 15:14:35+08:00
bash -c 'date | xclip -selection clipboard && xdotool key 'ctrl+v''
完美运行的命令。
xdotool --clearmodifiers
- 使用Ctrl键键入了某些键(例如-空格会被吞下)。某些字符不会被键入(例如:
-已移位),但是我正在使用以下命令:xdotool type --clearmodifiers $(date "+%Y-%m-%d,%H-%I")
它对我有用。
我已经成功地将其用作分配给的自定义键盘快捷键Ctrl+Shift+D
:
bash -c 'sleep 0.3 && xdotool type "$(date -u +%Y-%m-%d_%H:%M:%SZ)"'
我发现增加一点延迟可以解决缺少初始字符的问题,并且不会污染剪贴板。
请注意,我使用的是RFC 3339 / ISO 8601格式的稍微定制化的版本:我经常在要避免date
RFC 3339输出中留有空格的情况下使用此格式,但是我发现该格式T
将日期和时间分隔开ISO 8601时间戳相当不直观且难以阅读,因此我发现下划线很有效。
bash -c 'xdotool keyup super && xdotool type "$(date +%Y.%m.%d)"'
我将其Super+Q
用作快捷方式,并且super
在发送之前需要清除修饰符date
。我尝试过,--clearmodifiers
但这会导致unity dash
快捷方式运行后弹出[1]
[1]原因是如果使用unity dash
,则会在super
还原之前弹出--clearmodifiers
man xdotool
CLEARMODIFIERS
Any command taking the --clearmodifiers flag will attempt to clear any
active input modifiers during the command and restore them afterwards.