Unicode karakterleri bir belgeye eklemenin en kolay yolu nedir?


28

Zaman zaman belge yazarken, metne Unicode karakterler eklemek istiyorum. Bazen karakter kodunu biliyorum ve bazen internette araştırıyorum.

Şu anda ekleme moduna gidip kullanıyorum <Ctrl-V>u{four digit hex number}, ki bu çok zahmetli olabilir. Karakterleri eklemenin daha kolay bir yolu var mı (belki bir tür yapıştırma)?


Diğer soru ise bu daha genel sorunun gerçekten özel bir halidir; Cevaplar aynı olacak ... Benim yorumum da geçerli: İşletim sisteminizin özelliklerini (her ne olabilirse) ya da başka bir işletim sistemi programını kullanın (Windows kullandığımda örnek olarak, X11’leri taklit eden AllChars’ı kullanmayı sevdim.) Anahtar oluşturma, tüm programlarda çalışır).
Martin Tournoij

Evet bu özel bir durum ve cevaplar bunun için özel. Özel olaya bakarken insanların dikkate almadığı daha fazla şeyi içeren daha genel bir çözüm olabileceğini düşünmüyor musunuz?
Martin York

Ayrıca, bu soruyu daha genel hale getirebilir ya da bunun bundan daha da eski olduğuna işaret edebiliriz (daha erken olmasına rağmen); Gerçekten umurumda değil gibi . Her iki soruyu da uzun vadede kimseye yardım
edebileceğini sanmıyorum

Eğer dünyayı kontrol edebilseydim. Belki bir iki gün beklemeliyiz, bu yüzden onu diğer sorudan ayırabilecek benzersiz cevaplar topladıysa. Cevaplanmadıysa veya cevaplar sadece kopya ise, kapat / sil.
Martin York

Pekala .. Kesinlikle diğer sorunun büyük cevapları olmadığını kabul ediyorum ve bu soru daha iyi soruları çekmeli (umarım) ... Diğer soruyu düzenlemek (daha genel hale getirmek için) hala bir sürü son derece oylu bırakıyor Sadece em çizgi ile ilgilenen cevaplar , bu yüzden de harika değil ... Bu yüzden yakın oyumu geri çektim ve bu, bazı iyi cevaplar alır almaz diğer tarafa oy vereceğim (buna rağmen) daha önceydi) ... Elbette diğer insanların oy vermeyi tercih ettiklerini kontrol edemiyorum.
Martin Tournoij

Yanıtlar:


23

Önsöz : Bunun Vim'le hiçbir ilgisi yok, ama bu karakterleri bugüne kadar eklemek için "en iyi" yol olarak düşündüğümü size göstereceğim; Vim'in digraph sistemi aşağı yukarı aynıdır, fakat sadece Vim ile çalışıyor. Bu tüm uygulamalarda işe yarayacak .

Bu sadece X11 sistemleri için çalışacaktır (Linux, BSD, vs.). Windows için, AllChars var . Bir süredir güncellenmedi, ancak Windows 7 ile çalıştığını doğrulayabilirim (önceki işimde kullandı). OS X'in ayrıca OS'de yerleşik olarak bunu yapmak için iyi olanaklara sahip olduğunu düşünüyorum; Eğer OS X kullanıyorsanız, onları kontrol etmenizi öneririm, ancak OS XI'yi hiç kullanmadığım için sizi yönlendiremez.

Aşağıda, boru hattında sahip olduğum taslak bir weblog makalesinin (bir kısmı) verilmiştir. Ne yazık ki gerçekten kapsamlı bir rehber mevcut değil (henüz) ve aşağıda sundukları tüm özellikleri tanımlamıyor (örneğin, ölü tuşlarla ilgili bazı kısımlar eksik) ve bazı kısımlara daha iyi yazılmış olabilir, ancak sanırım hala "yeterince faydalı".


A 'oluşturma dizisi' baskı yapıyor Composeanahtarı ve daha sonra bir veya daha fazla karakter bazı karakter basarak, örneğin, klavyenizde bulunmayan üretmek için Composehemen ardından "ve abir doğurabileceğini ä.

Varsayılan olarak, Composeherhangi bir tuşa 1 bağlı değildir ; Sağ Alttuş (aka Alt Gr) genellikle kullanılır, ancak bunu istediğiniz herhangi bir tuşa ayarlarsınız.

Xmodmap kullanarak ayarlayın

Bunu xmodmap ayarlamak için kullanabilirsiniz :

$ xmodmap -e 'keysym Alt_R = Multi_key'     # Set it right Alt
$ xmodmap -e 'keysym Caps_Lock = Multi_key' # Set it to Caps Lock
$ xmodmap -e 'keysym F12 = Multi_key'       # You're free to use *any* key, like F12

Muhtemelen bu ~/.Xmodmapdosyayı 2 eklemek istersiniz :

! Set compose key
keysym Alt_R = Multi_key

XKB kullanarak ayarlayın

Ayrıca, beste anahtarını XKB olarak bir seçenek olarak ayarlayabilirsiniz setxkbmap:

setxkbmap -option compose:ralt  # Right alt
setxkbmap -option compose:caps  # Caps Lock

