กำหนดตระกูลฟอนต์แบบ monospaced ให้กับข้อความที่เลือกด้วยแป้นพิมพ์ลัดใน mac os x


8

ฉันเขียนอีเมลด้านเทคนิคเป็นจำนวนมากและต้องการใช้แบบอักษรแบบโมโนโพสต์สำหรับบิตรหัส ไฮไลต์ข้อความกด apple-T เลือกแบบอักษรของฉันจากรายการโปรดจากนั้นปิดหน้าต่างแบบอักษร มีวิธีใช้แป้นพิมพ์ลัดเพื่อใช้แบบอักษรที่กำหนดกับข้อความที่เลือกในปัจจุบันหรือไม่ เป็นการดีที่มันจะเป็นทั้งระบบปฏิบัติการ แต่ถ้ามันเป็นไปไม่ได้ฉันสามารถใช้มันสำหรับแอพเดียว (Mail.app)


รุ่นใด ⌘-T ทำงานในจดหมาย 3.6

@trashgod ฉันกำลังค้นหาแป้นพิมพ์ลัดที่ฉันสามารถใช้เพื่อตั้งค่าแบบอักษรของส่วนที่เลือกปัจจุบันเป็นแบบอักษรที่ระบุ อาจเป็นมาโครบางประเภท

1
สิ่งนี้ดูเหมือนจะไม่สำคัญพอที่จะทำกับ AppleScript และจากนั้นเพียงกำหนดรหัสให้กับสคริปต์นั้น ถ้ามีคนไม่มาคืนนี้ฉันจะยัดอะไรซักอย่างพรุ่งนี้
lemonginger

คำตอบ:


2

ฉันกำลังมองหาการทำสิ่งนี้มาเป็นเวลานาน

ในที่สุดฉันก็สามารถลงเอยด้วยสิ่งที่ใช้งานได้ดีเยี่ยมจริง ๆ ด้วยความช่วยเหลือของเครื่องมือ Alfred และ Highlight CLI

นี่คือส่วนของอัลเฟรดสคริปต์:

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__ให้เป็นที่รู้จักและอาร์กิวเมนต์คือ "Selection in OSX":

ป้อนคำอธิบายรูปภาพที่นี่

การสาธิตสั้น ๆhttps://youtu.be/y8NJT52APRQ


1

ฉันไม่รู้จักวิธีทั่วทั้งระบบในการเขียนสคริปต์แผงแบบอักษร แต่นี่เป็นวิธีการสองสามวิธีในการเข้าถึงแบบอักษร monospace แบบรวดเร็วใน Mail.app

วิธีที่ 1: วางแผนข้อความตัวอักษร

ไปที่การตั้งค่าของ Mail.app> แบบอักษรและสีและทำเครื่องหมายในช่องทำเครื่องหมาย "ใช้แบบอักษรที่มีความกว้างคงที่สำหรับข้อความธรรมดา"

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้เมื่อคุณอยู่ในข้อความที่คุณต้องการใช้แบบอักษร monospace คุณสามารถกด: Command- Shift- Tและคุณสามารถสลับระหว่างแบบอักษรความกว้างคงที่ที่คุณเลือกและแบบอักษรมาตรฐานของคุณ (ข้อความธรรมดาและข้อความสมบูรณ์)

ข้อเสียของวิธีนี้คือถ้าผู้รับไม่ได้ตั้งค่าแบบอักษรเป็นแบบอักษรที่มีความกว้างคงที่พวกเขาอาจไม่เห็นข้อความตามที่ตั้งใจไว้

วิธีที่ 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 ใน app store) ทางลัดสำหรับความกว้างคงที่และประเภทปกติเพื่อให้คุณสามารถสลับไปมาได้โดยพิมพ์อักขระสองสามตัว

TextExpander

TextExpander จะอนุญาตให้คุณแทรกข้อความที่มีการจัดรูปแบบ (ข้อความที่มีแบบอักษรสีสไตล์ ฯลฯ ) เพียงสร้างตัวอย่างข้อความที่จัดรูปแบบแล้วรูปภาพและตั้งค่าแบบอักษรสำหรับข้อความที่คุณจะแทรก คุณจะต้องรวมอักขระช่องว่างเพื่อให้กลยุทธ์นี้ใช้งานได้

คุณจะต้องมี snippits ของคุณรวมอย่างน้อยหนึ่งอักขระเว้นวรรคเพื่อให้แน่ใจว่าจะใช้แบบอักษร


1
ซามูเอลฉันกำลังมองหาวิธีที่จะทำให้ข้อความที่เน้นสีเป็นข้อความเดียวไม่ใช่ข้อความทั้งหมด ฉันโอเคกับการใช้ Applescript ที่มีผลกับการเลือกแอปปัจจุบันเท่านั้น คุณช่วยแนะนำวิธีการเรียกใช้ applescript ด้วยแป้นพิมพ์ลัดที่กำหนดเองได้หรือไม่?
Sam Barnum

1
แซมปัญหาคือ Mail.app ไม่มีวัตถุสำหรับข้อความที่เลือก ฉันใช้เวลาพยายามคิดหาวิธีและฉันสามารถพูดได้ว่าไม่มีวิธีที่สะอาดในการทำสิ่งนี้ให้สำเร็จ
ซามูเอลมิเคลโบว์ลส์

2
ด้วย TextExpander คุณสามารถแทรกเนื้อหาของคลิปบอร์ดลงในตัวอย่างที่จัดรูปแบบ monospace ได้ ดังนั้นเมื่อคุณไฮไลต์คุณเพียงพิมพ์⌘Xจากนั้นตัวย่อของคุณเพื่อวางมันกลับไปเป็นแบบอวกาศ เพิ่มช่องว่างด้วยการจัดรูปแบบตามปกติจนถึงส่วนท้ายและคุณก็พร้อมที่จะพิมพ์ต่อไป TextExpander นั้นมีประโยชน์อย่างมาก ทุกคนที่ใช้ Mac เพื่อทำงานให้เสร็จควรเป็นเจ้าของมันต่อไป
75 ทรอมโบน

1

สิ่งที่ฉันใช้คือการระบุข้อความในอวกาศด้วยตนเองจากนั้นเลือกรูปแบบ -> คัดลอกสไตล์ (ตัวเลือก + Cmd + C) ซึ่งคัดลอกรูปแบบ แต่ไม่ใช่ข้อความ จากนั้นเลือกข้อความธรรมดาและFormat-> Paste Style (Option + Cmd + V) ซึ่งกำหนดรูปแบบนี้ให้กับการเลือก หลังจากรีสตาร์ทคุณต้องทำสิ่งนี้อีกครั้งและใช้ได้กับสไตล์เดียวเท่านั้น แต่สิ่งนี้ตรงกับความต้องการของฉัน


0

คัดลอกอักขระด้วยสไตล์เฉพาะ:

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

pbcopy -Prefer rtf ไม่รวมข้อมูลข้อความธรรมดาดังนั้นการวางจะทำงานในมุมมอง Rich Text เท่านั้น


แทรกอักขระที่มีสไตล์เฉพาะ:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.