Mac OSX에서 특정 텍스트 문구를 붙여 넣기위한 단축키 또는 키보드 단축키 생성


19

여러 응용 프로그램에서 자주 사용하는 텍스트 문구 (실제로는 여러 단계)가 있습니다. 끊임없이 텍스트를 복사하는 대신 텍스트 입력 필드 (Apple Mail, Microsoft Word, TextEdit, TextWrangler, 브라우저 창 등)에 커서를 놓을 때마다이 텍스트 문구를 붙여 넣을 키보드 단축키 또는 핫키를 만들고 싶습니다. 스티커 메모에서 붙여 넣기.

무료 앱은 괜찮을지라도 모든 앱을 구매하지 않는 것이 좋습니다 (키보드 마에스트로 가이 기능을 가지고 있지만이를 위해 36 달러를 지불하는 것은 어리석은 것처럼 보입니다). 시스템 환경 설정> 키보드> 키보드 단축키를 살펴 보았지만 확실한 해결책은 없었으며 찾은 모든 AppleScript가 제대로 번역되지 않는 것 같습니다. 이 포럼에서 Windows 사용자 (AutoHotKey와 같은)를위한이 문제에 대한 다른 솔루션을 찾았지만 Mac 사용자에게는 없습니다.

답변:


16

AppleScript로 텍스트를 입력하는 가장 쉬운 방법은 다음을 실행하는 것입니다.

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

Automator에서 새로운 빠른 조치 (이전의 서비스 )를 작성하여 키보드 단축키로이를 트리거 할 수 있습니다 . No Input 을 받도록 설정 한 다음 왼쪽 창에서 AppleScript 실행 을 오른쪽으로 드래그 하십시오 .

다음과 같아야합니다.

저장 한 다음 시스템 환경 설정»키보드»키보드 단축키 아래에서이 서비스에 키보드 단축키를 지정하십시오 .


와, @slhck 너무 감사합니다! 나는 이것을 시도했지만 마지막 단계에서 문제가 있습니다. 시스템 환경 설정에서 "키보드 단축키"로 이동하면 "서비스"메뉴에 나타나지 않습니다. Automator를 열고 Play를 누르면 텍스트가 이전 응용 프로그램에 입력되지만 서비스에 표시되지 않으므로 라이브러리> 서비스 폴더에 저장했지만 키보드 단축키를 추가 할 수 있기 때문에 실행되는 것을 알고 있습니다. . 내가 Google 검색 한 다른 포럼의 조언에 따라 서비스 입력이 "서비스 수신 : 입력 안 됨"으로 설정되어 있는지 확인하고 Finder를 다시 시작했습니다. 이견있는 사람?
Ruthie

Automator에서 저장 했습니까? 일반적으로 하단의 서비스일반 아래에있는 키보드 바로 가기 옵션에 나타납니다 . 로그 아웃했다가 다시 시작했거나 다시 시작 했습니까?
slhck

@ slhck 이것은 이것을하는 좋은 방법처럼 들리지만 대답을 조금 더 자세히 설명 할 수 있습니까? Automator가 작동하는 방식에 능숙하지 않습니다. Automator를 시작하면 "문서 유형을 선택하십시오"라는 메시지가 표시되며 길을 잃었습니다. 나는 Jonathan Huie의 대답과 함께 갈 것입니다. 그러나 여전히 무언가를 입력하는 것을 의미합니다 ... 고마워!
MicroMachine

@fabriced Automator 에서 서비스 를 작성해야합니다 .
slhck

2
이것은 텍스트 편집기에서 작동하지만 웹 사이트의 텍스트 필드에서는 작동하지 않습니다. 다른 사람?
Eliot

6

keystroke명령은 현재 키보드 레이아웃에서 찾은 문자를 삽입하는 데만 사용할 수 있으며 긴 텍스트 문자열에 대해 눈에 띄는 지연이 있습니다. 텍스트를 직접 삽입 할 수도 있습니다.

그 방법도 실제로 사용할 수 없습니다. 서비스 메뉴 위로 마우스를 가져 가기 전에는 Automator 서비스의 바로 가기가 항상 작동하지 않는 10.7 및 10.8의 버그가 있습니다.

이 스크립트를 F3에 할당하기 위해 FastScripts 를 사용했습니다 .

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는 다음과 같습니다 :

m name@example.com
cmd ⌘

다른 옵션은 DefaultKeyBinding.dict 를 사용하는 것 입니다. 이렇게하면 ⌥M 또는 ⌥X와 m이 이메일 주소를 삽입합니다.

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

키를 누를 때 표시되는 팝 오버에 사용자 정의 텍스트를 추가 할 수도 있습니다. 이 질문을 참조하십시오 .


2

"Textexpander"라는 앱을 찾아 보면 @dd와 같은 텍스트 구문 을 정의 할 수있는 기능을 제공합니다.

AFAIK 그것은 셰어웨어입니다. 따라서 실제로 무료는 아니지만 데모 모드는 시간 제한이 없습니다.


TextExpander는 X11 터미널 창에서 작동하지 않습니다.
ggkmath

2

Alfred 앱을 사용하면 워크 플로 및 스 니펫 기능을 사용하여이 작업을 수행 할 수 있습니다. 나는 Alfred를 항상 사용하고 그것을 강력히 추천합니다. 워크 플로를 잠금 해제하려면 Powerpack 라이센스를 지불해야하지만 후회하지는 않습니다. 😉


동의합니다. 이것은 Mac을 소유 한 사람이 가장 유용한 앱 중 하나입니다. 맞춤형 Automator 서비스에서 Alfred로 완전히 마이그레이션했습니다.
slhck

1

시스템 환경 설정, 키보드, 텍스트를 클릭하고 바로 가기와 문구를 입력하십시오.


1
이 답변이 마음에 들지만 실제로 "키보드 단축키"또는 "핫키"를 허용하지 않습니다. 여전히 컴퓨터로 대체되는 텍스트 (키 조합이 아닌)를 입력해야합니다.
MicroMachine

1
이것은 일부 선택된 앱에서만 작동하는 것 같습니다. 브라우저 입력 필드, 메일 클라이언트 (썬더 버드), 터미널 등 내가 원하는 대부분의 장소에서는 작동하지 않습니다.
당황하지 마십시오

0

Martian Keyboard라는 별도의 키보드에는 문장 및 짧은 단락과 같은 텍스트 문자열이 있습니다. 매일 입력하는 성가신 성가신 키 스트로크를 입력하지 않아도됩니다. 키는 "붙여 넣기"키처럼 작동합니다. Shift 레이어 키를 사용하여 Word의 모든 바로 가기를 단일 키보드에 저장할 수 있습니다. 주로 전문적인 용도로 사용되므로 약간 비쌉니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.