Làm thế nào để tạo tùy chọn để chèn dấu thời gian?


8

Trong khi chỉnh sửa tài liệu văn bản, tôi cần đặt dấu thời gian thường xuyên. Tôi nghĩ về việc tự động hóa nó theo 2 cách khác nhau. Không ai trong số này dường như đang làm việc.

  1. Sử dụng nautilus-hành động

Tôi thiết lập một hành động bối cảnh bên phải mới để chạy lệnh date|xclip

nhập mô tả hình ảnh ở đây

Ngữ cảnh bên phải này không hiển thị khi tôi nhấp chuột phải vào các ứng dụng khác (như thiết bị đầu cuối hoặc trình duyệt). Hơn nữa, khi nó xuất hiện và tôi nhấp vào nó, nó không làm gì cả.

  1. Sử dụng phím tắt

Tôi thiết lập một phím tắt mới được cho là để thực thi datelệnh nhưng không được.

nhập mô tả hình ảnh ở đây

Bất kỳ con trỏ?

Cảm ơn.

Câu trả lời:


11

Phím tắt Gnome nên hoạt động.

Đây là lý do tại sao những gì bạn đã thử không hoạt động: Phím tắt bàn phím của bạn chạy datelệnh, nhưng không làm gì với đầu ra (chỉ bị loại bỏ). Bạn nên đặt nó vào xclip, date | xclipđể sao chép nó vào lựa chọn X ( không phải clipboard). Sau đó, bạn có thể dán nó vào tài liệu của bạn bằng cách nhấp vào giữa. Nếu bạn muốn có thể sử dụng Ctrl-V, thay vào đó hãy sử dụng date | xclip -selection cđể sao chép nó vào bảng tạm.

Một cách khác là sử dụng xdotoolđể nhập ngày trực tiếp vào tài liệu của bạn. Chỉ định phím tắt của bạn

xdotool type "$(date)"

Sau đó, khi bạn nhấn phím tắt, nó sẽ tính ngày hiện tại và nhập các ký tự vào tài liệu của bạn.

Đối với định dạng ISO 8601, sử dụng xdotool type "$(date --rfc-3339=s)".


Nếu nó không hoạt động: Vì đây là các lệnh shell (trái ngược với các lệnh thực thi), bạn có thể phải truyền lệnh đến bashkhi chỉ định chúng trong phím tắt. Lệnh của bạn sau đó sẽ là:

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

Cảm ơn. Thử nó. Nhưng nó không hoạt động. Tôi đã gán phím tắt cho CTRL +; và tôi nhấp vào sự kết hợp cụ thể này trên máy tính để bàn và sau đó tôi nhấp vào CTRL + V (nói bằng gmail) nhưng nó không dán. Tôi có phải khởi động lại máy tính xách tay không?
dùng13107

@ user13107: Theo mặc định, nó xclipsao chép văn bản không vào bảng tạm, nhưng vào lựa chọn X. Để dán nó, sử dụng nhấp chuột giữa thay vì Ctrl-V.
Ốc cơ khí

Sử dụng bash -cđã thực hiện các mẹo nhưng có một số loại chậm trễ trong việc gõ. Khi tôi nhấp vào phím tắt, dấu thời gian hoàn chỉnh không được nhập bằng xdotool. Một số số ban đầu được ăn hết, ví dụ: 1-07 15:14:35+08:00hoặc013-01-07 15:14:35+08:00
user13107

1
@ user13107 Tôi gặp vấn đề tương tự. Sau một số thử nghiệm và lỗi, tôi đã kết thúc với lệnh bash -c 'date | xclip -selection clipboard && xdotool key 'ctrl+v''hoạt động hoàn hảo.
Immanuel Weihnachten

1
@ user13107 - điều này là do bạn không sử dụng xdotool --clearmodifiers- một số phím được nhập bằng Ctrl (ví dụ: không gian, nó bị nuốt). Một số ký tự sẽ không được nhập (ví dụ: :được dịch chuyển), nhưng tôi đang sử dụng một lệnh sau: xdotool type --clearmodifiers $(date "+%Y-%m-%d,%H-%I")hoạt động với tôi.
Tomasz Gandor

3

Tôi đã sử dụng thành công như một phím tắt tùy chỉnh được gán cho Ctrl+Shift+D:

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

Tôi thấy việc thêm một chút chậm trễ đã giải quyết các vấn đề với các ký tự ban đầu bị thiếu và không làm ô nhiễm bảng tạm của tôi.

Lưu ý rằng tôi đang sử dụng phiên bản RFC 3339 / ISO 8601 tùy chỉnh một chút tùy chỉnh: Tôi thường sử dụng phiên bản này trong bối cảnh tôi muốn tránh khoảng trống trong dateđầu ra RFC 3339, nhưng tôi thấy Tđó là cách biệt ngày với thời gian trong Dấu thời gian ISO 8601 khá không trực quan và khó đọc, vì vậy tôi thấy một dấu gạch dưới hoạt động tốt.


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

Tôi sử dụng Super+Qlàm lối tắt của mình và tôi cần xóa công cụ supersửa đổi trước khi gửi date. Tôi đã thử --clearmodifiersnhưng điều đó sẽ khiến unity dashcửa sổ bật lên sau khi phím tắt được chạy [1]

[1] Lý do unity dashsẽ bật lên sau đó là trước khi superđược khôi phục nếu --clearmodifiersđược sử dụng Trích dẫn từman xdotool

CLEARMODIFIERS
       Any command taking the --clearmodifiers flag will attempt to clear any
       active input modifiers during the command and restore them afterwards.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.