How to type special characters in Linux?

182,908

Solution 1

You can use Ctrl + Shift + u followed by the code in hex. (You only need to hold down Ctrl and Shift while typing the code)

Solution 2

X uses something called the compose key. By pressing Compose, some key, some key… in sequence, you can input characters. I have my compose key set to Menu; to type a © (copyright symbol), I would use Menu, o, c.

A full list of X compose key combinations can be found online (200 KiB), or locally in /usr/share/X11/locale/en_US.UTF-8/Compose.

In Gnome, the compose key can be set by going to Preferences → Keyboard → Layouts tab → Layout Options → Compose key position.

Solution 3

Inputting Unicode characters in Linux varies. The UTF-8 and Unicode FAQ has a section containing different input methods:

  • Ctrl+Shift+U [unicode in hex] is defined in ISO 14755 and implemented by GTK2+, and works in GNOME-Terminal and other applications.
  • Ctrl+V u [unicode in hex] works in VIM.
  • Alt+[unicode in decimal using numpad digits] works at the console providing your environment is properly configured to expect UTF-8 (via LOCALE or LANG environment variables). (unicode_start manpage).

Other methods you could use:

  • Cut-n-paste characters from a small input file containing the characters you want.
  • Use xmodmap to remap keys in X (see the FAQ link above for examples).

Solution 4

The Linux console also supports compose keys (The compose key is often Alt + AltGr or PrintScrn) - see How to define a Compose Key in terminal on the Unix and Linux Stack Exchange for details.

Solution 5

Alternative way: Use Ctrl + Shift + u followed by the code in hex and Enter.

Unlike the accepted answer tells, do not hold down Ctrl and Shift while typing the code. Otherwise it may not work because it may conflict with some shortcut key of the application you are using, e.g. Ctrl + Shift + c in your terminal emulator. That may be a bug though.

This way works at least with xfce4-terminal, gnome-terminal, lxterminal, libreoffice, mousepad, chromium-browser and firefox.

Share:
182,908

Related videos on Youtube

inothemo
Author by

inothemo

Updated on September 17, 2022

Comments

  • inothemo
    inothemo almost 2 years

    In windows there is possibility to type from keyboard special signs by holding alt key and typing a few numbers, that depends on with sign you want to use. Does it work with linux in the same way?

    • FranBran
      FranBran over 8 years
      in windows, this does only work for ascii-codes, right? how to do so for unicode-characters?
    • Smylic
      Smylic over 7 years
      frabra, not all applications support unicode input such way. But rather often starting number with zero helps, i. e. type Alt + 08212 for M-dash, instead of Alt + 8212.
    • phuclv
      phuclv about 6 years
      @FranBran you need to enable hex numpad and then you can input any Unicode characters
    • phuclv
      phuclv about 6 years
      @Smylic that won't work for most applications because the decimal Alt-code will be modulo 256. You have to use hex numpad
    • Scott - Слава Україні
      Scott - Слава Україні about 4 years
      Does this answer your question? How do you type Unicode characters using hexadecimal codes? (While most of the answers are about Windows, a couple are about Linux.)
  • quack quixote
    quack quixote over 14 years
    john, do you know what supplies this functionality? i haven't heard of it before. where does it work, on the console? Ubuntu's defaults in GNOME? thx.
  • quack quixote
    quack quixote over 14 years
    found a similar source (minus the u, just hold down Ctrl+Shift) for "works in GNOME", and a method for VIM that uses the u but not the Shift.
  • Arjan
    Arjan over 14 years
    (I removed the UTF8 tag you added to the question, as that is actually an encoding, which is not used when typing a character.)
  • new123456
    new123456 over 12 years
    +1 for including VIM. I was curious how to do this in Intellij with VIM keybindings.
  • Stan Kurdziel
    Stan Kurdziel over 11 years
    Thx, works for me. In Ubuntu's terminal (under X), I'm able to type Ctrl+Shift+U, let up all 3, and then type 66 followed by Space and I end up with "f" which is the correct character for 66 in UTF-8. It didn't work from tty1 (control-alt-F1 - non-graphical terminal) though.
  • Stan Kurdziel
    Stan Kurdziel over 11 years
    I can confirm that alt-numpad works for me in ubuntu 12.04's tty1 console (control-alt-F1) with $LANG=en_US.utf8 The codes are decimal, not hex though, so instead of 66 (hex) for "f", I hold Alt, type 102, let Alt up and out pops "f".
  • Jack
    Jack about 11 years
    Any solution to KDE?
  • Mark E. Haase
    Mark E. Haase almost 11 years
    How does the "memorize unicode code points" answer have twice as many upvotes as the compose key? Insanity.
  • Mark K Cowan
    Mark K Cowan about 9 years
    I use Compose (mapped as Right-Ctrl), which should work in all DEs since it is provided by X. Compose " A => ä, Compose g p i => "π", etc
  • Cliff
    Cliff almost 9 years
    @mehaase Because, on my laptop, there is no available key for me to map as Compose. So I'll take an imperfect answer over the elegant one.
  • Trevor Boyd Smith
    Trevor Boyd Smith over 6 years
    for example: (1.) ctrl+shift+u (2.) hold down: ctrl + shift and type 2022 (3.) gets you:
  • Jürgen A. Erhard
    Jürgen A. Erhard about 6 years
    Cliff, what strange laptop is that? I have a tiny laptop which has a "menu" key (which virtuallinux uses as Compose key, as do I). It doesn't have a free unused key? No "Windows" key you don't need in Linux anyway? Weird.
  • Jürgen A. Erhard
    Jürgen A. Erhard about 6 years
    Sad world we live in when people have all but forgotten about the beauty of Compose.
  • Frank Nocke
    Frank Nocke almost 6 years
    Hint 1: For figuring out hex codes (of characters you havbe in your clipboard) go to the ishida unicode converter
  • Amir
    Amir almost 6 years
    @Cliff, I managed to set it to “3rd level of Left Ctrl”, so spare key required; I hope you can find something that works for you.
  • jarno
    jarno about 4 years
    This might not work because of keyboard shortcut conflict, see my answer.
  • Teemu Leisti
    Teemu Leisti almost 4 years
    Upvoted. Though I found that this works on Xubuntu in the Terminal Emulator, but not in editors -- nevertheless, one can always type it in the terminal using this method, then copy-paste. Acceptable if you don't use extra-special characters all the time.
  • Kaustubh Sariputra
    Kaustubh Sariputra over 3 years
    On most systems I need to hold ctrl+shift like in the accepted answer, but there are some on which your answer is right. Maybe it depends on the X input method? I think you should merge your answers into one, especially when you find out when to use which answer.
  • CivMeierFan
    CivMeierFan almost 3 years
    How the heck do I do this one? <dead_greek> <W>
  • einpoklum
    einpoklum about 2 years
    So, none of these seem to work in Cinnamon :-(
  • einpoklum
    einpoklum about 2 years
    Doesn't work for me in Cinnamon. After pressing Ctrl+Shift+u I get an underlined u, that's all.