Tạo phím tắt hoặc phím tắt để dán cụm từ văn bản cụ thể trong Mac OSX


21

Tôi có một cụm từ văn bản (thực tế, một số giai đoạn) mà tôi sử dụng thường xuyên trong nhiều ứng dụng. Tôi muốn tạo một phím tắt hoặc phím nóng sẽ dán cụm từ văn bản này bất cứ nơi nào tôi đặt con trỏ vào trường nhập văn bản (Apple Mail, Microsoft Word, TextEdit, TextWrangler, cửa sổ trình duyệt, v.v.) thay vì liên tục sao chép và dán từ một ghi chú dán.

Tôi không muốn phải mua bất kỳ ứng dụng nào (có vẻ như Bàn phím Maestro có chức năng này nhưng có vẻ ngớ ngẩn khi chỉ trả 36 đô la cho việc này), mặc dù các ứng dụng miễn phí sẽ ổn. Đã thử tìm trong Tùy chọn hệ thống> Bàn phím> Phím tắt nhưng không có giải pháp rõ ràng và tất cả AppleScripts tôi tìm thấy dường như không dịch đúng cho tôi. Tôi đã tìm thấy các giải pháp khác cho vấn đề này trên diễn đàn này cho người dùng Windows (như AutoHotKey) nhưng không có giải pháp nào cho người dùng Mac.

Câu trả lời:


16

Cách dễ nhất để nhập văn bản bằng AppleScript là chạy:

tell application "System Events" to keystroke "foo bar"

Bạn có thể kích hoạt thao tác này bằng phím tắt bằng cách tạo Hành động nhanh mới (trước đây gọi là Dịch vụ ) trong Máy tự động. Đặt nó để nhận Không có Đầu vào , rồi kéo Chạy AppleScript từ khung bên trái sang phải.

Nó sẽ giống như thế này:

Lưu nó, rồi gán phím tắt cho Dịch vụ này trong Tùy chọn hệ thống »Bàn phím» Phím tắt .


Ồ, cảm ơn rất nhiều @slhck! Tôi đã thử điều này, nhưng đang gặp vấn đề ở bước cuối cùng. Nó không hiển thị trong menu "Dịch vụ" khi tôi chuyển đến "Phím tắt" trong Tùy chọn hệ thống. Tôi biết nó chạy vì khi tôi mở Automator và nhấn Play, văn bản được nhập vào ứng dụng trước, nhưng nó sẽ không hiển thị trong dịch vụ để tôi có thể thêm phím tắt ngay cả khi tôi đã lưu nó trong thư mục Dịch vụ> Thư viện . Theo lời khuyên của các diễn đàn khác mà tôi đã tham gia, tôi đã kiểm tra kỹ xem đầu vào dịch vụ có được đặt thành "Dịch vụ nhận: không có đầu vào" (đã) và thử khởi chạy lại Finder. Có suy nghĩ gì không?
Ruthie

Vì vậy, bạn đã lưu nó từ Automator? Thông thường, nó sẽ xuất hiện trong các tùy chọn Phím tắt, bên dưới Dịch vụChung ở phía dưới. Bạn đã thử đăng xuất và đăng nhập lại, hoặc thậm chí khởi động lại chưa?
slhck

@slhck điều này nghe có vẻ là một cách tuyệt vời để làm điều này, nhưng bạn có thể nói chi tiết hơn câu trả lời của bạn không? Tôi không rành về cách thức hoạt động của Automator, khi tôi khởi chạy, nó hỏi tôi "đã chọn một loại cho tài liệu của bạn" và sau đó tôi bị lạc. Bây giờ tôi sẽ đi với câu trả lời của Jonathan Huie nhưng nó vẫn ngụ ý gõ một cái gì đó ... Cảm ơn!
MicroMachine

@fovened Bạn cần tạo một Dịch vụ trong Automator.
slhck

2
Tôi thấy rằng điều này hoạt động trong một trình soạn thảo văn bản, nhưng không phải trong một trường văn bản trên một trang web. Ai khác?
Eliot

6

Các keystrokelệnh chỉ có thể được sử dụng để chèn các ký tự được tìm thấy trên cách bố trí bàn phím hiện nay, và có sự chậm trễ có thể nhìn thấy cho chuỗi dài của văn bản. Bạn cũng có thể chèn văn bản trực tiếp:

