มีวิธีสากลในการเขียนอักขระ Unicode หรือไม่?


18

บางครั้งฉันต้องการเขียนอักขระ Unicode พิเศษเช่น em-dash (-) ในโปรแกรมต่าง ๆ เช่น vim, Chrome (เหมือนตอนนี้!) หรือ LibreOffice

ใน LibreOffice ฉันสามารถทำสิ่งนี้ผ่านกล่องโต้ตอบเฉพาะที่อยู่ในเมนูแทรก โปรแกรมอื่น ๆ ดูเหมือนจะไม่มีวิธีในตัว โซลูชันของฉันในกรณีเหล่านี้คือค้นหาตัวละครใน Wikipedia คัดลอกและวางไว้

มีวิธีสากลในการเขียนอักขระ Unicode ในโปรแกรมใด ๆ ที่ยอมรับการป้อนข้อความใน Linux โดยไม่ต้องคัดลอกและวางจากที่ที่มันถูกพิมพ์ไปแล้วหรือไม่?


คุณสามารถค้นหา "อินพุต Unicode" บน Wikipedia ตอนนี้กล่าวถึงในคำตอบของฉัน
vinc17

ใน LibreOffice (และ MS Office) นอกจากนี้ยังมีรายชื่อของการแทนโดยอัตโนมัติเช่น->(C) ©บ่อยครั้งที่ผู้คนกำหนดค่า--เป็น en-dash และ---em-dash
Simon Richter

Is there a universal way...ไม่ (ฉันไม่ทราบวิธี "สากล" ที่จะทำอะไรผ่านการเขียนโปรแกรม)
user2338816

คำตอบ:


14

คุณสามารถเปิดใช้งานComposeคีย์ได้หรือคุณสามารถกดCtrlShiftUตามด้วยหมายเลขเลขฐานสิบหกของอักขระ Unicode (เลขศูนย์นำหน้าสามารถข้ามได้) ยกตัวอย่างเช่น AE นั้นแล้วCtrlShiftU C6สิ่งนี้ใช้ได้กับเทอร์มินัล GNOME เทอร์มิเนเตอร์ Google Chrome และแอปพลิเคชันอื่น ๆ จำนวนมากโดยที่ Xterm (และตามความคิดเห็น Emacs) ไม่ทำงาน

ใน GNOME เพื่อเปิดใช้งานให้Composeไปที่การตั้งค่าแป้นพิมพ์จากนั้นทางลัด →การพิมพ์คีย์อักขระทางเลือกและจับคู่กับบางสิ่งบางอย่าง (พูดRight Alt) จากนั้นคุณกดComposeปุ่มและ- สามครั้งเพื่อรับ em-dash: - (ลูกศรในย่อหน้านี้มีทั้งหมดCompose->)

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


2
โซลูชัน Ctrl + Shift + u ไม่ทำงานใน Xterm และใน Emacs มันไม่ทำงานใน Firefox เช่นกัน
vinc17

2
@ vinc17 มันใช้งานได้ใน Firefox สำหรับฉัน ฉันไม่มี Xterm หรือ Emacs ที่จะทำการทดสอบ
muru

อืมใช่มันใช้งานได้ใน Firefox แต่ฉันต้องพิมพ์ปุ่ม Space ตามลำดับเลขฐานสิบหก ไม่ว่าในกรณีใด ๆ สิ่งนี้ไม่เป็นสากล แต่อาจเป็นคุณสมบัติที่เพิ่มโดยแอพพลิเคชั่นบางตัว (หรือตัวจัดการหน้าต่างบางตัว?) นอกจากนี้มันไม่ทำงานใน Opera
vinc17

