Mac OSX'te belirli bir metin ifadesini yapıştırmak için kısayol tuşu veya klavye kısayolu oluşturma


21

Birden çok uygulamada sık kullandığım bir metin deyimim var (aslında birkaç aşama). Sürekli olarak kopyalamak yerine imlecimi bir metin giriş alanına (Apple Mail, Microsoft Word, TextEdit, TextWrangler, tarayıcı pencereleri vb.) Yerleştirdiğim her yere bu metin ifadesini yapıştıracak bir klavye kısayolu veya kısayol tuşu oluşturmak istiyorum. yapışkan nottan yapıştırma.

Ücretsiz uygulamalar iyi olsa da, herhangi bir uygulama satın almamayı tercih ederim (Keyboard Maestro'nun bu işlevselliğe sahip olduğu, ancak bunun için 36 $ ödemesi aptalca görünüyor). Sistem Tercihleri> Klavye> Klavye Kısayolları'na bakmayı denedim, ancak belirgin bir çözüm yok ve bulduğum tüm AppleScripts benim için düzgün bir şekilde tercüme edilmiyor gibi görünüyor. Bu sorun için bu forumda Windows kullanıcıları (AutoHotKey gibi) için başka çözümler buldum, ancak Mac kullanıcıları için yok.

Yanıtlar:


16

AppleScript ile metin yazmanın en kolay yolu:

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

Automator'da yeni bir Hızlı İşlem (önceden Hizmet olarak adlandırılıyordu ) oluşturarak bunu klavye kısayoluyla tetikleyebilirsiniz . Giriş Yok alacak şekilde ayarlayın ve ardından Run AppleScript'i sol bölmeden sağa sürükleyin .

Şöyle görünmelidir:

Kaydedin ve ardından Sistem Tercihleri ​​»Klavye» Klavye Kısayolları altında bu Servis'e bir klavye kısayolu atayın .


Vay canına, çok teşekkürler @slhck! Bunu denedim ama son adımda sorun yaşıyorum. Sistem Tercihleri'nde "Klavye Kısayolları" na gittiğimde "Hizmetler" menüsünde görünmüyor. Çalıştığını biliyorum çünkü Automator'u açıp Play'e bastığımda metin önceki uygulamada yazılıyor, ancak hizmette görünmeyecek, böylece Kütüphane> Hizmetler klasörüne kaydetmiş olmama rağmen bir klavye kısayolu ekleyebiliyorum . Googled yaptığım diğer forumların tavsiyesinde, hizmet girişinin "Hizmet alındı: giriş yok" (ayarlanmış) olarak ayarlandığını iki kez kontrol ettim ve Finder'ı yeniden başlatmayı denedim. Düşüncesi olan var mı?
Ruthie

Automator'dan mı kurtardın? Normalde altında Klavye'nin Kısayollar seçenekleri görünmelidir Hizmetleri ve Genel altta. Oturumu kapatıp tekrar açmayı ve hatta yeniden başlatmayı denediniz mi?
slhck

@slhck, bunu yapmak için harika bir yol gibi görünüyor, ancak cevabınızı biraz daha ayrıntılı olarak açıklayabilir misiniz? Automator'un çalışma şekliyle akıcı değilim, başlattığımda bana "belgeniz için bir tür seçti" diye soruyor ve sonra biraz kayboldum. Şimdilik Jonathan Huie'nin cevabı ile gideceğim ama yine de bir şeyler yazmayı ima ediyorum ... Teşekkürler!
MicroMachine

@fabriced Automator'da bir Hizmet oluşturmanız gerekir .
slhck

2
Bunun bir metin düzenleyicide çalıştığını, ancak bir web sitesindeki metin alanında çalışmadığını görüyorum. Başkası var mı?
Eliot

6

keystrokeKomut yalnızca geçerli klavye düzeni bulunur karakterleri girmek için kullanılabilir, ve metnin uzun dizeleri için görünür bir gecikme vardır. Ayrıca doğrudan metin ekleyebilirsiniz:

Bu yöntem de gerçekten kullanışlı değil. 10.7 ve 10.8'de, Automator hizmetleri kısayollarının, hizmetler menüsünün üzerine gelinceye kadar her zaman çalışmadığı bir hata vardır.

Bu komut dosyasını F3'e atamak için FastScripts kullandım :

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 şöyle görünür:

m name@example.com
cmd ⌘

Başka bir seçenek DefaultKeyBinding.dict kullanmaktır . Bu, ⌥M veya ⌥X yapar ve m bir e-posta adresi ekler:

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

Tuşları basılı tutarken gösterilen popo'lara özel metin de ekleyebilirsiniz. Bu soruya bakın .


2

"Yazarken - tanımlı içeriğe genişletilecek - bu durumda gerçek tarih gibi @dd gibi metin ifadelerini tanımlayabilme yeteneği veren" Textexpander "adlı bir Uygulamaya göz atın .

AFAIK bu Shareware. Yani aslında ücretsiz değil ama demo modu zamanlanmış değil.


Diğerleri için yararlı olması durumunda kısa bir not - TextExpander, X11 terminal pencerelerinde çalışmaz.
ggkmath

2

Alfred uygulaması , İş Akışı ve Parçacıklar özelliklerini kullanarak bunu yapmanıza ve başka birçok şey yapmanıza olanak tanır. Alfred'i her zaman kullanıyorum ve kesinlikle tavsiye ederim. İş Akışlarının kilidini açmak için bir Powerpack lisansı ödemeniz gerekir, ancak pişman olmazsınız. 😉


Katılıyorum, bu Mac sahip herkesin olması gereken en yararlı uygulamalardan biridir. Özel Automator servislerinden Alfred'e tamamen geçtim.
slhck

1

Tıklayın: Sistem Tercihleri, Klavye, Metin ve kısayolunuzu ve ifadenizi girin


1
Bu yanıtı seviyorum, ama gerçekten "klavye kısayolu" veya "kısayol tuşu" izin vermez, biri hala makine tarafından değiştirilir bir metin (ve tuş kombinasyonu değil) girmek zorunda.
MicroMachine

1
Bu yalnızca birkaç seçili uygulamada işe yarıyor gibi görünüyor. İstediğim birçok yerde çalışmaz, örneğin tarayıcı giriş alanları, posta istemcim (Thunderbird), Terminal, vb.
Panik

0

Mars Klavye olarak adlandırılan ayrı bir klavye, cümleler ve hatta kısa paragraflar gibi metin dizelerini tutacaktır. Gün geçtikçe tekrar tekrar yazdığınız can sıkıcı rahatsız edici tuş vuruşlarını yazmaktan kurtaracak. Anahtarlar "yapıştır" tuşları gibi çalışır. Vardiya katmanı tuşlarını kullanarak Word'deki tüm kısayolları tek bir klavyede saklayabilir. Esas olarak profesyonel kullanım içindir, bu yüzden biraz pahalıdır.

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.