Bagaimana cara mengetik karakter khusus di Linux?

84

Di windows ada kemungkinan untuk mengetik dari papan ketik khusus dengan menahan tombol alt dan mengetik beberapa angka, tergantung pada tanda yang ingin Anda gunakan. Apakah ini bekerja dengan linux dengan cara yang sama?

inothemo
sumber
di windows, ini hanya berfungsi untuk kode ascii, kan? bagaimana cara melakukannya untuk unicode-karakter?
FranBran
1
Frabra, tidak semua aplikasi mendukung input unicode seperti itu. Tetapi angka yang agak sering dimulai dengan nol membantu, yaitu ketik Alt + 08212 untuk M-dash, bukan Alt + 8212.
Smylic
@ FranBran Anda harus mengaktifkan hex numpad dan kemudian Anda dapat memasukkan karakter Unicode
phuclv
@Smylic yang tidak akan berfungsi untuk sebagian besar aplikasi karena kode Alt desimal akan menjadi modulo 256. Anda harus menggunakan hex numpad
phuclv

Jawaban:

97

Anda dapat menggunakan Ctrl+ Shift+ udiikuti oleh kode dalam hex . (Anda hanya perlu menahan Ctrldan Shiftsaat mengetik kode)

John T
sumber
2
john, apakah Anda tahu apa yang memasok fungsi ini? Saya belum pernah mendengarnya sebelumnya. di mana ia bekerja, di konsol? Default Ubuntu di GNOME? Terima kasih.
Quack quixote
1
menemukan sumber yang sama (minus u, cukup tahan Ctrl+Shift) untuk "bekerja di GNOME", dan metode untuk VIM yang menggunakan utetapi bukan Shift.
Quack quixote
6
Terima kasih, bekerja untuk saya. Di terminal Ubuntu (di bawah X), saya bisa mengetik Ctrl + Shift + U, biarkan semua 3, dan kemudian ketik 66 diikuti oleh Space dan saya berakhir dengan "f" yang merupakan karakter yang benar untuk 66 di UTF- 8. Itu tidak bekerja dari tty1 (control-alt-F1 - terminal non-grafis).
Stan Kurdziel
2
Ada solusi untuk KDE?
Jack
5
Saya menggunakan Compose(dipetakan sebagai Ctrl-Kanan), yang seharusnya berfungsi di semua DE karena disediakan oleh X. Compose " A=> ä, Compose g p i=> "π", dll
Mark K Cowan
54

X menggunakan sesuatu yang disebut kunci penulisan . Dengan menekan Compose, some key, some key... secara berurutan, Anda bisa input karakter. Saya mengatur kunci penulisan saya untuk Menu; mengetik ©(simbol hak cipta), saya akan menggunakan Menu, o, c.

Daftar lengkap kombinasi tombol penulisan X dapat ditemukan online (200 KiB), atau secara lokal di /usr/share/X11/locale/en_US.UTF-8/Compose.

Di Gnome, tombol penulisan dapat diatur dengan masuk ke Preferensi → Keyboard → tab Tata Letak → Pilihan Tata Letak → Tulis posisi tombol.

virtuallinux
sumber
12
Bagaimana jawaban "memorize unicode code points" memiliki dua kali lebih banyak upvotes daripada kunci penulisan? Penyakit jiwa.
Mark E. Haase
2
Sempurna. Tanpa GNOME, kunci penulisan dapat diatur melalui setxkbmap. Misalnya, $ setxkbmap -option 'compose:menu'akan mengatur tombol "menu" (antara Alt Gr dan Ctrl kanan pada keyboard saya) sebagai kunci penulisan.
Emil Lundberg
@mease Karena, di laptop saya, tidak ada kunci yang tersedia untuk saya petakan sebagai Compose. Jadi saya akan mengambil jawaban yang tidak sempurna dari yang elegan.
Cliff
Cliff, laptop aneh apa itu? Saya memiliki laptop kecil yang memiliki kunci "menu" (yang digunakan virtuallinux sebagai tombol Tulis, seperti halnya saya). Tidak memiliki kunci gratis yang tidak digunakan? Tidak ada kunci "Windows" yang tidak Anda butuhkan di Linux? Aneh.
Jürgen A. Erhard
@ Cliff, saya berhasil mengaturnya ke "level 3 Ctrl Kiri", jadi kunci cadangan diperlukan; Saya harap Anda dapat menemukan sesuatu yang bekerja untuk Anda.
Amir
26

Memasukkan karakter Unicode di Linux bervariasi. The UTF-8 dan Unicode FAQ memiliki bagian yang berisi metode input yang berbeda :

  • Ctrl+ Shift+ U [unicode in hex]didefinisikan dalam ISO 14755 dan diimplementasikan oleh GTK2 +, dan bekerja di Terminal-GNOME dan aplikasi lainnya.
  • Ctrl+ V u [unicode in hex]bekerja di VIM.
  • Alt+ [unicode in decimal using numpad digits]berfungsi di konsol asalkan lingkungan Anda dikonfigurasi dengan benar untuk mengharapkan UTF-8 (melalui variabel lingkungan LOCALE atau LANG). ( manual unicode_start ).

Metode lain yang dapat Anda gunakan:

  • Potong-n-tempel karakter dari file input kecil yang berisi karakter yang Anda inginkan.
  • Gunakan xmodmapuntuk memetakan kembali kunci dalam X (lihat tautan FAQ di atas untuk contoh).
quack quixote
sumber
(Saya menghapus tag UTF8 yang Anda tambahkan ke pertanyaan, karena itu sebenarnya adalah penyandian, yang tidak digunakan saat mengetik karakter.)
Arjan
2
+1 untuk menyertakan VIM. Saya ingin tahu bagaimana melakukan ini di Intellij dengan keybindings VIM.
new123456
Saya dapat mengonfirmasi bahwa alt-numpad berfungsi untuk saya di konsol tty1 ubuntu 12.04 (control-alt-F1) dengan $ LANG = en_US.utf8 Kode-kode tersebut adalah desimal, bukan hex, jadi alih-alih 66 (hex) untuk "f ", Saya tahan Alt, ketik 102, biarkan Alt naik dan keluar muncul" f ".
Stan Kurdziel
Dunia menyedihkan yang kita tinggali ketika orang lupa akan keindahan Compose.
Jürgen A. Erhard
7

Konsol Linux juga mendukung kunci penulisan (Kunci penulisan sering Alt+ AltGratau PrintScrn) - lihat Cara menentukan Compose Key di terminal di Unix dan Linux Stack Exchange untuk detailnya.

Segera
sumber
1

Ada metode yang lebih baik untuk Linux dan Windows daripada menggunakan kode alt-key yang tidak mengharuskan Anda mengingat kode apa pun. Dijelaskan secara rinci di sini .

Intinya adalah Anda menggunakan AutoHotKey (Windows) atau AutoKey (Linux). Keduanya berjalan di latar belakang dan menerima string arbitrer sebagai pemicu untuk menjalankan perintah, yang dalam hal ini mengirim karakter khusus ke clipboard dan kemudian menempelkannya ke program apa pun yang sedang digunakan.

Contoh yang diberikan memiliki / delta sebagai pemicu (termasuk garis miring ke depan). Setelah mengetik keenam karakter itu, mereka dihapus dan diganti dengan δ.

hugke729
sumber