Memproduksi karakter ASCII spesifik di Ubuntu

19

Saya terbiasa memegang left Altdan memasukkan karakter ASCII setiap kali saya menggunakan konfigurasi keyboard yang tidak dikenal dan ingin mengetikkan karakter khusus.

Misalnya, Alt+ 0+ 9+ 2membuat garis miring terbalik (\).

Itu di Windows. Apakah ada cara untuk melakukan ini di Ubuntu?

Catatan: Saya juga ingin dapat menggunakan ini dalam mode konsol. Itu berarti saya tidak ingin solusi yang melibatkan perangkat lunak dengan GUI.

Philippe Carriere
sumber
Ada pertanyaan umum tentang apakah mungkin untuk melakukan ini dengan cara Windows pada AskUbuntu, di askubuntu.com/questions/588090 .
JdeBP
Lihat juga unix.stackexchange.com/questions/254477 tentang Unix dan Linux.
JdeBP

Jawaban:

26

Jika Anda menggunakan Gnome (saham Ubuntu tidak) Anda dapat melakukannya dengan menekan kedua Ctrldan Shifttombol dan mengetik udiikuti oleh heksadesimal nilai karakter.

Untuk menghasilkan backslash \, Anda akan menahan Ctrl+ Shiftdan tekan U, 5dan C.

Pada Windows Anda mengetikkan nilai desimal sementara di Linux Anda mengetikkan nilai heksadesimal (yang biasanya lebih pendek jika Anda menggunakan angka yang lebih tinggi). The u singkatan Unicode.

Tabel nilai heksadesimal yang cukup lengkap dapat ditemukan di sini . Peringatan, halaman bisa memakan waktu lama untuk memuat!

Emilien
sumber
4
"Nilai heksadesimal" sebenarnya adalah titik kode Unicode, tidak seperti "kode Alt" yang ASCII
grawity
Wow. Apa yang saya butuhkan! Bekerja di mana-mana seperti pesona. Terima kasih.
Philippe Carriere
1
Sekarang saya hanya perlu mempelajari semua kode dalam heksa .... :(
Philippe Carriere
Apakah ada yang tahu, bagaimana cara mendapatkan pekerjaan ini di Sublime Text?
Drunken Master
6

Pilihan lain (tetapi tidak memasukkan karakter dengan ASCII / kode Unicode) adalah untuk mengaktifkan ComposeKey (seperti tepat Altdalam kasus saya), sehingga Anda kemudian dapat mengetikkan hal-hal seperti:

  • Alt+ =+ e→ €
  • Alt+ '+ e→ é
  • Alt+ ^+ e→ ê

dll. Jika Anda ingin memasukkan huruf latin yang sering digunakan (seperti dalam bahasa Spanyol, Prancis, dll), ini mungkin lebih cepat daripada harus mempelajari poin kode Unicode. Ini semua tentang memiliki pilihan!

Emilien
sumber
Apakah Anda tidak memerlukan tata letak keyboard non-AS untuk ini?
Cristian Ciupitu
2
@CristianCiupitu: Tidak, Anda harus mengaktifkan kunci penulisan.
Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams, Anda benar. Tampaknya lingkungan desktop XFCE 4.10 saya tidak mengatur tombol Tulis sama sekali, tetapi setelah mengaturnya ke tombol Alt kanan, jawabannya bekerja (oleh karena itu +1 dari saya).
Cristian Ciupitu
5

Driver konsol Linux tidak memiliki fasilitas untuk memasukkan karakter dengan cara ini ... tetapi itu tidak benar-benar diperlukan karena shell dapat menangani ini sendiri.

$ echo $'\x5c'
\
Ignacio Vazquez-Abrams
sumber
1
Itu metode yang sangat bagus .... Saya bahkan tidak dapat menemukannya di halaman manual gema tetapi berhasil! Apakah ada cara untuk memberikan kode desimal alih-alih kode heksadesimal? (Saya hafal kode desimal)
Philippe Carriere
Apakah ada cara untuk menggunakan ini ketika saya berada di vi atau nano?
Philippe Carriere
2
Tidak, mereka hanya bisa dimasukkan dalam hex ( \xNN) atau octal ( \NNN). Anda dapat menggunakan printfjika Anda ingin melihat kode hex untuk suatu nilai. Di vim Anda dapat mengetik Ctrl-V U dan kemudian 4-digit Unicode codepoint. Juga, bagian KUTIPAN .
Ignacio Vazquez-Abrams
2
@ Silence: (1) Karena ini adalah fitur dari shell Anda (biasanya bash), bukan dari echo.
grawity
@ PhilippeCarriere In vi Anda dapat menjalankan perintah shell dengan menambahkan :!seperti :!ls. Anda juga dapat memasukkan output ke buffer saat ini menggunakan :r !. Saya sering kekurangan karakter tilde jadi saya gunakan :r !echo $'\x7e'. Sedikit lagi tentang itu di sini .
berlaku
1

Dari FAQ UTF-8 dan Unicode untuk Unix / Linux oleh Markus Kuhn:

Perluas pemetaan keyboard Anda menggunakan xmodmap . Ini sangat nyaman jika keyboard Anda memiliki AltGrkunci, yang dimaksudkan untuk tujuan ini (beberapa keyboard AS memiliki alih-alih AltGrhanya Altkunci yang benar , yang lain tidak memiliki kunci yang sama sekali sayangnya, dalam hal ini beberapa kunci lain harus ditetapkan fungsi Mode_switch) . Tulis file ~/.Xmodmapdengan entri seperti

keycode 113 = Mode_switch Mode_switch
keysym d = d NoSymbol degree        NoSymbol
keysym m = m NoSymbol emdash        mu
keysym n = n NoSymbol endash        NoSymbol
keysym 2 = 2 quotedbl twosuperior   NoSymbol
keysym 3 = 3 sterling threesuperior NoSymbol
keysym 4 = 4 dollar   EuroSign      NoSymbol
keysym space = space  NoSymbol      nobreakspace NoSymbol
keysym minus = minus  underscore    U2212        NoSymbol
keycode 34 = bracketleft  braceleft  leftsinglequotemark  leftdoublequotemark
keycode 35 = bracketright braceright rightsinglequotemark rightdoublequotemark
keysym KP_Subtract = KP_Subtract NoSymbol U2212    NoSymbol
keysym KP_Multiply = KP_Multiply NoSymbol multiply NoSymbol
keysym KP_Divide   = KP_Divide   NoSymbol division NoSymboll

dan memuatnya dengan xmodmap ~/.Xmodmapdari skrip startup X11 Anda ke server X Anda. Anda kemudian akan dengan AltGrmudah menemukan karakter baru berikut dari keyboard Anda:

  • AltGr+ d→ °
  • AltGr+ [→ '
YourPadre
sumber
0

Tidak persis apa yang diminta OP, tapi mungkin itu cukup bagi siapa pun yang membaca ini.

Bergantung pada tata letak keyboard yang Anda pilih, Anda mungkin sudah dapat mengetik beberapa karakter unicode dan ASCII; sama seperti di macOS. Klik pemilih bahasa di dekat ikon baki (jika Anda memilikinya), lalu Show Keyboard Layout, dan lihat karakter alternatif dari masing-masing tombol.

Misalnya, Anda dapat mengetikkan ... (ellipsis) dengan right ALT + ., dan ÷ (pembagian) dengan right ALT + SHIFT + ..

Selain itu, penekanan tombol ini bahkan bekerja di Sublime, yang terbukti lebih keras kepala CTRL + SHIFT + U.

WoodrowShigeru
sumber