Cách dễ nhất để chèn các ký tự Unicode vào tài liệu là gì?


28

Khi viết tài liệu thỉnh thoảng tôi muốn chèn các ký tự Unicode vào văn bản. Đôi khi tôi biết mã ký tự và đôi khi tôi tìm nó trên web.

Hiện tại tôi vào chế độ chèn rồi sử dụng <Ctrl-V>u{four digit hex number}, có thể rất tốn công sức. Có cách nào dễ dàng hơn để chèn các ký tự (có thể là một số hình thức dán)?


Câu hỏi khác thực sự là một "trường hợp đặc biệt" của câu hỏi chung chung hơn này; các câu trả lời sẽ giống nhau ... Nhận xét của tôi cũng được áp dụng: Sử dụng các tiện ích của hệ điều hành của bạn (bất kể chúng có thể là gì) hoặc một số chương trình toàn hệ điều hành khác (để kiểm tra khi tôi sử dụng Windows, tôi thích sử dụng AllChars mô phỏng X11 Khóa soạn thảo, nó hoạt động trong tất cả các chương trình).
Martin Tournoij

Vâng, đó là một trường hợp đặc biệt và các câu trả lời là chuyên ngành cho nó. Bạn không nghĩ rằng có thể có một giải pháp tổng quát hơn bao gồm nhiều điều hơn mà mọi người không xem xét khi xem xét trường hợp đặc biệt.
Martin York

Chúng ta cũng có thể làm cho câu hỏi đó chung chung hơn, hoặc đánh dấu rằng một bản sao của câu hỏi này (mặc dù nó đã sớm hơn); Tôi không thực sự quan tâm như vậy . Nhưng tôi không nghĩ rằng có cả hai câu hỏi vì nó sẽ giúp ích cho bất kỳ ai về lâu dài :-)
Martin Tournoij

Nếu tôi có thể kiểm soát thế giới. Có lẽ chúng ta nên để nó tồn tại trong một hoặc hai ngày vì vậy nếu nó thu thập bất kỳ câu trả lời độc đáo nào có thể phân biệt nó với câu hỏi khác. Nếu nó vẫn chưa được trả lời hoặc câu trả lời chỉ là trùng lặp thì đóng / xóa nó.
Martin York

Được rồi .. Tôi chắc chắn đồng ý các câu hỏi khác không có lớn câu trả lời và câu hỏi này nên thu hút những người tốt hơn (hy vọng) ... Việc chỉnh sửa câu hỏi khác (để làm cho nó chung chung hơn) vẫn lá nó với một loạt các upvoted cao câu trả lời chỉ liên quan đến dấu gạch ngang, vì vậy cũng không tuyệt lắm ... Vì vậy, tôi đã rút lại phiếu bầu gần gũi của mình, và ngay khi nhận được một số câu trả lời đàng hoàng, tôi sẽ bỏ phiếu cho người khác. nó đã sớm hơn) ... Tất nhiên tôi không thể kiểm soát những gì người khác chọn để bỏ phiếu.
Martin Tournoij

Câu trả lời:


23

Lời nói đầu : Điều này không liên quan gì đến Vim, nhưng tôi sẽ cho bạn thấy những gì tôi cho là cách "tốt nhất" để chèn các ký tự này cho đến nay; Hệ thống máy in của Vim ít nhiều giống nhau, nhưng nó chỉ hoạt động với Vim. Điều này sẽ làm việc trong tất cả các ứng dụng.

Điều này sẽ chỉ hoạt động cho các hệ thống X11 (Linux, BSD, v.v.). Đối với Windows, có AllChars . Nó đã không được cập nhật trong một thời gian, nhưng tôi có thể xác nhận rằng nó hoạt động tốt với Windows 7 (đã sử dụng nó trong công việc trước đây của tôi). Tôi tin rằng OS X cũng có các phương tiện tốt để thực hiện việc này được xây dựng trong HĐH; nếu bạn sử dụng OS X, tôi khuyến khích bạn kiểm tra chúng, nhưng vì tôi chưa bao giờ thực sự sử dụng OS XI nên bạn không thể chỉ cho bạn biết.

