Me gustaría poder pegar la selección X usando el teclado. Actualmente tengo que usar el botón central del mouse para hacer esto.
Entiendo que fingir presionar un botón central del mouse es bastante fácil de hacer, pero tal solución también requeriría mover el puntero del mouse a la ubicación del cursor de texto.
¿Hay una mejor manera de hacer esto?
xorg
keyboard-shortcuts
copy-paste
intuido
fuente
fuente
Respuestas:
En algunas configuraciones predeterminadas de Linux, Shift+ Insertrealizará un
X-selection-paste
. Como notó, esto es claramente diferente delX-clipboard-paste
comando, cuyo enlace a menudo varía según la aplicación. Si eso no funciona, hay otras claves para probar:Ctrl+V
Ctrl+ Shift+V
Ctrl+ Shift+Insert
¿No vayas? Su entorno de escritorio o administrador de ventanas probablemente no los tiene configurados, y es complicado porque, incluso bajo el banner de un DE o WM, cada kit de herramientas (por ejemplo, GTK, Qt, Etc.) puede tener enlaces predeterminados diferentes. Algunos programas (por ejemplo
gvim
) incluso tienen sus propios registros internos de copia que no están necesariamente sincronizados con el entorno gráfico en el que se ejecutan. Para colmo, incluso cuando un programa usa el sistema X-portapapeles, X tiene múltiples sistemas para elegir. Los dos más básicos son el búfer de selección, que siempre tiene lo que sea lo último que se seleccionó (execpt cuando no lo tiene), y el búfer de copia, en el que generalmente deben copiarse las cosas. Para hacer una copia explícita en el último sistema, puede probar cualquiera de estos por tamaño:Ctrl+C
Shift+ Ctrl+C
Ctrl+Insert
Si nada de eso funciona mágicamente para usted, hay dos maneras de hacerlo.
¡Hay una aplicación para eso! ™ Use uno de los diversos programas de administrador de portapapeles para manejar esto por usted. Los más populares parecen ser Parcellite y Glippy , pero puede consultar otras alternativas aquí . Consulte también esta pregunta sobre administradores avanzados de portapapeles
Hackéalo tú mismo.
Entonces, digamos que quieres hackearlo.
A falta de escribir su propio código y aprovechar la API X, las herramientas de hackers para el trabajo son un par de pequeñas utilidades de línea de comando que le dan una ventana a la mente de X. Solo una pequeña ventana, la vista completa da demasiado miedo .
La primera herramienta es
xsel
. Este pequeño trabajador escupirá lo que sea que esté en el búfer de selección de X en cualquier momento dado.Ahora necesita incluir eso en su programa. Hay dos opciones para esto. Una es la
xdotool
que le permite imitar el envío de eventos al sistema de entrada Xorg. Se puede utilizar de tipo método comoxdotool type foo_bar
a la tipificación mímica 'foo_bar' en el cursor. Combinado, obtienes algo como esto:El otro es el
xvkbd
que envía eventos de teclado desde un subsistema inferior. Puede canalizar pulsaciones de teclas en STDIN. Combinado conxsel
, obtienes algo como esto:Excelente. Ahora para que la combinación de teclas ejecute estas cosas. Si ejecuta Gnome-2, puede agregar un atajo personalizado en Sistema -> Preferencias -> Atajos de teclado . Si utiliza un DE o WM diferente, este ejercicio se deja al lector.
La última nota es que cuando se vinculan comandos a métodos abreviados de teclado, a menudo es necesario tener solo un comando, no dos comandos conectados con una tubería como usamos anteriormente. Puede lograr esto invocando su comando canalizado como una cadena de comando argumetn a un nuevo shell como este:
fuente
Shift-Insert
tener un uso práctico, pero simplemente no lo es (en Ubuntu). La única "consistencia (+/-)" que he encontrado es que una X- La selección en las aplicaciones GTK se puede insertar con mayúsculas en unagnome-terminal
, pero es bastante impredecible para cualquier otra combinación de pegado cruzado de estas mismas aplicaciones ... Las pocas aplicaciones KDE que uso (incluida Konsole), simplemente no pegar en forma cruzada ... e incluso en las aplicaciones GTK, hacer clic con el botón central puede funcionar, pero Mayús + Insertar puede no funcionar (para la misma aplicación) ... Así que uso el mouse :(xdotool click 2
.Aparentemente, Shift+ Insertpuede no funcionar correctamente en algunas instalaciones de GTK 3, al menos en FreeBSD. El problema se describe como:
Un informe reciente (a partir de este escrito) y un parche están disponibles:
http://www.freebsd.org/cgi/query-pr.cgi?pr=188264
fuente
Esto simula el clic del botón del mouse directamente y no requiere usar
xsel
/xdotool type ...
.fuente
Estoy usando Ubuntu 12 y estaba teniendo problemas para pegar texto de xterm en gedit (y cualquier otra aplicación). Además, utilizo una computadora portátil sin botón central del mouse como muchas personas (realmente no hay piedad del portapapeles para usuarios de Linux sin botones centrales, y no: hacer clic con el botón derecho + left_click no funciona como un sustituto).
Si bien creo que el método "xsel | xvkbd -xsendevent -file -" es bastante bueno. Encontré que la solución más simple era ejecutar el "gnome-terminal" preinstalado en lugar de "xterminal". "gnome-terminal" admite un comando de copiar con el botón derecho al portapapeles. Entonces podría "Editar menú-> Pegar" en gedit o usar shift-insert. "gnome-terminal" vino preinstalado con Ubuntu 12. Otras instalaciones debian / gnome deberían poder instalarlo a través de:
En Ubuntu, agréguelo al iniciador izquierdo haciendo clic en el botón "Inicio del tablero" en la parte superior de la barra del iniciador. En el cuadro de búsqueda resultante, escriba terminal. Puedes arrastrar el ícono "Terminal" a la barra de inicio.
fuente