Produciendo un carácter ASCII específico en Ubuntu

19

Estoy acostumbrado a mantener left Alte ingresar el carácter ASCII cada vez que uso una configuración de teclado desconocida y quiero escribir un carácter especial.

Por ejemplo, Alt+ 0+ 9+ 2hace una barra invertida (\).

Eso está en Windows. ¿Hay alguna manera de hacer esto en Ubuntu?

Nota: También quiero poder usar esto en modo consola. Eso significa que no quiero una solución que involucre software con una GUI.

Philippe Carriere
fuente
Hay una pregunta general sobre si es posible hacerlo de la manera Windows en AskUbuntu, en askubuntu.com/questions/588090 .
JdeBP
Consulte también unix.stackexchange.com/questions/254477 en Unix y Linux.
JdeBP

Respuestas:

26

Si está usando Gnome (de Ubuntu hace) que puede hacer que manteniendo pulsado tanto el Ctrly Shiftteclas y tipificación useguidos por el hexadecimal valor del carácter.

Para producir la barra invertida \, debe mantener presionado Ctrl+ Shifty presionar U, 5y C.

En Windows, escribe el valor decimal, mientras que en Linux escribe el valor hexadecimal (que generalmente es más corto si va en los números más altos). La u significa Unicode.

Aquí se puede encontrar una tabla bastante completa de valores hexadecimales . ¡Advertencia, la página puede tardar mucho en cargar!

Emilien
fuente
44
El "valor hexadecimal" es, de hecho, el punto de código Unicode, a diferencia de los "códigos Alt" que son ASCII
grawity
Guau. ¡Exactamente lo que necesitaba! Funciona en todas partes como un encanto. Gracias.
Philippe Carriere
1
Ahora solo necesito aprender todos los códigos en hexa .... :(
Philippe Carriere
¿Alguien sabe cómo hacer que esto funcione en Sublime Text?
Maestro borracho el
6

Otra opción (pero no inserta un carácter por código ASCII / Unicode) es activar ComposeKey (como Alten mi caso), para que luego pueda escribir cosas como:

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

etc. En caso de que desee ingresar letras latinas de uso frecuente (como en español, francés, etc.), esto podría ser más rápido que tener que aprender los puntos de código Unicode. ¡Se trata de tener elección!

Emilien
fuente
¿No necesita una distribución de teclado no estadounidense para esto?
Cristian Ciupitu 01 de
2
@CristianCiupitu: No, debe habilitar una clave de redacción.
Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams, tienes razón. Parece que mi entorno de escritorio XFCE 4.10 no configuró la tecla Componer en absoluto, pero después de configurarla en la tecla Alt correcta, la respuesta funcionó (por lo tanto, +1 de mi parte).
Cristian Ciupitu
5

El controlador de consola de Linux no tiene una facilidad para ingresar caracteres de esta manera ... pero realmente no es necesario ya que los shells pueden manejar esto por sí mismos.

$ echo $'\x5c'
\
Ignacio Vazquez-Abrams
fuente
1
Es un método muy bueno ... ¡Ni siquiera puedo encontrarlo en las páginas de manual de echo, pero funciona! ¿Hay alguna manera de proporcionar el código decimal en lugar del hexadecimal? (Aprendí los códigos decimales de memoria)
Philippe Carriere
¿Hay alguna forma de usar esto cuando estoy en vi o nano?
Philippe Carriere
2
No, solo se pueden ingresar en hexadecimal ( \xNN) u octal ( \NNN). Puede usarlo printfsi desea ver el código hexadecimal para un valor. En vim puede escribir Ctrl-V U y luego el punto de código Unicode de 4 dígitos. Además, la sección de CITA .
Ignacio Vazquez-Abrams
2
@Silence: (1) Porque es una característica de su shell (generalmente bash), no de echo.
Grawity
En @PhilippeCarriere VI puede ejecutar comandos shell anteponiendo :!como :!ls. También puede insertar la salida en el búfer actual usando :r !. A menudo me falta el carácter tilde, así que lo uso :r !echo $'\x7e'. Un poco más sobre eso aquí .
válido el
1

De las preguntas frecuentes UTF-8 y Unicode para Unix / Linux de Markus Kuhn:

Extienda su asignación de teclado usando xmodmap . Esto es particularmente conveniente si su teclado tiene una AltGrtecla, que está diseñada exactamente para este propósito (algunos teclados de EE. UU. Tienen en lugar de AltGrsolo una Alttecla correcta , otros desafortunadamente carecen de esa tecla por completo, en cuyo caso a otra tecla se le debe asignar la función Mode_switch) . Escribir un archivo ~/.Xmodmapcon entradas como

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

y cárguelo con xmodmap ~/.Xmodmapsu script de inicio X11 en su servidor X. Luego descubrirá que obtiene AltGrfácilmente los siguientes caracteres nuevos de su teclado:

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

No es exactamente lo que pregunta el OP, pero tal vez sea suficiente para quien esté leyendo esto.

Dependiendo de la distribución de teclado seleccionada, es posible que ya pueda escribir algunos caracteres unicode y ASCII; al igual que en macOS. Haga clic en el selector de idioma cerca del icono de la bandeja (si lo tiene) Show Keyboard Layout, y eche un vistazo a los caracteres alternativos de las teclas individuales.

Por ejemplo, puede escribir… (puntos suspensivos) con right ALT + .y ÷ (división) con right ALT + SHIFT + ..

Además, estas pulsaciones de teclas incluso funcionan en Sublime, que resultó ser más terco CTRL + SHIFT + U.

WoodrowShigeru
fuente