Dưới đây là (một phần) của một bài viết weblog dự thảo mà tôi có trong đường ống dẫn. Thật không may, một hướng dẫn thực sự toàn diện không tồn tại (chưa) và bên dưới không mô tả tất cả các tính năng mà nó cung cấp (ví dụ: một số phần về khóa chết bị thiếu) và có thể được viết tốt hơn ở một số phần, nhưng tôi nghĩ rằng nó vẫn "đủ hữu ích".


Một 'trình tự soạn thảo' đang nhấn Composephím và sau đó một hoặc nhiều ký tự để tạo ra một số ký tự không tìm thấy trên bàn phím của bạn, ví dụ, nhấn Compose, ngay lập tức theo sau "acó thể tạo ra một ä.

Theo mặc định, Composekhông bị ràng buộc với bất kỳ khóa 1 ; AltKhóa phải (aka. Alt Gr) thường được sử dụng, nhưng bạn đặt phím này thành bất kỳ khóa nào bạn muốn.

Đặt nó bằng xmodmap

Bạn có thể sử dụng xmodmap để thiết lập điều này:

$ xmodmap -e 'keysym Alt_R = Multi_key'     # Set it right Alt
$ xmodmap -e 'keysym Caps_Lock = Multi_key' # Set it to Caps Lock
$ xmodmap -e 'keysym F12 = Multi_key'       # You're free to use *any* key, like F12

Bạn có thể muốn thêm phần này vào ~/.Xmodmaptệp 2 của mình :

! Set compose key
keysym Alt_R = Multi_key

Đặt nó bằng XKB

Bạn cũng có thể đặt khóa soạn thảo dưới dạng tùy chọn thành XKB với setxkbmap:

setxkbmap -option compose:ralt  # Right alt
setxkbmap -option compose:caps  # Caps Lock

Để thực hiện những điều này vĩnh viễn, hãy thêm lệnh vào tệp khởi động X của bạn hoặc cách khác, bạn cũng có thể đặt nó vào /etc/X11/xorg.conf:

Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    Option "XkbOptions" "compose:ralt"
    #Option "XkbOptions" "compose:caps"
EndSection

Hoặc, theo phong cách 'hiện đại' hơn, bạn có thể tạo một tệp /etc/X11/xorg.conf.d/90-compose.conf:

Section "InputClass"
    Identifier "Set compose key"
    MatchIsKeyboard "on"
    Option "XkbOptions" "compose:ralt"
EndSection

Có thể tìm thấy danh sách các giá trị có thể có trong xkeyboard-config(7)phần 'Vị trí của khóa soạn thảo' 3 .

Thiết lập các phím chết

Khóa chết chủ yếu được sử dụng để thêm dấu hoặc dấu phụ vào một chữ cái (chẳng hạn như âm sắc, trọng âm, v.v.), mặc dù nó có thể được sử dụng để tạo bất kỳ ký tự nào. Nó hoạt động bởi ... TODO '

keycode 133 = dead_greek NoSymbol SuperR

http://zuttobenkyou.wordpress.com/2011/08/24/xorg-using-the-us-international-altgr-intl-variant-keyboard-layout/
http://stackoverflow.com/questions/14922007/how-to-enter-greek-alpha-under-xor
keycode 48 = dead_grave apostrophe


<dead_grave> <space>       : "`"   grave # GRAVE ACCENT
<dead_grave> <dead_grave>  : "`"   grave # GRAVE ACCENT
<dead_grave> <a>           : "À"   agrave # LATIN CAPITAL LETTER A WITH GRAVE

Tạo một tệp ~ / .XCompose

Tệp Soạn mặc định nếu ~/.XComposebị thiếu là /usr/share/X11/locale/$LANG/Compose. Có riêng bạn ~/.XComposeghi đè mặc định, nhưng bạn vẫn có thể bao gồm mặc định với:

include "%L"

Thay đổi đối với bất kỳ tệp Soạn nào cũng có hiệu lực khi bạn khởi động lại ứng dụng. Bạn không cần phải khởi động lại X.

Soạn phím

Một 'trình tự soạn thảo' đang nhấn Composephím và sau đó một hoặc nhiều ký tự để tạo một số ký tự, ví dụ:

<Multi_key> <quotedbl> <a> : "ä" adiaeresis

Có nghĩa là nhấn Compose, ngay lập tức theo sau "atạo ra một ä.

