При редактировании текстовых документов мне нужно часто ставить отметки времени. Я думал об автоматизации этого двумя способами. Ни один из них, кажется, не работает.
Я настроил новое контекстное действие, которое запускает команду date|xclip
Этот контекст справа не отображается, когда я щелкаю правой кнопкой мыши в других приложениях (таких как терминал или браузер). Более того, когда он появляется, и я нажимаю на него, он ничего не делает.
Я установил новое сочетание клавиш, которое должно выполнять команду date
, но не выполняет.
Есть какие-нибудь указатели?
Спасибо.
Я успешно использовал это в качестве пользовательского сочетания клавиш, присвоенного 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, довольно неинтуитивных и трудных читать, таким образом, я нахожу, что подчеркивание работает хорошо.
Должны работать сочетания клавиш 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)"'
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.