Bunları kalıcı hale getirmek için, komutu X başlangıç ​​dosyanıza ekleyin veya alternatif olarak, içinde de ayarlayabilirsiniz /etc/X11/xorg.conf:

Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    Option "XkbOptions" "compose:ralt"
    #Option "XkbOptions" "compose:caps"
EndSection

Veya, daha 'modern' bir tarzda bir dosya oluşturabilirsiniz /etc/X11/xorg.conf.d/90-compose.conf:

Section "InputClass"
    Identifier "Set compose key"
    MatchIsKeyboard "on"
    Option "XkbOptions" "compose:ralt"
EndSection

Olası değerlerin bir listesini xkeyboard-config(7)'Oluşturma Tuşunun Konumu' 3 bölümünde bulabilirsiniz .

Ölü anahtarları ayarlama

Ölü bir anahtar genellikle bir harfe vurgu veya aksan eklemek için kullanılır (umlaut, aksan mezarı vb. Gibi), ancak herhangi bir karakter oluşturmak için kullanılabilir. Bu çalışır ... TODO '

keycode 133 = dead_greek NoSymbol SuperR

http://zuttobenkyou.wordpress.com/2011/08/24/xorg-using-the-us-international-altgr-intl-variant-keyboard-layout/
http://stackoverflow.com/questions/14922007/how-to-enter-greek-alpha-under-xor
keycode 48 = dead_grave apostrophe


<dead_grave> <space>       : "`"   grave # GRAVE ACCENT
<dead_grave> <dead_grave>  : "`"   grave # GRAVE ACCENT
<dead_grave> <a>           : "À"   agrave # LATIN CAPITAL LETTER A WITH GRAVE

Bir ~ / .XCompose dosyası oluşturma

Varsayılan Oluştur dosya ~/.XComposeeksik olduğunu /usr/share/X11/locale/$LANG/Compose. Kendi ~/.XComposeayarlarınız varsayılanı geçersiz kılar, ancak yine de aşağıdakileri de dahil edebilirsiniz:

include "%L"

Herhangi bir Oluştur dosyasındaki değişiklikler, bir uygulamayı yeniden başlattığınızda etkili olur. X'i yeniden başlatmanız gerekmez.

Anahtar oluştur

Bir 'beste dizisi' Composetuşuna ve ardından bir karakter üretmek için bir veya daha fazla karaktere basıyor, örneğin:

<Multi_key> <quotedbl> <a> : "ä" adiaeresis

Bu presleme Compose, hemen takip eden "ve aüreten anlamına gelir ä.

<Multi_key>Composeanahtarı kullandığımızı gösterir . daha sonra bunu, bir veya daha fazla anahtar listesiyle takip ediyoruz, bunlar, keysymsX tarafından kullanılan anahtarların sembolik gösterimleridir (Keysyms bölümüne bakın).

Ardından a :, ardından da takip edildi.

Sonuç:

<Multi_key> <a>          :  "ä" adiaeresis
<Multi_key> <b> <b>      :  "ä" adiaeresis
<Multi_key> <c> <c> <c>  :  "ä" adiaeresis
<Multi_key> Alt <d>      :  "ä" adiaeresis
<Multi_key> Ctrl <e>     :  "ä" adiaeresis

Not : Bir Oluştur dosya harf duyarlıdır, bu yüzden Aolduğu değil aynı a.

Ölü anahtarlar

YAPMAK

GTK ve Qt'da çalışmasını sağlayın

Ortam değişkenlerini GTK_IM_MODULE& QT_IM_MODULEolarak ayarlayın xim.

Bourne kabuğu:

# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

C kabuğu:

# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim

Ayrıca bakınız

Benim ~/.XCompose

Bu ~/.XComposeben kullanımı ; Bunu oluşturmak için bir komut dosyası kullandım, ancak bunu derlerken yanlışlıkla üzerine yazdım> _ <Bu yüzden yeniden yazmam gerekiyor.

Ayrıca bu satırı not alın:

<Multi_key> <i> <b> : "NL65AEGO0721647952"

Basmak Compose ibbu dizeyi ekleyecektir (rastgele bir test IBAN numarası); bazı nesneler (Kişi, Organizasyon) oluşturmak için böyle bir sayının gerekli olduğu uygulamaları test etmek için çok yararlı; XCompose ayrıca "snippet" aracı olarak da hizmet verebilir :-)

Dipnotlar

1: Bazı UNIX klavyelerinde özel bir Composetuş vardı ( bu SUN gibi ), ancak bu günlerde oldukça nadirdir.

2: Mevcut düzenlemeye bağlı olarak bu ya, başlangıçta okunan olabilir veya olmayabilir senin yapılandırmasına bağlı olarak satır eklemek xmodmap ~/.Xmodmapbirine ~/.xinitrcveya ~/.xsession; Ayrıca ArchLinux wiki'sine bakın .