<Multi_key>biểu thị rằng chúng tôi đang sử dụng Composekhóa. sau đó chúng tôi theo dõi danh sách này bằng một danh sách một hoặc nhiều khóa, đây phải là keysymsnhững biểu tượng tượng trưng cho các khóa được sử dụng bởi X (Xem phần Keysyms).

Tiếp theo là a :, tiếp theo là kết quả.

Kết quả:

<Multi_key> <a>          :  "ä" adiaeresis
<Multi_key> <b> <b>      :  "ä" adiaeresis
<Multi_key> <c> <c> <c>  :  "ä" adiaeresis
<Multi_key> Alt <d>      :  "ä" adiaeresis
<Multi_key> Ctrl <e>     :  "ä" adiaeresis

Lưu ý : file Một Soạn là trường hợp nhạy cảm, vì vậy Akhông giống như a.

Phím chết

LÀM

Làm cho nó hoạt động trong GTK & Qt

Đặt các biến môi trường GTK_IM_MODULE& QT_IM_MODULEthành xim.

Vỏ Bourne:

# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

Vỏ C:

# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim

Xem thêm

Của tôi ~/.XCompose

Đây là cái ~/.XComposemà tôi sử dụng ; Tôi đã sử dụng một tập lệnh để tạo tập lệnh này, nhưng tôi vô tình ghi đè lên tập lệnh này khi biên dịch nó> _ <Vì vậy tôi cần viết lại nó.

Cũng lưu ý về dòng này:

<Multi_key> <i> <b> : "NL65AEGO0721647952"

Nhấn Compose ibsẽ chèn chuỗi này (một số IBAN thử nghiệm ngẫu nhiên); rất hữu ích để thử nghiệm các ứng dụng khi cần một số lượng như vậy để tạo một số đối tượng (Người, Tổ chức); XCompose cũng có thể phục vụ như một công cụ "đoạn trích" :-)

Chú thích

1: Một số bàn phím UNIX có một Composephím chuyên dụng ( như SUN này ), nhưng điều này khá hiếm trong những ngày này.

2: Tùy thuộc vào thiết lập hiện tại của bạn, điều này có thể hoặc không thể đọc được khi khởi động, tùy thuộc vào cấu hình của bạn, thêm dòng xmodmap ~/.Xmodmapvào một trong hai ~/.xinitrchoặc ~/.xsession; cũng xem wiki ArchLinux .

3: Tái sản xuất vì lợi ích của bạn:

    Position of Compose key
    +------------------------------------------------------+
    |Option                Description                     |
    +------------------------------------------------------+
    |compose:ralt          Right Alt                       |
    |compose:lwin          Left Win                        |
    |compose:lwin-altgr    3rd level of Left Win           |
    |compose:rwin          Right Win                       |
    |compose:rwin-altgr    3rd level of Right Win          |
    |compose:menu          Menu                            |
    |compose:menu-altgr    3rd level of Menu               |
    |compose:lctrl         Left Ctrl                       |
    |compose:lctrl-altgr   3rd level of Left Ctrl          |
    |compose:rctrl         Right Ctrl                      |
    |compose:rctrl-altgr   3rd level of Right Ctrl         |
    |compose:caps          Caps Lock                       |
    |compose:caps-altgr    3rd level of Caps Lock          |
    |compose:102           <Less/Greater>                  |
    |compose:102-altgr     3rd level of <Less/Greater>     |
    |compose:paus          Pause                           |
    |compose:prsc          PrtSc                           |
    |compose:sclk          Scroll Lock                     |
    +------------------------------------------------------+

1
Đối với Windows, sử dụng Wincompose thay vì Allchars. Nó làm chính xác những gì nó nói trên tin. Tôi đã sử dụng Allchars cho đến khi tôi tìm thấy Wincompose. Hạn chế của sáng tác là bạn không thể có một sự kết hợp đáng nhớ để tiếp cận tất cả các nhân vật, chỉ những nhân vật mà bạn sử dụng thường xuyên hoặc có sự phân tách hợp lý.
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles Cảm ơn; WinCompose có vẻ tốt. Bạn đúng rằng bạn chỉ có thể nhập một tập hợp con khá hạn chế của các ký tự "được sử dụng nhiều nhất". Đối với tôi điều này là đủ> 95% thời gian. Đối với phần còn lại tôi sử dụng UniView ... Tôi không nhận thấy bất cứ điều gì tốt hơn đáng kể ...
Martin Tournoij