Phương pháp đó cũng không thực sự có thể sử dụng được. Có một lỗi vào ngày 10.7 và 10.8, trong đó các phím tắt cho dịch vụ Automator không hoạt động cho đến khi bạn di chuột qua menu dịch vụ.

Tôi đã sử dụng FastScripts để gán tập lệnh này cho F3:

try
    set old to the clipboard as record
end try
try
    tell application "System Events"
        key code 123 using {option down, shift down}
        keystroke "c" using command down
    end tell
    delay 0.05
    set input to the clipboard
    read POSIX file "/Users/lauri/Notes/snippets.txt" as «class utf8» using delimiter linefeed
    repeat with p in result
        considering case
            if p starts with (input & " ") then
                set the clipboard to text ((offset of space in p) + 1) thru -1 of p
                tell application "System Events" to keystroke "v" using command down
                delay 0.05
                exit repeat
            end if
        end considering
    end repeat
end try
try
    set the clipboard to old
end try

snippets.txt trông như thế này:

m name@example.com
cmd ⌘

Một tùy chọn khác là sử dụng DefaultKeyBinding.dict . Điều này sẽ làm cho ⌥M hoặc ⌥X và m chèn một địa chỉ email:

{
    "~m" = (insertText:, "name@example.com");
    "~x" = {
        "m" = ("insertText:", "name@example.com");
    };
}

Bạn cũng có thể thêm văn bản tùy chỉnh vào cửa sổ bật lên được hiển thị khi giữ phím. Xem câu hỏi này .


2

Hãy xem Ứng dụng có tên "TextExander" cung cấp cho bạn khả năng xác định các cụm từ văn bản như @dd - khi được gõ - sẽ được mở rộng thành nội dung được xác định - trong trường hợp đó là ngày thực tế.

AFAIK đó là phần mềm. Vì vậy, nó không thực sự miễn phí nhưng chế độ demo không được định thời gian.


Chỉ là một ghi chú nhanh trong trường hợp nó hữu ích cho người khác - TextExpander không hoạt động trên các cửa sổ đầu cuối X11.
ggkmath

2

Ứng dụng Alfred cho phép bạn thực hiện điều này cùng với rất nhiều thứ khác bằng cách sử dụng các tính năng của Workflow và Snippets. Tôi sử dụng Alfred mọi lúc và rất khuyến khích điều đó. Để mở khóa Dòng công việc, bạn phải trả tiền cho giấy phép Powerpack, nhưng bạn sẽ không hối tiếc. 😉


Tôi đồng ý, đây là một trong những ứng dụng hữu ích nhất mà bất kỳ ai sở hữu máy Mac nên có. Tôi hoàn toàn di chuyển từ các dịch vụ Automator tùy chỉnh sang Alfred.
slhck

1

Chỉ cần nhấp vào: Tùy chọn hệ thống, Bàn phím, Văn bản và nhập phím tắt và cụm từ của bạn


1
Tôi thích câu trả lời này, nhưng nó không thực sự cho phép "phím tắt" hoặc "phím nóng", người ta vẫn phải nhập văn bản (và không phải là tổ hợp phím) được thay thế bằng máy.
MicroMachine

1
Điều này dường như chỉ hoạt động trong một vài ứng dụng chọn. Nó không hoạt động ở hầu hết các nơi tôi thích, ví dụ như các trường nhập trình duyệt, ứng dụng thư khách của tôi (Thunderbird), Terminal, v.v.
Đừng hoảng sợ

0

Một bàn phím riêng gọi là Bàn phím sao Hỏa sẽ chứa các chuỗi văn bản như câu và thậm chí các đoạn văn ngắn. Nó sẽ giúp bạn không phải gõ phím phiền toái gây phiền nhiễu mà bạn gõ đi gõ lại, ngày này qua ngày khác. Các phím này hoạt động giống như các phím "dán". Nó có khả năng lưu trữ tất cả các phím tắt trong Word trên một bàn phím, sử dụng các phím shift. Nó chủ yếu để sử dụng chuyên nghiệp, vì vậy nó là một chút đắt tiền.

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.