Secuencias de teclas compuestas personalizadas sin xim (por ejemplo, en Sublime Text 2)


15

Tengo bastantes secuencias de teclas compuestas personalizadas. Sé que puedo hacer que funcionen ~/.XComposey cambien el método de entrada a xim. Sin embargo, Sublime Text 2 no acepta ninguna secuencia de teclas compuestas cuando estoy usando xim. Los acepta cuando estoy usando el método de entrada predeterminado. Creo que informé de este error para Sublime Text 2 hace un tiempo.

Utilizando el método de entrada por defecto, he añadido el contenido de mi ~/.XComposea /usr/share/X11/locale/en_US.UTF-8/Compose, pero esto no cambia nada. ¿Hay alguna manera de que las secuencias de teclas compuestas en mi ~/.XComposefuncionen sin depender de ellas xim?

Respuestas:


10

Sé que preguntaste esto hace un año, pero en caso de que alguna vez ayude a alguien, esto es lo que funcionó para mí para permitir .XComposeadiciones personalizadas :

sudo apt-get install uim
export "GTK_IM_MODULE=uim"
(log out and in again)

uim es un método de entrada que respeta las adiciones de componer archivos, pero también habilita la funcionalidad no disponible en xim, por ejemplo, Ctrl+Shift+Upara ingresar una identificación de caracteres Unicode hexadecimal.

Esto puede funcionar para la situación del OP, si todavía necesita una solución, no lo sé.


1
¡Finalmente! Después de encontrarme con tantos problemas con xim e ibus, esto finalmente resolvió mi problema. También puede habilitar uim solo para Sublime Text, utilizando export GTK_IM_MODULE=uim subl.
Gui Ambros

4

Lo que dice @coteyr es, de hecho, no correcto. Sublime Text usa el método estándar de entrada GTK API, sin embargo, lo hace incorrectamente.


Hice un paquete que corrige Sublime Text. Puede encontrar todos los detalles sobre el error y mi solución en la publicación de mi blog, pero aquí hay una descripción general rápida de la instalación:

  1. Agregue el sublime-imethod-fix-PPA a sus fuentes APT ejecutando el siguiente comando:

    sudo add-apt-repository ppa:whitequark/sublime-imethod-fix
    
  2. Instale el paquete de corrección de errores que corresponde con su versión de Sublime Text:

    • para soporte XCompose en ST2:

      sudo apt-get install libsublime-text-2-xim-xcompose
      
    • para soporte XCompose en ST3:

      sudo apt-get install libsublime-text-3-xim-xcompose
      
  3. Reinicie Sublime Text (si se está ejecutando). Componer secuencias ahora debería funcionar bien.

No funciona con Sublime 3064, canal de desarrollo. ST3 ni siquiera comienza.
Gui Ambros

@GuiAmbros Use ST3 estable por ahora. Lo investigaré un poco más tarde
whitequark el

1
Lo arreglé cambiando a uim en lugar de xim. Escribí sobre la experiencia aquí wrgms.com/using-xcompose-with-chrome-and-sublime-text
Gui Ambros

Funcionó bien para mí
abre el

2

Esta es una suposición muy aleatoria, pero creo que es porque Sublime Text está usando una biblioteca de widgets diferente y esa no está configurada para la entrada xim.

Puede intentar (si aún no lo ha hecho) configurar una configuración persistente en este enlace

Si eso no funciona, siempre puedes hackear el soporte de mensajería instantánea.

Esta publicación debería ayudar con eso.

Ambos son bastante técnicos y ambos significan hacer todo lo posible para que funcione.


Probé la solución de cjacker desde su segundo enlace, pero no pude hacer que funcionara. Si alguien ha tenido más suerte con esto, agradecería mucho que pudiera describir sus pasos.
Glutanimate

0

Aquí hay una solución alternativa para Sublime Text 2 específicamente. Instale este paquete , ya sea a través de Package Control o manualmente:

cd ~/.config/sublime-text-2/Packages

git clone https://github.com/xgenvn/InputHelper.git

Después de reiniciar Sublime, puede acceder a una ventana de entrada para secuencias de teclas compuestas con Ctrl+ Shift+ Z. Presione Enterpara insertar la secuencia en la posición del cursor.

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.