Apakah ada cara universal untuk menulis karakter Unicode?

18

Terkadang saya ingin menulis karakter Unicode khusus, seperti em-dash (-), dalam berbagai program seperti vim, Chrome (seperti barusan!), Atau LibreOffice.

Di LibreOffice, saya dapat mencapai ini melalui kotak dialog khusus yang ditemukan di bawah menu Sisipkan. Program lain sepertinya tidak memiliki cara bawaan. Solusi saya dalam kasus ini adalah mencari karakter di Wikipedia, menyalinnya, dan menempelkannya di.

Apakah ada cara universal untuk menulis karakter Unicode dalam program apa pun yang menerima input teks di Linux tanpa harus menyalin dan menempel dari suatu tempat yang sudah dicetak?

drs
sumber
Anda dapat mencari "input Unicode" di Wikipedia. Sekarang disebutkan dalam jawaban saya.
vinc17
Di LibreOffice (dan MS Office) ada juga daftar penggantian otomatis, seperti (C)-> ©. Cukup sering, orang mengkonfigurasi --sebagai en-dash dan ---sebagai em-dash.
Simon Richter
Is there a universal way...Tidak. (Saya tidak mengetahui cara "universal" untuk melakukan apa pun melalui pemrograman.)
user2338816

Jawaban:

14

Entah Anda dapat mengaktifkan Composekunci, atau Anda dapat menekan CtrlShiftUdiikuti oleh nomor Unicode heksadesimal karakter (nol terkemuka dapat dilewati). Misalnya, Æ adalah CtrlShiftU, lalu C6. Ini berfungsi pada Terminal GNOME, Terminator, Google Chrome dan sejumlah aplikasi lain, dengan Xterm (dan menurut komentar, Emacs) tidak berfungsi.

Pada GNOME, untuk mengaktifkan Compose, buka Pengaturan keyboard, lalu PintasanMengetikKunci Karakter Alternatif dan petakan ke sesuatu (misalnya, Right Alt). Kemudian Anda menekan Composetombol, dan - tiga kali untuk mendapatkan em-dash: -. (Panah dalam paragraf ini semuanya Compose->.)

masukkan deskripsi gambar di sini

muru
sumber
2
Solusi Ctrl + Shift + u tidak berfungsi di Xterm dan di Emacs. Tidak juga berfungsi di Firefox.
vinc17
2
@ vinc17 tidak berfungsi di Firefox untuk saya. Saya tidak memiliki Xterm atau Emacs untuk diuji.
muru
Hmmm, ya, itu berfungsi di Firefox, tapi saya harus mengetikkan tombol Space setelah urutan heksadesimal. Bagaimanapun, ini tidak universal, tetapi mungkin fitur yang ditambahkan oleh beberapa aplikasi (atau beberapa manajer jendela?). Juga, itu tidak berfungsi di Opera.
vinc17
AltGr hanyalah pengubah untuk mendapatkan kombinasi tombol tambahan. Inilah yang saya gunakan untuk memasukkan karakter yang tercantum dalam jawaban saya (misalnya Shift + AltGr + [memberi ←). Tetapi pengguna juga dapat memetakan karakter ke tombol lain seperti tombol fungsi; inilah yang saya lakukan untuk mendapatkan karakter beraksen Prancis: éèêëâîôûàùïç. Semuanya dilakukan melalui pengaturan XKB.
vinc17
@ vinc17 Saya membuat epik gagal. Saya berbicara tentang Menulis dan mengatakan AltGr sebagai gantinya.
muru
7

Cara terbaik adalah mengetik karakter pada keyboard Anda. Berkat XKB , Anda dapat mengikat karakter Unicode sembarang ke kombinasi tombol. Misalnya, dengan kustomisasi pengguna XKB , saya dapat mengetik langsung: ← → ↑ ↓ ... € ½ «» - - ± ≠ ∩ ∪ ⊂ ∧ ∨ ∨ ∀ ∃ √ √ ∞ ≤ ≤ ≥, dll.

Catatan: dalam kasus khusus GNU Emacs, komposisi Unicode dapat dilakukan melalui Ctrlx+ 8+ Return. Lihat Ctrlx+ 8+ Ctrlhuntuk metode tambahan.

"Input Unicode" di Wikipedia memberikan informasi tentang ISO 14755 input Unicode tergantung pada konteksnya, khususnya untuk X11 dengan beberapa toolkit dan untuk aplikasi tertentu (Emacs, Opera, Vim).

Atau, Anda dapat menggunakan Composetombol dengan pengaturan yang ditentukan pengguna (karena pengaturan default masih jauh dari selesai). Dokumentasi disediakan oleh Compose(5)halaman manual. Misalnya, tulis file yang $HOME/.XComposeberisi:

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

The include "%L"beban baris pertama default (lokal spesifik) berkas Compose, dan empat baris berikutnya menambahkan pengaturan yang ditetapkan pengguna, seperti: Compose+ [+ cmemberikan karakter meninggalkan langit-langit "⌈" (U + 2308).

vinc17
sumber
Anda tidak perlu XKB untuk mengikat karakter Unicode ke kombinasi tombol, Anda juga dapat melakukannya dengan xmodmap. Anda tidak akan dapat menjangkau semua karakter Unicode dengan cara itu, terlalu banyak.
Gilles 'SO- stop being evil'
1
@Gilles xmodmap tidak sekuat XKB dan saya punya masalah dengannya di masa lalu . Karenanya saya beralih ke XKB. Lagipula saya tidak menggunakan semua karakter Unicode. Untuk karakter langka, pemetik di layar mungkin merupakan solusi terbaik, karena orang mungkin tidak tahu titik kodenya dan bagaimana memasukkannya.
vinc17
Saya tidak mengerti bagaimana Anda memasukkan ∩ ∪ ⊂ ∧ ∨ ∀ dengan menulis. Sisanya «» € ₤ ö dll berfungsi. Tapi bukan simbol matematika.
Igor Chubin
@IgorChubin Saya tidak menggunakan menulis, hanya ISO_Level3_Shift(alias AltGr). Saya baru saja mengedit jawaban saya untuk memberikan tautan ke halaman web saya yang menjelaskan kustomisasi pengguna XKB .
vinc17
@ vinc17 Terima kasih, saya akan membaca lebih banyak tentang itu. Apakah Anda tahu ada manfaat dari metode ini dibandingkan dengan menulis?
Igor Chubin
2

Seperti dijelaskan secara rinci dalam posting ini , ada cara yang bagus untuk melakukan menambahkan kunci unicode tanpa harus mengingat kombinasi tombol yang canggung atau menggunakan menu drop down.

Itu bermuara menggunakan Autokey , yang dapat mengambil set stroke kunci sebagai pemicu untuk menjalankan skrip atau tempel frase. Dalam hal ini, frasa Anda hanyalah karakter unicode yang Anda inginkan.

Seperti yang dijelaskan oleh pos, cara yang baik untuk melakukannya adalah dengan mengikuti LaTeX, tetapi dengan garis miring daripada garis miring terbalik. Misalnya, mengetik / delta di mana saja (browser, libre office, dll) akan secara otomatis dikonversi ke δ.

hugke729
sumber