¿Cuál es la forma más fácil de insertar caracteres Unicode en un documento?


28

Al escribir documentos ocasionalmente, quiero insertar caracteres Unicode en el texto. A veces conozco el código del personaje y a veces lo busco en la web.

Actualmente voy al modo de inserción y luego lo uso <Ctrl-V>u{four digit hex number}, lo que puede ser muy laborioso. ¿Hay una manera más fácil de insertar los caracteres (tal vez alguna forma de pegar)?


La otra pregunta es realmente un "caso especial" de esta pregunta más genérica; las respuestas serán las mismas ... Mi comentario allí también se aplica: Use las instalaciones de su sistema operativo (cualesquiera que sean), o algún otro programa para todo el sistema operativo (por ejemplo, cuando usé Windows, me gustó usar AllChars que emula los X11 Redactar clave; funciona en todos los programas).
Martin Tournoij

Sí, ese es un caso especial y las respuestas están especializadas para ello. ¿No cree que puede haber una solución más generalizada que abarque más cosas que las personas no consideraron al mirar el caso especial?
Martin York

También podríamos hacer que esa pregunta sea más genérica, o marcarla como una tonta de esta (aunque fue antes); Realmente no me importa como tal . Pero no creo que tener ambas preguntas como sea ayudará a nadie a largo plazo :-)
Martin Tournoij

Si pudiera controlar el mundo. Tal vez deberíamos dejarlo en reposo durante un día o dos, de modo que si reuniera respuestas únicas que pudieran distinguirlo de la otra pregunta. Si permanece sin respuesta o las respuestas son solo duplicados, ciérrelo / elimínelo.
Martin York

Muy bien ... Definitivamente estoy de acuerdo en que la otra pregunta no tiene excelentes respuestas, y esta pregunta debería atraer a otras mejores (con suerte) ... La edición de la otra pregunta (para que sea más genérica) aún la deja con un montón de votos altamente votados respuestas que tratan solo con el guión em, así que tampoco es genial ... Así que me retracté de mi voto cercano, y tan pronto como esto obtenga algunas respuestas decentes, votaré al otro como un tonto de esta (aunque fue antes) ... Por supuesto, no puedo controlar lo que otras personas eligen votar.
Martin Tournoij

Respuestas:


23

Prefacio : Esto no tiene nada que ver con Vim como tal, pero le mostraré cuál considero que es la "mejor" forma de insertar estos caracteres con diferencia; El sistema de dígrafo de Vim es más o menos el mismo, pero solo funciona con Vim. Esto funcionará en todas las aplicaciones.

Esto solo funcionará para sistemas X11 (Linux, BSD, etc.). Para Windows, hay AllChars . No se ha actualizado en mucho tiempo, pero puedo confirmar que funciona bien con Windows 7 (lo usé en mi trabajo anterior). Creo que OS X también tiene buenas instalaciones para hacer esto integrado en el sistema operativo; si usa OS X, le animo a que los revise, pero como nunca he usado OS X, no puedo señalarlos.

El siguiente es (parte de) un borrador del artículo del weblog que tengo en trámite. Desafortunadamente, no existe una guía realmente completa (todavía), y la siguiente no describe todas las características que ofrece (por ejemplo, faltan algunas partes sobre las claves muertas) y podría escribirse mejor en algunas partes, pero creo que es todavía "lo suficientemente útil".


Una 'secuencia de composición' es presionar la Composetecla y luego uno o más caracteres para producir algún carácter que no se encuentra en su teclado, por ejemplo, presionar Compose, seguido inmediatamente por "y apodría producir un ä.

Por defecto, Composeno está vinculado a ninguna tecla 1 ; la Alttecla Derecha (también conocida como Alt Gr) se usa a menudo, pero la configura en cualquier tecla que desee.

Configúralo usando xmodmap

Puede usar xmodmap para configurar esto:

$ 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

Probablemente desee agregar esto a su ~/.Xmodmaparchivo 2 :

! Set compose key
keysym Alt_R = Multi_key

Configúralo usando XKB

También puede establecer la clave de redacción como una opción para XKB con setxkbmap:

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

Para hacerlos permanentes, agregue el comando a su archivo de inicio X o, alternativamente, también puede configurarlo en /etc/X11/xorg.conf:

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

O, en un estilo más 'moderno', puede crear un archivo /etc/X11/xorg.conf.d/90-compose.conf:

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

Se puede encontrar una lista de valores posibles en la xkeyboard-config(7)sección 'Posición de la tecla Componer' 3 .

Configurar llaves muertas

Una tecla muerta se usa principalmente para agregar un acento o un signo diacrítico a una letra (como la diéresis, la tumba de acento, etc.), aunque se puede usar para crear cualquier carácter. Funciona por ... 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

Hacer un archivo ~ / .XCompose

El archivo de composición predeterminado si ~/.XComposefalta es /usr/share/X11/locale/$LANG/Compose. Tener el tuyo ~/.XComposeanula el predeterminado, pero aún puedes incluir el predeterminado con:

include "%L"

Los cambios en cualquier archivo Compose surten efecto cuando reinicia una aplicación. No necesita reiniciar X.

Redactar clave

Una 'secuencia de composición' es presionar la Composetecla y luego uno o más caracteres para producir algún carácter, por ejemplo:

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

Significa que presionar Compose, inmediatamente seguido por "y aproduce un ä.

