ใน Keynote มีวิธีใดบ้างในการกำหนดแป้นพิมพ์ลัดเพื่อเลือกแบบอักษรที่ต้องการ


6

ฉันกำลังเขียนชุดการบรรยายที่ฉันใช้แบบอักษรอื่นเพื่อระบุรหัส มีวิธีใดบ้างในการกำหนดแป้นพิมพ์ลัด / คีย์ผสมใหม่เพื่อเลือกแบบอักษรสองแบบที่ฉันต้องการ


คุณควรยอมรับคำตอบของ jm666 มันยอดเยี่ยมมากและฉันสงสัยอย่างมากว่าคุณจะได้รับสิ่งที่ดีกว่า
CajunLuke

นอกจากนี้: ถ้าคุณใช้ Eclipse เป็น IDE ของคุณมันจะวางโค้ดที่คัดลอกไปยังคลิปบอร์ดในรูปแบบข้อความที่มีตัวอักษรที่คุณใช้ใน Eclipse และเน้นไวยากรณ์แบบเต็มนอกเหนือจากข้อความธรรมดาธรรมดา
CajunLuke

@CajunLuke - มันเป็นคำตอบที่ดี แต่ก็ไม่ได้ผลในทางปฏิบัติ คำตอบอื่นทำงานได้โดยตรง นอกจากนี้ฉันไม่รู้ว่า Eclipse คืออะไรหรือเพราะเหตุใดฉันจึงใช้กับ Keynote
keflavich

คำตอบ:


3

ฉันไม่พบวิธีแก้ไขรูปแบบการเลือก แต่คุณสามารถใช้การเขียนสคริปต์ UI เพื่อเลือกแบบอักษรจากแถบรูปแบบ

tell application "System Events" to tell process "Keynote"
    tell pop up button 1 of window 1
        click
        click menu item "Menlo" of menu 1
    end tell
end tell

คุณสามารถกำหนดทางลัดให้กับสคริปต์ด้วยFastScriptsหรือโดยการสร้างบริการ Automator


สำหรับฉันอย่างน้อยมันก็เป็นpop up button 2 of window 1เช่นนั้น แต่งานนี้
keflavich

11

ฉันไม่รู้วิธีง่าย ๆ แต่ (ตามปกติ) Automator และการเขียนสคริปต์สามารถให้ความช่วยเหลือได้บ้าง

แนวคิดพื้นฐานคือ:

  • คุณเขียนข้อความด้วยแบบอักษรเริ่มต้นของ Keynote
  • เลือกข้อความ
  • กดปุ่มลัด - สิ่งนี้จะเรียกใช้สคริปต์ Automator และแทนที่แบบอักษรสำหรับข้อความที่เลือก

ดังนั้นเพื่อให้งานนี้:

  1. เริ่ม Automator
  2. เลือกประเภท "บริการ"
  3. ที่ด้านบนสุดเปลี่ยน "text" เป็น "rich text" และตั้งค่าช่องทำเครื่องหมาย "Output replaces ... "
  4. จากห้องสมุดในด้านซ้ายลากไปทางด้านขวาการกระทำดังต่อไปนี้ (คุณสามารถใช้ช่องค้นหาเพื่อค้นหาการกระทำที่จำเป็นได้อย่างรวดเร็ว)
    • "คัดลอกไปยังคลิปบอร์ด"
    • "Run Shell Script" (และทำเครื่องหมายที่ช่อง "ไม่สนใจอินพุตของการกระทำนี้" ในตัวเลือกของการกระทำ)
    • "รับเนื้อหาของคลิปบอร์ด"

ลงในแอ็คชัน "Run Shell Script" ให้ป้อน:

pbpaste -Prefer rtf | textutil -stdin -convert rtf -font 'Menlo' -fontsize 32 -stdout | pbcopy

แทนที่Menloด้วยชื่อแบบอักษรที่คุณต้องการและเปลี่ยนเป็น32ขนาดที่ต้องการ

ทั้งหมดข้างต้นนั้นฟังดูซับซ้อน แต่มันเร็วกว่าที่จะทำตามที่ได้อ่านข้างต้น ;) หน้าจอ Automator ของคุณควรมีลักษณะอย่างไรเมื่อคุณทำตามขั้นตอนข้างต้น

