Jak wpisywać znaki specjalne w systemie Linux?


84

W systemie Windows można wpisywać z klawiatury specjalne znaki, przytrzymując klawisz Alt i wpisując kilka cyfr, w zależności od znaku, którego chcesz użyć. Czy to działa z Linuksem w ten sam sposób?


w systemie Windows działa to tylko w przypadku kodów ascii, prawda? jak to zrobić dla znaków Unicode?
FranBran,

1
frabra, nie wszystkie aplikacje obsługują w ten sposób wprowadzanie Unicode. Ale raczej często pomaga liczba początkowa z
zerą

@FranBran musisz włączyć hex numpad, a następnie możesz wprowadzić dowolne znaki Unicode
phuclv

@Smylic, który nie będzie działał w większości aplikacji, ponieważ dziesiętny kod Alt to modulo 256. Musisz użyć hex numpad
phuclv

Odpowiedzi:


97

Możesz użyć Ctrl+ Shift+, ua następnie kodu szesnastkowego . (Wystarczy przytrzymać Ctrli Shiftpodczas wpisywania kodu)


2
John, czy wiesz, co zapewnia tę funkcjonalność? nie słyszałem o tym wcześniej. gdzie to działa na konsoli? Domyślne ustawienia Ubuntu w GNOME? dzięki.
quack quixote

1
znalazłem podobne źródło (minus u, po prostu przytrzymaj Ctrl+Shift) dla „działa w GNOME” i metodę dla VIM, która używa, uale nie Shift.
quack quixote

6
Dzięki, działa dla mnie. W terminalu Ubuntu (pod X), jestem w stanie wpisać Ctrl + Shift + U, porzucić wszystkie 3, a następnie wpisać 66, a następnie spację i kończę na „f”, który jest poprawnym znakiem dla 66 w UTF- 8 Nie działało to jednak z tty1 (control-alt-F1 - nie graficzny terminal).
Stan Kurdziel

1
Jakieś rozwiązanie dla KDE?
Jack

5
Używam Compose(mapowany jako Right-Ctrl), który powinien działać we wszystkich DE, ponieważ zapewnia go X. Compose " A=> ä, Compose g p i=> "π" itp.
Mark K Cowan

54

X używa czegoś zwanego kluczem tworzenia . Naciskając Compose, some key, some key... w kolejności, wy can znaków wejściowych. Mam mój klucz komponowania ustawiony na Menu; wpisać ©(symbol praw autorskich), chciałbym użyć Menu, o, c.

Pełna lista kombinacji klawiszy X komponowania można znaleźć online (200 KiB) lub lokalnie w /usr/share/X11/locale/en_US.UTF-8/Compose.

W Gnome klawisz tworzenia można ustawić, przechodząc do Preferencji → Klawiatura → karta Układy → Opcje układu → Komponuj pozycję klucza.


12
W jaki sposób odpowiedź „zapamiętaj punkty kodu Unicode” ma dwa razy więcej głosów upvotes niż klucz tworzenia? Niepoczytalność.
Mark E. Haase

2
Doskonały. Bez GNOME klucz tworzenia można ustawić setxkbmap. Na przykład $ setxkbmap -option 'compose:menu'ustawi klawisz „menu” (między Alt Gr a prawym Ctrl na mojej klawiaturze) jako klawisz komponowania.
Emil Lundberg,

@mehaase Ponieważ na moim laptopie nie ma dostępnego klucza do mapowania jako Utwórz. Więc przyjmuję niedoskonałą odpowiedź w stosunku do eleganckiej.
Cliff

Cliff, co to za dziwny laptop? Mam malutkiego laptopa z klawiszem „menu” (którego wirtualuks używa jako klawisza Compose, tak jak ja). Nie ma wolnego nieużywanego klucza? Nie ma klucza „Windows”, którego i tak nie potrzebujesz w Linuksie? Dziwne.
Jürgen A. Erhard

@Cliff, udało mi się ustawić go na „3 poziom Left Ctrl”, więc wymagany jest zapasowy klucz; Mam nadzieję, że znajdziesz coś dla siebie.
Amir

26

Wprowadzanie znaków Unicode w systemie Linux jest różne. UTF-8 i Unicode Pytania ma sekcję zawierającą różne metody wprowadzania :

  • Ctrl+ Shift+ U [unicode in hex]jest zdefiniowany w ISO 14755 i zaimplementowany przez GTK2 +, i działa w GNOME-Terminal i innych aplikacjach.
  • Ctrl+ V u [unicode in hex]działa w VIM.
  • Alt+ [unicode in decimal using numpad digits]działa w konsoli pod warunkiem, że twoje środowisko jest odpowiednio skonfigurowane, aby oczekiwać UTF-8 (poprzez zmienne środowiskowe LOCALE lub LANG). (strona podręcznika unicode_start ).

Inne metody, których możesz użyć:

  • Wytnij i wklej znaki z małego pliku wejściowego zawierającego żądane znaki.
  • Służy xmodmapdo mapowania klawiszy w X (przykłady znajdują się w linku FAQ powyżej).

(Usunąłem tag UTF8 dodany do pytania, ponieważ tak naprawdę jest to kodowanie, które nie jest używane podczas wpisywania znaków.)
Arjan,

2
+1 za włączenie VIM. Byłem ciekawy, jak to zrobić w Intellij ze skrótami klawiszowymi VIM.
new123456

Mogę potwierdzić, że alt-numpad działa dla mnie w konsoli tty1 ubuntu 12.04 (control-alt-F1) z $ LANG = en_US.utf8 Kody są dziesiętne, ale nie szesnastkowe, więc zamiast 66 (hex) dla „f ", Przytrzymuję Alt, wpisz 102, pozwól Altowi wyskoczyć i wyskoczy„ f "
Stan Kurdziel

Smutny świat, w którym żyjemy, gdy ludzie prawie zapomnieli o pięknie komponowania.
Jürgen A. Erhard


1

Jest lepsza metoda zarówno dla Linuksa, jak i Windowsa niż używanie kodów Alt-Key, które nie wymagają zapamiętywania żadnych kodów. Jest to szczegółowo opisane tutaj .

Istotą jest to, że używasz AutoHotKey (Windows) lub AutoKey (Linux). Oba działają w tle i akceptują dowolne ciągi jako wyzwalacze do uruchomienia polecenia, które w tym przypadku polega na wysłaniu specjalnego znaku do schowka, a następnie wklejeniu go do dowolnego aktualnie używanego programu.

Podany przykład ma / wyzwalacz jako wyzwalacz (w tym ukośnik). Po wpisaniu tych sześciu znaków są one usuwane i zastępowane przez δ.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.