Ich schreibe viele technische E-Mails und verwende gerne eine monospaced Schriftart für die Codebits. Markieren Sie Text, drücken Sie Apfel-T, wählen Sie meine Schriftart aus der Favoritenliste und schließen Sie dann das Schriftartenfenster. Gibt es eine Möglichkeit, eine Tastenkombination zu verwenden, um eine bestimmte Schriftart auf den aktuell ausgewählten Text anzuwenden? Idealerweise wäre dies betriebssystemweit, aber wenn das nicht möglich ist, kann ich es nur für eine einzelne App (Mail.app) verwenden.
Ich habe sehr lange danach gesucht, dies zu tun.
Mit Hilfe von Alfred und dem Highlight-CLI-Tool habe ich es endlich geschafft, etwas zu finden, das wirklich großartig für mich funktioniert.
Hier ist der Teil des Alfred-Skripts:
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}'
Stellen Sie sicher, dass der Shortcut-Trigger __SHORTCUT__
erkannt werden soll und das Argument "Selection in OSX" ist:
Kurze Demo https://youtu.be/y8NJT52APRQ
Ich kenne keine systemweite Möglichkeit, das Schriftenbedienfeld zu skripten, aber hier sind einige Möglichkeiten, um schnell auf Monospace-Schriftarten in Mail.app zuzugreifen
Gehen Sie zu den Einstellungen von Mail.app > Schriftarten und Farben und aktivieren Sie das Kontrollkästchen für "Schriftart mit fester Breite für Nur-Text-Nachrichten verwenden".
Wenn Sie sich jetzt in einer Nachricht befinden, in der Sie eine Monospace-Schriftart verwenden möchten, können Sie einfach drücken: Command- Shift- Tund Sie können zwischen der Schriftart Ihrer Wahl mit fester Breite und Ihrer Standardschriftart (einfache Textnachricht und Rich-Text) umschalten.
Der Nachteil dieser Methode besteht darin, dass der Empfänger die Nachricht möglicherweise nicht wie beabsichtigt sieht, wenn er seine Schriftart nicht auf eine Schriftart mit fester Breite eingestellt hat.
Die zweite Möglichkeit besteht darin, mit Applescript eine neue Nachricht mit der richtigen Schriftart zu erstellen. Das kannst du so machen:
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
Sie müssen den Inhalt mit diesem Skript auf etwas setzen. Anscheinend lässt Mail Sie die Schriftart für eine leere Nachricht nicht festlegen.
Dieser Weg kostet Geld, aber er könnte Ihnen das geben, wonach Sie suchen. Sie könnten ein paar TextExpander -Verknüpfungen (34,99 USD im App Store) für feste Breite und normalen Typ einrichten, sodass Sie durch Eingabe einiger Zeichen hin und her wechseln können.
Mit TextExpander können Sie Rich-Text einfügen (Text mit festgelegter Schriftart, Farbe, Stil usw.). Erstellen Sie einfach ein Snippet vom Typ Formatierter Text, Bilder und legen Sie eine Schriftart für den einzufügenden Text fest. Sie müssen mindestens ein Leerzeichen einfügen, damit diese Strategie funktioniert.
Ihre Snippits müssen mindestens ein Leerzeichen enthalten, um sicherzustellen, dass die Schriftart verwendet wird.
Was ich am Ende verwendet habe, war die manuelle Angabe von Monospace in einem Text, dann Format -> Copy Style (Option + Cmd + C), wodurch das Format, aber nicht der Text kopiert wird. Wählen Sie dann einen anderen einfachen Text und Format->Stil einfügen (Option+Cmd+V), der dieses Format der Auswahl zuweist. Nach dem Neustart müssen Sie dies erneut tun, und es funktioniert nur für einen Stil, aber das entspricht meinen Anforderungen.
Kopieren Sie einen Charakter mit einem bestimmten Stil:
echo "<span style=\"font:14px 'Monaco'\"> </span>" | textutil -format html -convert rtf -stdin -stdout | pbcopy -Prefer rtf
pbcopy -Prefer rtf
enthält keine Nur-Text-Daten, daher funktioniert das Einfügen nur in Rich-Text-Ansichten.
Ein Zeichen mit einem bestimmten Stil einfügen:
try
try
set old to the clipboard
end try
set html to quoted form of "<span style=\"font:14px 'Monaco'\"> </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
Stil einfügen:
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
Müllgott
Sam Barnum
Zitronen-Ingwer