ภาพ

บันทึกและตั้งชื่อบริการเช่น "SetMyFont" ตอนนี้คุณมี "บริการ" ใหม่ดังนั้นลองตรวจสอบ:

  • เริ่ม Keynote (หรือ TextEdit หรือโปรแกรมใด ๆ ที่คุณต้องการใช้บริการนี้ใน)
  • เลือกข้อความที่คุณต้องการเปลี่ยนแบบอักษร
  • ไปที่เมนู: Keynote -> Services และเลือกบริการที่คุณตั้งชื่อไว้ก่อนหน้านี้เช่น "SetMyFont"
  • ข้อความที่คุณเลือกควรปรากฏในแบบอักษรใหม่

หากบริการใช้งานได้แล้วคุณควรเพิ่มฮอตคีย์ทั่วโลกสำหรับบริการนี้:

  • ไปที่การตั้งค่าระบบ -> แป้นพิมพ์ -> แป้นพิมพ์ลัด
  • ในแท็บ "บริการ" ค้นหาชื่อบริการของคุณเช่น "SetMyFont" ควรอยู่ในกลุ่ม "ข้อความ"
  • เลือกช่องทำเครื่องหมายและเพิ่มทางลัด (ดูภาพหน้าจอ)

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

  • และคุณทำเสร็จแล้ว!

การตั้งค่าค่อนข้างซับซ้อน แต่ใช้งานได้และเมื่อคุณมีข้อความจำนวนมากมันสามารถเพิ่มความเร็วในการจัดรูปแบบได้เล็กน้อย

(ใครบางคนอาจแนะนำวิธีแก้ปัญหาที่ง่ายกว่ามากโดยใช้ AppleScript โดยตรงกับ Keynote)

เมื่อคุณทำงานเสร็จแล้วและไม่ต้องการบริการอีกต่อไปคุณสามารถลบ "SetMyFont.workflow" ออกจาก~/Library/Servicesหรือยกเลิกการเลือกที่ช่องทำเครื่องหมายในบานหน้าต่างการตั้งค่าแป้นพิมพ์


เหตุใดจึงต้องใช้คลิปบอร์ดในเวิร์กโฟลว์และไม่ใช้ stdin / stdout โดยตรง
cajwine

1
เพราะเหตุผลบางอย่างของแอปเปิ้ล (ไม่ชัดเจน) การกระทำ "เชลล์สคริปต์" ยอมรับ (และสร้าง) เท่านั้น "ข้อความธรรมดา" และไม่ใช่ "rtf" ดังนั้นต้องผ่าน rtf ไปยัง / จากเชลล์สคริปต์ผ่านคลิปบอร์ดและ pbcopy / pbpaste
jm666

1
ฉันให้มันทำงานบน 10.7 แต่มันเปลี่ยนสีตัวอักษรด้วย มีวิธีใดที่จะรักษาคุณสมบัติข้อความอื่น ๆ ทั้งหมดและเปลี่ยนแบบอักษรเท่านั้น?
keflavich

1
น่าเสียดายที่ไม่ทราบวิธีแก้ไขสิ่งที่รักษารูปแบบใด ๆ คุณสามารถทำอะไรรับข้อความและตั้งค่าคุณสมบัติการจัดรูปแบบพื้นฐานบางอย่างเช่นขนาดตัวอักษรชื่อ ด้วยการปรับเปลี่ยนขนาดเล็กก็สามารถตั้งค่าสีได้เช่นกัน แต่คุณต้องรู้รหัส RDB สีหรือชื่อ
jm666

1
pbpaste และ pbcopy ไม่เก็บอักขระ Unicode ในสภาพแวดล้อมเริ่มต้นของ Automator คุณสามารถแก้ไขได้โดยเพิ่มexport LC_CTYPE=UTF-8;ลงในจุดเริ่มต้น (Terminal และ iTerm ตั้ง LC_CTYPE ให้เป็น UTF-8 โดยค่าเริ่มต้น.)
Lri

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