Mac OS X'te klavye kısayoluyla seçilen metne tek aralıklı yazı tipi ailesi atayın


8

Çok fazla teknik e-posta yazıyorum ve kod bitleri için tek aralıklı bir yazı tipi kullanmak istiyorum. Metni vurgulayın, apple-T tuşuna basın, sık kullanılanlar listesinden yazı tipimi seçin, sonra yazı tipi penceresini kapatın. Seçili metne belirli bir yazı tipini uygulamak için klavye kısayolu kullanmanın bir yolu var mı? İdeal olarak bu işletim sistemi çapında olurdu, ancak bu mümkün değilse, sadece tek bir uygulama için kullanabilirim (Mail.app)


Hangi versiyon? ⌘-T Mail 3.6'da çalışır.

@trashgod Geçerli seçimin yazı tipini belirli bir yazı tipine ayarlamak için kullanabileceğim tek bir klavye kısayolu arıyorum. Muhtemelen bir çeşit makro.

1
Bu, AppleScript ile yapmak oldukça önemsiz görünüyor ve daha sonra bu komut dosyasına bir anahtar atayın. Eğer birisi bu gece gelmezse yarın bir şeyler kıracağım.
lemonginger

Yanıtlar:


2

Bunu çok uzun zamandır yapıyorum.

Sonunda Alfred ve Highlight CLI aracının yardımıyla benim için gerçekten işe yarayan bir şeyle sonuçlanmayı başardım.

Alfred kod kısmı:

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}'

Kısayol tetikleyicisinin __SHORTCUT__tanınmasını ve bağımsız değişkenin "OSX'te Seçim" olduğundan emin olun :

resim açıklamasını buraya girin

Kısa demo https://youtu.be/y8NJT52APRQ


1

Yazı Tipleri panelini kodlamanın sistem genelinde bir yolunu bilmiyorum, ancak Mail.app içindeki tek aralıklı yazı tiplerine hızlı erişim sağlamanın birkaç yolu

1. Yol: Kısa Mesajı Planlayın

Mail.app tercihleri> Yazı Tipleri ve Renkler'e gidin ve "Düz metin mesajları için sabit genişlikte yazı tipi kullan" onay kutusunu işaretleyin.

resim açıklamasını buraya girin

Şimdi bir tek aralıklı yazı tipi kullanmak istediğiniz bir mesajdayken: Command- Shift- tuşuna Tbasabilir ve istediğiniz sabit genişlikli yazı tipi ile standart yazı tipi (düz metin mesajı ve zengin metin) arasında geçiş yapabilirsiniz.

Bu yöntemin dezavantajı, alıcının yazı tipini sabit genişlikli bir yazı tipine ayarlamaması durumunda, mesajı istendiği şekilde göremeyebilir.

2. Yol: Yazı Tipini Applescript ile Ayarlama

Bunu yapmanın ikinci yolu, Applescript kullanılarak seçilen doğru yazı tipiyle yeni bir mesaj oluşturmak olacaktır. Bunu şu şekilde yapabilirsiniz:

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

Bu komut dosyasıyla içeriği bir şeye ayarlamanız gerekir. Mail, boş bir mesaj için yazı tipini ayarlamanıza izin vermiyor gibi görünüyor.

3. Yol: TextExpander'ı kullanın

Bu şekilde paraya mal olur, ancak peşinde olduğunuz şeyi verebilir. Birkaç karakter yazarak ileri ve geri geçiş yapabilmeniz için sabit genişlik ve normal tür için birkaç TextExpander (uygulama mağazasında 34,99 ABD doları) kısayolu ayarlayabilirsiniz.

TextExpander

TextExpander, zengin metin eklemenize izin verir (yazı tipi, renk, stil vb. İçeren metin). Sadece Biçimlendirilmiş Metin, Resimler türünde bir snippet oluşturun ve ekleyeceğiniz metin için bir yazı tipi ayarlayın. Bu stratejinin çalışması için en az bir boşluk karakteri eklemeniz gerekir.

Yazı tipinin alınacağından emin olmak için snippet'lerinize en az boşluk karakteri eklemeniz gerekir.


1
Samuel, vurgulanan metni tüm mesajın değil, tek aralıklı yapmanın bir yolunu arıyorum. Yalnızca geçerli uygulamanın seçimini etkileyen bir Applescript kullanmakta sorun yok. Özel bir klavye kısayoluyla el yazısını tetiklemenin bir yolunu önerebilir misiniz?
Sam Barnum

1
Sam, sorun Mail.app seçilen metin için bir nesne yok. Bir yol bulmaya çalışmak için biraz zaman harcadım ve bunu başarmanın temiz bir yolu olmadığını söyleyebilirim.
Samuel Mikel Bowles

2
TextExpander ile panonun içeriğini tek aralıklı biçimlendirilmiş snippet'e eklemesini sağlayabilirsiniz. Vurguladığınızda, ⌘X yazın ve sonra snippet kısaltmanızı tek boşluk olarak yapıştırın. Snippet'in sonuna düzenli biçimlendirmeli bir boşluk ekleyin ve yazmaya devam edin. TextExpander aksi takdirde son derece yararlıdır; İşleri yapmak için Mac kullanan herkes yine de sahip olmalıdır.
75th Trombone

1

Ne kullanarak sona erdi bazı metin içinde monospace, daha sonra biçimi kopyalar ancak metin kopya değil Biçim -> Kopyalama Stili (Option + Cmd + C) belirtmek oldu. Sonra başka bir düz metin seçin ve bu formatı seçime atayan Format-> Stili Yapıştır (Option + Cmd + V). Yeniden başlattıktan sonra, bunu tekrar yapmanız gerekir ve sadece bir stil için çalışır, ancak bu benim ihtiyaçlarımı karşılar.


0

Belirli bir stile sahip bir karakteri kopyalama:

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

pbcopy -Prefer rtf düz metin verileri içermez, bu nedenle yapıştırma yalnızca zengin metin görünümlerinde çalışır.


Belirli bir stile sahip bir karakter ekleyin:

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

Yapıştırma tarzı:

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.