<Multi_key>denota que estamos usando la Composeclave. luego seguimos esto mediante una lista de una o más teclas, estas tienen que ser keysyms, que son representaciones simbólicas de las teclas utilizadas por X (Ver la sección Keysyms).

Seguido de a :, seguido del resultado.

El resultado:

<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

Nota : Un archivo de composición distingue entre mayúsculas y minúsculas, por Alo que no es lo mismo que a.

Llaves muertas

QUE HACER

Haz que funcione en GTK y Qt

Establecer las variables de entorno GTK_IM_MODULEy QT_IM_MODULEpara xim.

Concha Bourne:

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

C shell:

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

Ver también

Mi ~/.XCompose

Esto es lo ~/.XComposeque yo uso ; Utilicé un script para generar esto, pero accidentalmente lo sobrescribí cuando lo compilé> _ <Así que necesito reescribirlo.

También tome nota de esta línea:

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

Al presionar Compose ibse insertará esta cadena (un número IBAN de prueba aleatorio); muy útil para probar aplicaciones donde se requiere dicho número para crear algún objeto (Persona, Organización); XCompose también puede servir como herramienta "fragmento" :-)

Notas al pie

1: Algunos teclados UNIX tenían una Composetecla dedicada ( como este SUN ), pero esto es poco común en estos días.

2: Dependiendo de su configuración actual, esto puede o no leerse al inicio, dependiendo de su configuración, agregue la línea xmodmap ~/.Xmodmapa ~/.xinitrco ~/.xsession; También vea la wiki de ArchLinux .

3: Reproducido para su beneficio:

    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
Para Windows, use Wincompose en lugar de Allchars. Hace exactamente lo que dice en la lata. Usé Allchars hasta que encontré Wincompose. La limitación de componer es que no puede tener una combinación memorable para llegar a todos los caracteres, solo a los que usa con frecuencia o que tienen una descomposición lógica.
Gilles 'SO- deja de ser malvado'

@Gilles Gracias; WinCompose se ve bien. Tiene razón en que solo puede ingresar un subconjunto bastante limitado de caracteres "más utilizados". Para mí esto es suficiente> 95% del tiempo. Por lo demás, uso UniView ... No conozco nada significativamente mejor ...
Martin Tournoij

Para los caracteres raramente utilizados, uso Shapecatcher (no conozco integración con el editor) o escribo el nombre del personaje ( C-x 8 RETen un editor que no es vi, no sé si Vim tiene algo similar).
Gilles 'SO- deja de ser malvado'

1
Los usuarios de KDE no pueden usar este método ya que KDE relega la responsabilidad de implementar esta función a Xorg , y Xorg relega a Qt , y Qt relega a Xorg . Discuto esto en mi página sobre escribir texto RTL .
dotancohen

@dotancohen Eso parece un problema diferente (como en, solicitud de función).
Martin Tournoij

20

Para insertar caracteres Unicode, como el euro o los símbolos de derechos de autor, o los signos diacríticos, como la diéresis alemana o la tumba decorativa, digraphsse pueden utilizar.

Por ejemplo, en modo insertar presione Ctrl+ ky escriba lo siguiente:

  • Español: a'para á, E'para É, n?para ñ,
  • Alemán: a:para ä, sspara ß,
  • otras letras acentuadas: a!para à, a>para âa ê, a?para ã,
  • Griego: a*para α(alfa), b*para β(beta), g*para γ(gamma), d*para δ(delta).
  • números cuadrados: 22para ², 33o³
  • monedas: Eupara (Euro), Pdpara £(Libra),
  • Copara ©(Copyright), DGpara °(Grado),
  • OKpara , XXpara , Sbpara (bala),
  • signos de puntuación: -Nfor (en dash), -Mfor (em dash)

Cuando se establece la opción de dígrafo ( :set dg), también puede usar el siguiente método:

  • aBackspace:para ä, EBackspaceupara , etc.

Para enumerar los digrafos definidos actualmente, escriba: :digraphs( :dig).

Fuente: Introducción de caracteres especiales en el sitio de Vim Wikia .


OS X

Si está utilizando OS X, es muy fácil escribir letras acentuadas en cualquier lugar con el siguiente método:

  • Option+ e, luego apara á, epara é, ipara íy similares,
  • Option+ n, luego apara ã, npara ñy similares,
  • Option+ u, entonces upara ü,
  • signos de puntuación invertidos: Option+ 1para ¡, Option+ Shift+ ?para ¿,

Ver también:


6

Mi complemento Unicode permite la entrada fácil de caracteres Unicode. Específicamente permite

  • :Digraph <name> - Buscar dígrafos por personaje

  • :UnicodeTable - Muestra una tabla de juego de caracteres

  • :UnicodeName - Identificar el personaje debajo del cursor

  • Completar caracteres usando sus nombres o valores de la tabla Unicode ( :h i_CTRL-X_CTRL-Z) o los digarfos ( :h i_CTRL-X_CTRL_G)

Lea la ayuda para obtener más información sobre cómo usar mi complemento.



3

Para los caracteres de uso común, :digrapho los medios externos, como la tecla Componer mencionada, son excelentes. Para los que rara vez se usan, defino abreviaturas, como esta:

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

Y luego use mi complemento SnippetComplete para obtener un menú emergente que enumere todas esas abreviaturas, por ejemplo:unicode_<C-x>]

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.