Đối với các ký tự hiếm khi được sử dụng, tôi sử dụng Shapecatcher (không tích hợp trình chỉnh sửa mà tôi biết) hoặc tôi nhập tên nhân vật ( C-x 8 RETtrong trình chỉnh sửa không vi, tôi không biết liệu Vim có gì tương tự không).
Gilles 'SO- ngừng trở nên xấu xa'

1
Người dùng KDE không thể sử dụng phương thức này vì KDE giao trách nhiệm triển khai tính năng này cho XorgXorg chuyển xuống QtQt giao lại cho Xorg . Tôi thảo luận điều này trên trang của tôi về việc gõ văn bản RTL .
dotancohen 27/2/2015

@dotancohen Có vẻ như là một vấn đề khác (như trong yêu cầu tính năng).
Martin Tournoij

20

Để chèn các ký tự Unicode, chẳng hạn như đồng euro hoặc ký hiệu bản quyền, hoặc các dấu phụ, chẳng hạn như âm sắc hoặc dấu trọng âm của Đức, digraphscó thể được sử dụng.

Ví dụ: trong chế độ chèn, nhấn Ctrl+ kvà gõ như sau:

  • Tây Ban Nha: a'cho á, E'cho É, n?cho ñ,
  • Tiếng Đức: a:cho ä, sscho ß,
  • chữ có dấu khác: a!cho à, a>cho âcho ê, a?cho ã,
  • Tiếng Hy Lạp: a*for α(alpha), b*for β(beta), g*for γ(gamma), d*for δ(delta).
  • số vuông: 22cho ², 33hoặc³
  • tiền tệ: Eucho (Euro), Pdcho £(Bảng Anh),
  • Cocho ©(Bản quyền), DGcho °(Bằng),
  • OKcho , XXcho , Sbcho (viên đạn),
  • dấu chấm câu: -Nfor (en dash), -Mfor (em dash)

Khi tùy chọn máy in được đặt ( :set dg), bạn cũng có thể sử dụng phương thức sau:

  • aBackspace:cho ä, EBackspaceucho , v.v.

Để liệt kê các loại máy in được xác định hiện tại: :digraphs( :dig).

Nguồn: Nhập các ký tự đặc biệt tại trang web Vim Wikia .


Hệ điều hành X

Nếu bạn đang sử dụng OS X, rất dễ dàng để nhập các chữ cái có dấu ở bất cứ đâu theo phương pháp sau:

  • Option+ e, sau đó acho á, echo é, icho ívà tương tự,
  • Option+ n, sau đó acho ã, ncho ñvà tương tự,
  • Option+ u, sau đó ucho ü,
  • dấu chấm câu lộn ngược: Option+ 1for ¡, Option+ Shift+ ?for ¿,

Xem thêm:


6

Plugin unicode của tôi cho phép nhập dễ dàng các ký tự unicode. Cụ thể nó cho phép

  • :Digraph <name> - Tìm kiếm sơ đồ cho nhân vật

  • :UnicodeTable - Hiển thị bảng ký tự

  • :UnicodeName - Xác định ký tự dưới con trỏ

  • Hoàn thành các ký tự bằng cách sử dụng tên hoặc giá trị của chúng từ bảng unicode ( :h i_CTRL-X_CTRL-Z) hoặc digarphs ( :h i_CTRL-X_CTRL_G)

Đọc trợ giúp để biết thêm thông tin về cách sử dụng plugin của tôi.



3

Đối với các ký tự thường được sử dụng, :digraphhoặc các phương tiện bên ngoài như phím Compose được đề cập là tuyệt vời. Đối với những người hiếm khi được sử dụng, tôi định nghĩa các chữ viết tắt, như thế này:

norea <unique> unicode_smiley 😃
norea <unique> unicode_skull ☠

Và sau đó sử dụng plugin SnippetComplete của tôi để có một menu bật lên liệt kê tất cả các từ viết tắt như vậy, ví dụ:unicode_<C-x>]

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.