タイムスタンプを挿入するオプションを作成するにはどうすればよいですか?


8

テキストドキュメントの編集中は、頻繁にタイムスタンプを付ける必要があります。2つの方法で自動化することを考えました。これらはどれも機能していないようです。

  1. nautilus-actionsの使用

コマンドを実行する新しい右コンテキストアクションを設定しました date|xclip

ここに画像の説明を入力してください

他のアプリケーション(ターミナルやブラウザなど)で右クリックしても、この右コンテキストが表示されません。さらに、それが表示されてクリックしても、何も実行されません。

  1. キーボードショートカットの使用

dateコマンドを実行するはずなのに、実行しない新しいキーボードショートカットを設定しました。

ここに画像の説明を入力してください

ポインタはありますか?

ありがとう。

回答:


11

GNOMEキーボードショートカットが機能するはずです。

試行した結果が機能しない理由は次のとおりです。キーボードショートカットはdateコマンドを実行しますが、出力は何もしません(破棄されるだけです)。クリップボードではなく Xの選択範囲にコピーするにはxclip、それをにパイプする必要があります。次に、中クリックしてドキュメントに貼り付けることができます。Ctrl-Vを使用できるようにする場合は、代わりにを使用して実際のクリップボードにコピーします。date | xclipdate | xclip -selection c

もう1つの方法は、を使用xdotoolしてドキュメントに直接日付を入力することです。ショートカットに割り当てる

xdotool type "$(date)"

次に、ショートカットキーを押すと、現在の日付が計算され、ドキュメントに文字が入力されます。

ISO 8601形式の場合はを使用しますxdotool type "$(date --rfc-3339=s)"


機能しない場合:これらは(実行可能ファイルではなく)シェルコマンドであるため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:00または013-01-07 15:14:35+08:00
user13107

1
@ user13107同じ問題が発生しました。いくつかの試行錯誤の後、私はbash -c 'date | xclip -selection clipboard && xdotool key 'ctrl+v''完全に機能するコマンドになりました。
Immanuel Weihnachten 2013年

1
@ user13107-これは使用しないためですxdotool --clearmodifiers-一部のキーはCtrlで入力されます(例-スペース、飲み込まれる)。一部の文字は入力されません(たとえば:-シフトされます)が、次のコマンドを使用xdotool type --clearmodifiers $(date "+%Y-%m-%d,%H-%I")しています。
Tomasz Gandor 2015

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のタイムスタンプは直感的でなく読みにくいので、アンダースコアはうまく機能します。


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

私はSuper+Q私のショートカットとして使用しており、をsuper送信する前に修飾子をクリアする必要がありdateます。私は試しました--clearmodifiersunity 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.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.