การแปลงข้อความที่บันทึกไว้
การแปลงข้อความคือชุดกฎค้นหาและแทนที่ขนาดเล็กที่คุณบันทึกไว้แล้วเลือกใช้เมื่อต้องการ เช่น จัดระเบียบข้อความที่วาง เรียงรายการ ลบช่องว่างท้ายบรรทัด หรือครอบข้อความด้วยเครื่องหมายเปิดและปิดบล็อกโค้ด เลือกการแปลงจากเมนู Format ดูตัวอย่างสิ่งที่จะเปลี่ยน แล้วจึงตัดสินใจว่าจะใช้หรือไม่
Settings อธิบายไว้อย่างชัดเจนว่าเป็น “กฎค้นหาและแทนที่ที่บันทึกไว้ รวมถึงคำสั่งจัดการข้อความในตัวบางอย่าง สิ่งเหล่านี้ไม่ใช่สคริปต์: Varlig จะไม่เรียกใช้คำสั่งเชลล์ ปลั๊กอิน หรือคำขอเครือข่ายเพื่อทำการแปลง และจะไม่ใช้การแปลงเอง ไม่ว่าจะตอนนำเข้า วางข้อความ หรือเปิดโน้ต คุณต้องเลือกจาก Format ▸ Transformations และจะได้ดูการเปลี่ยนแปลงก่อนนำไปใช้เสมอ”
ตำแหน่งของคำสั่ง
รายการอยู่ใน Settings › Editor › Text Transformations และเริ่มต้นเป็นรายการว่าง เมื่อยังไม่ได้เพิ่มรายการ Format › Transformations จะแสดง No Transformations และจะไม่มีการแปลงทำงานในส่วนใดเลย
Add Transformation เริ่มต้นหนึ่งรายการ ชื่อ Transformation และมีกฎ Find and Replace เพียงกฎเดียว การแปลงแต่ละรายการมี:
| ช่อง | การทำงาน | ค่าเริ่มต้น |
|---|---|---|
| Name | ชื่อที่แสดงในเมนู Format | Transformation |
| Applies to | Selection หรือ Whole Note | Selection |
| Show in Format menu | กำหนดว่าจะแสดงใน Format › Transformations หรือไม่ | เปิด |
| กฎ | Add Rule เพิ่มกฎ ส่วน Remove Last Rule ลบกฎสุดท้าย | Find and Replace หนึ่งกฎ |
แต่ละแถวในรายการยังมีปุ่มสําหรับทําซ้ําและปุ่มสําหรับลบ
การแปลงที่ยังตั้งค่าไม่สมบูรณ์ เช่น ไม่มีชื่อ ไม่มีกฎ หรือมีรูปแบบที่คอมไพล์ไม่ได้ จะถูกทำเครื่องหมายพร้อมเหตุผลใน Settings และจะไม่แสดงใน Format › Transformations จนกว่าคุณจะแก้ไข
รูปแบบการแปลงข้อความที่บันทึกไว้ซิงค์ระหว่าง Mac, iPhone และ iPad ผ่าน iCloud บน Mac ให้เปิด Sync notes with iCloud แต่ละอุปกรณ์เก็บสำเนาในเครื่องไว้ในการตั้งค่า จึงยังใช้การแปลงได้แบบออฟไลน์ แต่ข้อมูลนี้ไม่รวมอยู่ในไฟล์ส่งออกโน้ตหรือข้อมูลสำรองของคลัง
กฎ
กฎทำงานตามลำดับ โดยแต่ละกฎรับผลลัพธ์จากกฎก่อนหน้า ไม่มีเงื่อนไขหรือการแยกเส้นทางการทำงาน
| กฎ | การทำงาน |
|---|---|
| Find and Replace | ข้อความที่ค้นหาตรงตามตัวอักษร พร้อมตัวเลือก Match Case และ Whole Words (ปิดทั้งคู่เป็นค่าเริ่มต้น) |
| Regular Expression | รูปแบบ ICU โดยใช้ $1 และ ${name} ในข้อความแทนที่เพื่ออ้างถึงกลุ่มที่จับไว้ |
| UPPERCASE | เปลี่ยนข้อความเป็นตัวพิมพ์ใหญ่ |
| lowercase | เปลี่ยนข้อความเป็นตัวพิมพ์เล็ก |
| Title Case | เปลี่ยนตัวแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ |
| Sort Lines | เรียงลำดับบรรทัด |
| Unique Lines | เมื่อมีบรรทัดซ้ำกัน เก็บไว้เฉพาะบรรทัดแรก |
| Trim Trailing Spaces | ลบช่องว่างที่ท้ายแต่ละบรรทัด |
| Join Lines | เชื่อมบรรทัดด้วยข้อความที่กำหนดใน Separator |
| Split Lines | แยกข้อความตรงตำแหน่งที่ตรงกับค่าใน Split at โดยให้แต่ละส่วนอยู่คนละบรรทัด |
| Wrap in Code Fence | ใส่ข้อความในบล็อกโค้ดที่มีเครื่องหมายเปิดและปิด โดยใช้ภาษาที่กำหนดใน Language |
กฎเป็นเพียงชุดค่า ไม่ใช่โค้ด นิพจน์ปรกติจะถูกคอมไพล์และตรวจสอบด้วยกลไกเดียวกับ Edit › Find and Replace (Advanced)… หากรูปแบบคอมไพล์ไม่ได้ Settings จะแสดงข้อผิดพลาดก่อนที่คุณจะนำไปใช้
ใช้คำสั่งแปลงข้อความ
บน Mac เรียกใช้การแปลงจาก Format › Transformations › name ส่วนบน iPhone และ iPad ใช้เมนู Transformations ในตัวแก้ไข การแปลงไม่มีปุ่มลัดและจะไม่ทำงานเองเมื่อเปิดโน้ต นำเข้า วางข้อความ หรือปล่อยแอปไว้เบื้องหลัง
หากตั้ง Applies to เป็น Selection ให้เลือกข้อความก่อน หากเลือก Whole Note การแปลงจะครอบคลุมทั้งโน้ต
Varlig ใช้กฎกับสำเนาข้อความ แล้วแสดงหน้าต่างตัวอย่างที่มีรายการ Removes 4 lines และ Inserts 4 lines โดยแสดงเฉพาะส่วนที่แตกต่างกันจริง สูงสุดฝั่งละ 40 บรรทัด และแจ้งเมื่อยังมีบรรทัดเพิ่มเติม ข้อความด้านล่างระบุว่า “การนำไปใช้สามารถเลิกทำได้ในขั้นตอนเดียว จะยังไม่มีอะไรเปลี่ยนจนกว่าคุณจะกด Apply” Cancel จะคงโน้ตไว้ตามเดิม ส่วน Apply จะทำการเปลี่ยนแปลงเป็นการแก้ไขครั้งเดียว ซึ่งย้อนกลับได้ในขั้นตอนเดียวด้วย Edit › Undo (⌘Z)
หากโน้ตเปลี่ยนไปหลังจากสร้างตัวอย่าง Apply จะไม่ดำเนินการ และขอให้เรียกใช้ใหม่เพื่อไม่ให้เขียนทับข้อความล่าสุด
เมื่อคำสั่งแปลงข้อความทำงานไม่ได้
เมื่อเกิดข้อผิดพลาด โน้ตจะคงเดิมทุกประการ ไม่มีการแปลงที่ทำไปเพียงบางส่วน แต่ละกรณีจะแจ้งสิ่งที่เกิดขึ้นโดยไม่แก้ไขข้อความ:
- “ไม่สามารถใช้การแปลงกับโน้ตที่มีการป้องกัน โน้ตแบบอ่านอย่างเดียว หรือโน้ตในถังขยะได้” ข้อจำกัดเดียวกันนี้ใช้กับคลังแบบอ่านอย่างเดียวด้วย
- “พบข้อความที่ตรงกันมากกว่า 10,000 ตำแหน่งในกฎเดียว โปรดจำกัดขอบเขตการแปลงให้แคบลง”
- “การแปลงใช้เวลานานเกินไป โปรดลดความซับซ้อนของกฎหรือใช้ขอบเขตที่เล็กลง”
- “การแปลงนี้ไม่ทำให้ข้อความส่วนนี้เปลี่ยนแปลง”
- ข้อความแจ้งเตือนจะระบุปัญหาแต่ละกรณี เช่น กฎมีรูปแบบไม่ถูกต้อง ไม่พบกลุ่มจับข้อความ หรือไม่ได้ระบุข้อความที่จะค้นหา การแปลงไม่มีชื่อหรือไม่มีกฎ หรือเรียกใช้การแปลงแบบ Selection โดยไม่ได้เลือกข้อความไว้
ขีดจํากัด
| รายการ | ขีดจำกัด |
|---|---|
| คำสั่งแปลงข้อความที่บันทึกไว้ | 50 |
| จำนวนกฎในคำสั่งแปลงข้อความหนึ่งคำสั่ง | 20 |
| จำนวนผลที่ตรงกันในหนึ่งกฎ | 10,000 |
| เวลาสำหรับการแปลงข้อความทั้งคำสั่ง | 1.5 วินาที |
ไม่มีการแสดงตัวอย่างการแปลงคราวละหลายโน้ต หากต้องการแก้ไขหลายโน้ตพร้อมกัน ให้ใช้ Edit › Replace in Notes… ซึ่งแสดงตัวอย่างการเปลี่ยนแปลงแยกสำหรับแต่ละโน้ต
การแปลงจะสร้างเพียง Markdown มาตรฐาน จึงไม่มีข้อความรูปแบบเฉพาะของ Varlig โปรแกรมแก้ไขอื่นจะอ่านสิ่งที่ Varlig บันทึกไว้ได้ตรงกันทุกประการ