Как создать опцию для вставки метки времени?

При редактировании текстовых документов мне нужно часто ставить отметки времени. Я думал об автоматизации этого двумя способами. Ни один из них, кажется, не работает.

  1. Используя действия nautilus

Я настроил новое контекстное действие, которое запускает команду date|xclip

enter image description here

Этот контекст справа не отображается, когда я щелкаю правой кнопкой мыши в других приложениях (таких как терминал или браузер). Более того, когда он появляется, и я нажимаю на него, он ничего не делает.

  1. Использование сочетания клавиш

Я установил новое сочетание клавиш, которое должно выполнять команду date, но не выполняет.

enter image description here

Есть какие-нибудь указатели?

Спасибо.

8
задан 7 January 2013 в 10:54

3 ответа

Я успешно использовал это в качестве пользовательского сочетания клавиш, присвоенного 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, довольно неинтуитивных и трудных читать, таким образом, я нахожу, что подчеркивание работает хорошо.

3
ответ дан 7 January 2013 в 10:54

Должны работать сочетания клавиш GNOME.

Вот почему то, что вы пробовали, не сработало: комбинация клавиш запускает команду date, но ничего не делает с выводом (который просто отбрасывается). Вы должны передать его по xclip, как date | xclip, чтобы скопировать его в выделение X (, а не буфер обмена). Затем вы можете вставить его в свой документ, щелкнув средней кнопкой мыши. Если вы хотите использовать Ctrl-V, вместо этого используйте date | xclip -selection c, чтобы скопировать его в фактический буфер обмена.

Другой альтернативой является использование xdotool для ввода даты непосредственно в ваш документ. Назначьте ярлык

xdotool type "$(date)"

Затем, когда вы нажмете клавишу быстрого доступа, он вычислит текущую дату и введет символы в ваш документ.

Для формата ISO 8601 используйте xdotool type "$(date --rfc-3339=s)".


Если это не работает: поскольку это команды оболочки (в отличие от исполняемых файлов), вам, возможно, придется передать команду bash при указании их в ярлыке. Ваша команда будет тогда:

bash -c 'xdotool type "$(date --rfc-3339=s)"'
0
ответ дан 7 January 2013 в 10:54
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.
0
ответ дан 7 January 2013 в 10:54

Другие вопросы по тегам:

Похожие вопросы: