macOS x에서 키보드 단축키를 사용하여 선택한 텍스트에 고정 폭 글꼴 모음을 할당하십시오. 많이 작성하고 코드 비트에 고정 폭 글꼴을

기술 이메일을 많이 작성하고 코드 비트에 고정 폭 글꼴을 사용하고 싶습니다. 텍스트를 강조 표시하고 apple-T를 누르고 즐겨 찾기 목록에서 내 글꼴을 선택한 다음 글꼴 창을 닫으십시오. 키보드 단축키를 사용하여 주어진 글꼴을 현재 선택한 텍스트에 적용하는 방법이 있습니까? 이상적으로는 OS 전체가 가능하지만 불가능한 경우 단일 앱 (Mail.app)에 사용할 수 있습니다



답변

나는 이것을 오랫동안 오랫동안 찾고있었습니다.

나는 마침내 Alfred와 Highlight CLI 도구의 도움으로 나에게 정말 좋은 것을 끝내게되었습니다.

Alfred 스크립트 부분은 다음과 같습니다.

query="{query}"
if echo $query|grep -e "^__SHORTCUT__"
then
    echo "$query"|sed -E "s/^__SHORTCUT__//"|pbcopy
    syntax=txt
else
    osascript -e 'tell application "System Events" to keystroke "c" using {command down}'
    syntax=$query
fi

pbpaste|/usr/local/bin/highlight --syntax $syntax --font Menlo --font-size 12 --out-format=rtf|pbcopy
osascript -e 'tell application "System Events" to keystroke "v" using {command down}'

바로 가기 트리거 __SHORTCUT__가 인식 되도록 추가 하고 인수가 “OSX에서 선택”인지 확인하십시오 .

짧은 데모 https://youtu.be/y8NJT52APRQ


답변

시스템 전반의 글꼴 패널을 스크립팅하는 방법을 모르지만 Mail.app에서 모노 스페이스 글꼴에 빠르게 액세스 할 수있는 몇 가지 방법이 있습니다.

방법 1 : 문자 메시지 계획

Mail.app의 환경 설정> 서체 및 색상으로 이동하여 “일반 텍스트 메시지에 고정 너비 서체 사용”확인란을 선택하십시오.

이제 당신은 당신이 간단하게 칠 수있는 고정 폭 글꼴을 사용하고자하는 메시지에있을 때 : CommandShiftT당신은 당신의 선택의 고정 폭 글꼴 및 표준 글꼴 (일반 텍스트 메시지 및 서식있는 텍스트) 사이를 전환 할 수 있습니다.

이 방법의 단점은 수신자가 글꼴을 고정 너비 글꼴로 설정하지 않은 경우 메시지가 의도 한대로 표시되지 않을 수 있다는 것입니다.

방법 2 : Applescript로 글꼴 설정

두 번째 방법은 Applescript를 사용하여 선택한 올바른 글꼴로 새 메시지를 만드는 것입니다. 다음과 같이 할 수 있습니다.

tell application "Mail"
    set outgoingMessage to make new outgoing message
    set fontFace to "Times"
    tell outgoingMessage
        set the content to " "
        set font of content to fontFace
        set size of content to (14)
        set visible to true
    end tell
end tell

이 스크립트를 사용하여 내용을 무언가로 설정해야합니다. Mail에서 빈 메시지의 글꼴을 설정할 수없는 것 같습니다.

방법 3 : TextExpander 사용

이 방법은 돈이 들지만 당신이 무엇을하는지 알려줄 수 있습니다. 고정 너비 및 일반 유형에 대해 몇 가지 TextExpander (앱 스토어에서 $ 34.99 USD) 단축키를 설정하여 몇 문자를 입력하여 앞뒤로 전환 할 수 있습니다.

TextExpander를 사용하면 서식있는 텍스트 (글꼴, 색상, 스타일 등이 설정된 텍스트)를 삽입 할 수 있습니다. 형식화 된 텍스트, 그림 형식의 스 니펫을 만들고 삽입 할 텍스트의 글꼴을 설정하십시오. 이 전략이 작동하려면 최소한 공백 문자를 포함해야합니다.

글꼴을 사용하려면 스 니핏에 공백 문자를 포함해야합니다.


답변

내가 사용한 것은 일부 텍스트에서 수동으로 모노 스페이스를 지정한 다음 형식-> 복사 스타일 (Option + Cmd + C)이지만 텍스트는 포맷하지 않습니다. 그런 다음 이 형식을 선택에 할당하는 다른 일반 텍스트와 형식- > 붙여 넣기 스타일 (Option + Cmd + V)을 선택하십시오. 다시 시작한 후에는이 작업을 다시 수행해야하며 한 스타일에서만 작동하지만 이것은 내 요구를 충족시킵니다.


답변

특정 스타일로 캐릭터를 복사하십시오.

echo "<span style=\"font:14px 'Monaco'\">&nbsp;</span>" | textutil -format html -convert rtf -stdin -stdout | pbcopy -Prefer rtf

pbcopy -Prefer rtf 일반 텍스트 데이터는 포함되지 않으므로 붙여 넣기는 리치 텍스트보기에서만 작동합니다.


특정 스타일의 문자를 삽입하십시오.

try
    try
        set old to the clipboard
    end try
    set html to quoted form of "<span style=\"font:14px 'Monaco'\">&nbsp;</span>"
    do shell script "echo " & html & " | textutil -format html -convert rtf -stdin -stdout | pbcopy -Prefer rtf"
    tell application "System Events" to keystroke "v" using command down
    delay 0.03
    set the clipboard to old
end try

스타일 붙여 넣기 :

try
    try
        set old to the clipboard
    end try
    tell application "System Events" to keystroke "c" using command down
    delay 0.03
    set input to Unicode text of (the clipboard as record)
    set txt to quoted form of ("<span style=\"font:14px 'Monaco'\">" & input & "</span>")
    do shell script "echo " & txt & " | textutil -format html -convert rtf -stdin -stdout | pbcopy -Prefer rtf"
    tell application "System Events" to keystroke "v" using command down
    delay 0.03
    set the clipboard to old
end try