AltGr เป็นเพียงตัวแก้ไขเพื่อรับคีย์ผสมเพิ่มเติม นี่คือสิ่งที่ฉันใช้เพื่อป้อนอักขระที่แสดงในคำตอบของฉัน (เช่น Shift + AltGr + [ให้←) แต่ผู้ใช้ยังสามารถแมปอักขระกับปุ่มอื่น ๆ เช่นปุ่มฟังก์ชัน นี่คือสิ่งที่ฉันทำเพื่อให้ได้สำเนียงฝรั่งเศส: éèêëâîôûàùïç ทุกอย่างทำผ่านการตั้งค่า XKB
vinc17

@ vinc17 ฉันทำมหากาพย์ล้มเหลว ฉันกำลังพูดถึงเขียนและพูด AltGr แทน
muru

7

วิธีที่ดีที่สุดยังคงพิมพ์อักขระบนคีย์บอร์ดของคุณ ขอบคุณXKBคุณสามารถผูกอักขระ Unicode โดยพลการกับคีย์ผสม ตัวอย่างเช่นด้วยการปรับแต่ง XKB ของผู้ใช้ฉันสามารถพิมพ์โดยตรง: ←→↑↓…€½«» - - ±≠∩∩∪∧∀∞∞≤ etc. etc. ฯลฯ

หมายเหตุ: ในกรณีพิเศษของ GNU Emacs องค์ประกอบ Unicode สามารถทำได้ผ่านทางCtrlx+ +8 ReturnดูCtrlx+ 8+ Ctrlhสำหรับวิธีการเพิ่มเติม

"อินพุต Unicode" บน Wikipediaให้ข้อมูลเกี่ยวกับ ISO 14755 อินพุต Unicode ขึ้นอยู่กับบริบทโดยเฉพาะอย่างยิ่งสำหรับ X11 ที่มีชุดเครื่องมือและแอปพลิเคชั่นเฉพาะ (Emacs, Opera, Vim)

หรือคุณสามารถใช้Composeปุ่มพร้อมการตั้งค่าที่ผู้ใช้กำหนด (เนื่องจากการตั้งค่าเริ่มต้นนั้นไม่สมบูรณ์) เอกสารจัดทำโดยCompose(5)หน้าคน ตัวอย่างเช่นเขียนไฟล์$HOME/.XComposeที่มี:

include "%L"
<Multi_key> <bracketleft> <c>           : "⌈" U2308 # LEFT CEILING
<Multi_key> <bracketright> <c>          : "⌉" U2309 # RIGHT CEILING
<Multi_key> <bracketleft> <f>           : "⌊" U230A # LEFT FLOOR
<Multi_key> <bracketright> <f>          : "⌋" U230B # RIGHT FLOOR

include "%L"สายโหลดครั้งแรกเริ่มต้น (เฉพาะสถานที่) ไฟล์เขียนและสี่บรรทัดถัดไปเพิ่มการตั้งค่าที่ผู้ใช้กำหนดเช่น: Compose+ [+ cจะช่วยให้ตัวละครที่เหลือเพดาน "⌈" (U + 2308)


คุณไม่จำเป็นต้องใช้ XKB ในการผูกอักขระ Unicode กับชุดคีย์คุณยังสามารถทำได้ด้วย xmodmap คุณจะไม่สามารถเข้าถึงอักขระ Unicode ทั้งหมดในแบบที่มีอยู่มากเกินไป
Gilles 'หยุดชั่วร้าย'

1
@Gilles xmodmap ไม่ได้ประสิทธิภาพเท่า XKB และฉันมีปัญหากับมันในอดีต ดังนั้นฉันเปลี่ยนเป็น XKB ยิ่งกว่านั้นฉันไม่ได้ใช้อักขระ Unicode ทั้งหมด สำหรับตัวอักษรที่หายากตัวเลือกบนหน้าจออาจเป็นทางออกที่ดีที่สุดเนื่องจากอาจไม่รู้จัก codepoint และวิธีการป้อน
vinc17

ฉันไม่เข้าใจคุณป้อน∩∪⊂∧∨∀ด้วยการเขียนได้อย่างไร ส่วนที่เหลือ«»€₤ö ฯลฯ ใช้งานได้ แต่ไม่ใช่สัญลักษณ์ทางคณิตศาสตร์
Igor Chubin

@IgorChubin ฉันไม่ได้ใช้เขียนเพียงISO_Level3_Shift(aka AltGr) ฉันเพิ่งแก้ไขคำตอบของฉันเพื่อให้การเชื่อมโยงไปยังหน้าเว็บของฉันอธิบายการปรับแต่งการใช้ XKB
vinc17

@ vinc17 ขอบคุณฉันจะอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ คุณรู้ข้อดีของวิธีนี้เมื่อเปรียบเทียบกับการแต่งหรือไม่
Igor Chubin

2

ตามที่อธิบายรายละเอียดในโพสต์นี้มีวิธีที่ดีในการเพิ่มคีย์ unicode โดยไม่ต้องจำคีย์ผสมที่น่าอึดอัดใจหรือใช้เมนูแบบเลื่อนลงใด ๆ

มันลดระดับลงมาที่การใช้Autokeyซึ่งสามารถตั้งค่าการกดปุ่มใด ๆ เป็นทริกเกอร์เพื่อเรียกใช้สคริปต์หรือวางวลี ในกรณีนี้วลีของคุณเป็นเพียงตัวอักษร Unicode ที่คุณต้องการ

ตามที่โพสต์อธิบายวิธีที่ดีที่จะทำคือติดตาม LaTeX แต่ใช้เครื่องหมายทับซ้ายแทนแบ็กสแลช ตัวอย่างเช่นการพิมพ์ / เดลต้าที่ใดก็ได้ (เบราว์เซอร์สำนักงาน libre ฯลฯ ) จะถูกแปลงเป็นδโดยอัตโนมัติ

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