Có một cách phổ quát để viết các ký tự Unicode?


18

Đôi khi tôi muốn viết các ký tự Unicode đặc biệt, như em-dash (-), trong các chương trình khác nhau như vim, Chrome (như bây giờ!) Hoặc LibreOffice.

Trong LibreOffice, tôi có thể đạt được điều này thông qua một hộp thoại chuyên dụng được tìm thấy trong menu Chèn. Các chương trình khác dường như không có cách tích hợp. Giải pháp của tôi trong những trường hợp này là tìm kiếm ký tự trên Wikipedia, sao chép và dán nó vào.

Có một cách phổ biến để viết các ký tự Unicode trong bất kỳ chương trình nào chấp nhận nhập văn bản trong Linux mà không phải sao chép và dán từ nơi nào đó đã được in không?


Bạn có thể tìm kiếm "đầu vào Unicode" trên Wikipedia. Bây giờ được đề cập trong câu trả lời của tôi.
vinc17

Trong LibreOffice (và MS Office) cũng có một danh sách các thay thế tự động, như (C)-> ©. Rất thường xuyên, mọi người cấu hình --là en-dash và ---như em-dash.
Simon Richter

Is there a universal way...Không. (Tôi không biết cách "phổ quát" để làm bất cứ điều gì thông qua lập trình.)
user2338816 18/215

Câu trả lời:


14

Bạn có thể bật một Composephím hoặc bạn có thể nhấn CtrlShiftUtheo sau là số thập lục phân Unicode của ký tự (các số 0 đứng đầu có thể được bỏ qua). Ví dụ, Æ là CtrlShiftU, sau đó C6. Điều này hoạt động trên Gnome Terminal, Terminator, Google Chrome và một số ứng dụng khác, với Xterm (và theo nhận xét, Emacs) không hoạt động.

Trên Gnome, để bật Compose, hãy đi tới cài đặt Bàn phím, sau đó Phím tắtNhậpKhóa ký tự thay thế và ánh xạ nó tới một cái gì đó (giả sử Right Alt). Sau đó, bạn nhấn Composephím và - ba lần để nhận em-dash: -. (Các mũi tên trong đoạn này là tất cả Compose->.)

nhập mô tả hình ảnh ở đây


2
Giải pháp Ctrl + Shift + u không hoạt động trong Xterm và Emacs. Nó cũng không hoạt động trong Firefox.
vinc17

2
@ vinc17 nó hoạt động trong Firefox đối với tôi. Tôi không có Xterm hoặc Emacs để thử nghiệm.
muru

Hmmm, vâng, nó hoạt động trong Firefox, nhưng tôi phải gõ phím Space sau chuỗi thập lục phân. Trong mọi trường hợp, đây không phải là phổ quát, nhưng có lẽ là một tính năng được thêm bởi một số ứng dụng (hoặc một số trình quản lý cửa sổ?). Ngoài ra, nó không hoạt động trong Opera.
vinc17

AltGr chỉ là một công cụ sửa đổi để có được các tổ hợp phím bổ sung. Đây là những gì tôi sử dụng để nhập các ký tự được liệt kê trong câu trả lời của mình (ví dụ: Shift + AltGr + [give ←). Nhưng người dùng cũng có thể ánh xạ các ký tự đến các phím khác như phím chức năng; đây là những gì tôi làm để có được các ký tự có dấu tiếng Pháp: éèêëâîôûàùïç. Mọi thứ được thực hiện thông qua cài đặt XKB.
vinc17

@ vinc17 Tôi đã làm một thất bại sử thi. Tôi đã nói về Compose và nói AltGr thay thế.
muru

7

Cách tốt nhất vẫn là gõ ký tự trên bàn phím của bạn. Nhờ XKB , bạn có thể liên kết các ký tự Unicode tùy ý với các tổ hợp phím. Chẳng hạn, với tùy chỉnh XKB của người dùng , tôi có thể nhập trực tiếp: ← → ↓ € € ½ «» - - ± ≠ ∩ ∧ ∀ √ ∞ ≤, v.v.

Lưu ý: trong trường hợp cụ thể của GNU Emacs, thành phần Unicode có thể được thực hiện thông qua Ctrlx+ 8+ Return. Xem Ctrlx+ 8+ Ctrlhđể biết thêm phương pháp.

"Đầu vào Unicode" trên Wikipedia cung cấp thông tin về đầu vào Unicode ISO 14755 tùy thuộc vào ngữ cảnh, đặc biệt là X11 với một số bộ công cụ và cho các ứng dụng cụ thể (Emacs, Opera, Vim).

Ngoài ra, bạn có thể sử dụng Composekhóa với các cài đặt do người dùng xác định (vì các cài đặt mặc định còn lâu mới hoàn thành). Tài liệu được cung cấp bởi Compose(5)trang người đàn ông. Ví dụ, viết một tệp $HOME/.XComposecó chứa:

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

Các include "%L"dòng đầu tiên tải mặc định (bản địa đặc thù) tập tin Soạn, và bốn dòng tiếp theo thêm các thiết lập người dùng định nghĩa, chẳng hạn như: Compose+ [+ ccung cấp cho các nhân vật trái trần "⌈" (U + 2308).


Bạn không cần XKB để liên kết các ký tự Unicode với các tổ hợp phím, bạn cũng có thể làm điều đó với xmodmap. Bạn sẽ không thể đạt được tất cả các ký tự Unicode theo cách đó, có quá nhiều.
Gilles 'SO- ngừng trở nên xấu xa'

1
@Gilles xmodmap không mạnh bằng XKB và tôi đã gặp vấn đề với nó trong quá khứ . Do đó tôi chuyển sang XKB. Ngoài ra, tôi không sử dụng tất cả các ký tự Unicode. Đối với các ký tự hiếm, một bộ chọn trên màn hình có thể là giải pháp tốt nhất, bởi vì người ta có thể không biết mật mã của họ và cách nhập chúng.
vinc17

Tôi không hiểu làm thế nào để bạn nhập ∩ ∪ ⊂ ∧ với sáng tác. Phần còn lại «» € ö vv hoạt động. Nhưng không phải là các ký hiệu toán học.
Igor Chubin

@IgorChubin Tôi không sử dụng soạn thảo, chỉ ISO_Level3_Shift(còn gọi là AltGr). Tôi vừa chỉnh sửa câu trả lời của mình để đưa ra một liên kết đến trang web của tôi giải thích về tùy chỉnh XKB của người dùng .
vinc17

@ vinc17 Cảm ơn bạn, tôi sẽ đọc thêm về nó. Bạn có biết bất kỳ lợi thế của phương pháp này so với sáng tác?
Igor Chubin

2

Như được mô tả chi tiết trong bài đăng này , có một cách tuyệt vời để thêm các phím unicode mà không cần phải nhớ bất kỳ tổ hợp phím khó xử nào hoặc sử dụng bất kỳ menu thả xuống nào.

Nó sử dụng Autokey , có thể lấy bất kỳ tập hợp các nét chính nào làm trình kích hoạt để chạy tập lệnh hoặc dán cụm từ. Trong trường hợp này, cụm từ của bạn chỉ đơn giản là ký tự unicode bạn muốn.

Như bài viết mô tả, một cách tốt để làm điều đó là theo LaTeX, nhưng với một dấu gạch chéo về phía trước chứ không phải dấu gạch chéo ngược. Ví dụ: nhập / delta bất cứ nơi nào (trình duyệt, văn phòng libre, v.v.) sẽ tự động được chuyển đổi thành.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.