3: Avantajınız için çoğaltılmıştır:

    Position of Compose key
    +------------------------------------------------------+
    |Option                Description                     |
    +------------------------------------------------------+
    |compose:ralt          Right Alt                       |
    |compose:lwin          Left Win                        |
    |compose:lwin-altgr    3rd level of Left Win           |
    |compose:rwin          Right Win                       |
    |compose:rwin-altgr    3rd level of Right Win          |
    |compose:menu          Menu                            |
    |compose:menu-altgr    3rd level of Menu               |
    |compose:lctrl         Left Ctrl                       |
    |compose:lctrl-altgr   3rd level of Left Ctrl          |
    |compose:rctrl         Right Ctrl                      |
    |compose:rctrl-altgr   3rd level of Right Ctrl         |
    |compose:caps          Caps Lock                       |
    |compose:caps-altgr    3rd level of Caps Lock          |
    |compose:102           <Less/Greater>                  |
    |compose:102-altgr     3rd level of <Less/Greater>     |
    |compose:paus          Pause                           |
    |compose:prsc          PrtSc                           |
    |compose:sclk          Scroll Lock                     |
    +------------------------------------------------------+

1
Windows için Allchars yerine Wincompose kullanın. Teneke söylediklerini aynen yapar. Wincompose bulana kadar Allchars kullandım. Oluşturma sınırlaması, yalnızca sık kullandığınız veya mantıksal bir ayrıştırmaya sahip olan tüm karakterlere ulaşmak için unutulmaz bir kombinasyon kullanamayacağınızdır.
Gilles 'SO- kötülükten

@Gilles Teşekkürler; WinCompose güzel görünüyor. Haklısın, yalnızca "en çok kullanılan" karakterlerden oluşan oldukça sınırlı bir alt kümesine girebilirsin. Benim için bu zamanın% 95'ten fazlası için yeterli. Gerisi için UniView kullanıyorum ... önemli ölçüde daha iyi bir şey
bilmiyorum

Nadiren kullanılan karakterler için, Shapecatcher (bildiğim hiçbir editör entegrasyonu yok) kullanıyorum veya karakter adını yazıyorum ( C-x 8 RETvi olmayan bir editörde, Vim'in benzer bir özelliği olup olmadığını bilmiyorum).
Gilles 'SO- kötülük yapmayı bırak'


@dotancohen Farklı bir konuya benziyor (özellik isteğinde olduğu gibi).
Martin Tournoij

20

Euro veya telif hakkı sembolleri gibi Unicode karakterleri veya Alman umlaut veya accent mezarı gibi aksanlı işaretleri eklemek digraphsiçin kullanılabilir.

Örneğin, ekleme modunda Ctrl+ tuşuna basın kve aşağıdakileri yazın:

  • İspanyolca: a'için á, E'için É, n?için ñ,
  • Alman: a:için ä, ssiçin ß,
  • diğer aksanlı harfler: a!için à, a>için âiçin ê, a?için ã,
  • Yunanca: a*için α(alfa), b*için β(p), g*için γ(gama), d*için δ(ö).
  • kare numaraları: 22için ², 33ya da³
  • para birimleri: Euiçin , (Euro) Pdiçin £(Pound),
  • Coiçin ©(Telif), DGiçin °(Lisans),
  • OKiçin , XXiçin , Sbiçin (kurşun),
  • noktalama işaretleri: -Niçin (tire), -Miçin (uzun tire)

Digraph seçeneği ayarlandığında ( :set dg), aşağıdaki yöntemi de kullanabilirsiniz:

  • aBackspace:için ä, EBackspaceuiçin , vs.

Hali hazırda tanımlanan digraphları listelemek için: :digraphs( :dig).

Kaynak: Vim Wikia sitesine özel karakterler girme .


OS X

OS X kullanıyorsanız, aksanlı harfleri aşağıdaki yöntemlerle herhangi bir yere yazmak çok kolaydır:

  • Option+ e, O zaman aiçin á, eiçin é, iiçin íve benzer şekilde,
  • Option+ n, O zaman aiçin ã, niçin ñve benzer şekilde,
  • Option+ u, O zaman uiçin ü,
  • baştaki noktalama işaretleri: Option+ 1için ¡, Option+ Shift+ ?için ¿,

Ayrıca bakınız:


6

Benim unicode eklentisi Unicode karakter kolay giriş için izin verir. Özellikle izin verir

  • :Digraph <name> - Karakter için arama digraphs

  • :UnicodeTable - Karakter kümesi tablosunu görüntüler

  • :UnicodeName - İmlecin altındaki karakteri tanımla

  • Unicode tablodaki ( :h i_CTRL-X_CTRL-Z) veya digarflerdeki ( :h i_CTRL-X_CTRL_G) adlarını veya değerlerini kullanarak karakterlerin tamamlanması

Eklentimin nasıl kullanılacağı hakkında daha fazla bilgi için yardımı okuyun.



3

Yaygın olarak kullanılan karakterler :digraphveya belirtilen Oluşturma anahtarı gibi harici araçlar için harikadır. Nadiren kullanılanlar için kısaltmaları şöyle tanımlarım:

norea <unique> unicode_smiley 😃
norea <unique> unicode_skull ☠

Ve sonra tüm bu kısaltmaları listeleyen bir açılır menüyü almak için SnippetComplete eklentimi kullanın, örneğin:unicode_<C-x>]

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.