Cuando corto (elimino) texto en Emacs 22.1.1 (en su propia ventana en X, en KDE, en Kubuntu), no puedo pegarlo (tirar de él) en ninguna otra aplicación.
emacs
copy-paste
memius
fuente
fuente
Respuestas:
Tengamos cuidado con nuestras definiciones aquí
kill-ring-save
(generalmente vinculado a M-w).yank
(generalmente vinculado a C-y).En mi caso (en GNOME):
Para hacer que la copia del sistema funcione con pegar de Emacs y que la copia de Emacs funcione con pegar del sistema, debe agregar
(setq x-select-enable-clipboard t)
a su archivo.emacs
. O tratarCreo que este es un comportamiento moderno de Unix bastante estándar.
También es importante tener en cuenta (aunque dice que está usando Emacs en una ventana separada) que cuando Emacs se ejecuta en una consola, está completamente divorciado del sistema y de los portapapeles X: cortar y pegar en ese caso está mediado por la terminal . Por ejemplo, "Editar-> Pegar" en la ventana de su terminal debería actuar exactamente como si hubiera escrito el texto del portapapeles en el búfer de Emacs.
fuente
META-X set-variable RET select-enable-clipboard RET t
o(setq select-enable-clipboard t)
Inserte lo siguiente en su
.emacs
archivo:fuente
emacs -nw
, uso los propios atajos de la terminal; Shift-Ctrl-X para cortar (eliminar) el texto y Shift-Ctrl-C para copiar.emacs -nw
dentro de ventanas tmux divididas horizontalmente.Pego esto en mi .emacs:
Posteriormente, básicamente no tengo problemas para cortar y pegar hacia adelante y hacia atrás desde cualquier cosa en Emacs a cualquier otra aplicación X11 o Gnome.
Bono: para hacer que estas cosas sucedan en Emacs sin tener que recargar todo su .emacs, haga Cx Ce con el cursor justo después del par de cierre de cada una de esas expresiones en el búfer .emacs.
¡Buena suerte!
fuente
Symbol’s function definition is void: x-cut-buffer-or-selection-value
La dificultad de copiar y pegar en Emacs es que desea que funcione independientemente del kill / yank interno, y desea que funcione tanto en la terminal como en la interfaz gráfica de usuario. Existen soluciones robustas para terminal o gui, pero no para ambos. Después de instalar xsel (por ejemplo
sudo apt-get install xsel
), esto es lo que hago para copiar y pegar para combinarlos:fuente
Supongo que por emacs te refieres a Emacs debajo de X (es decir, no dentro de una ventana de terminal).
Hay dos maneras:
Operaciones de portapapeles disponibles:
fuente
Hay un artículo de EmacsWiki que explica algunos problemas con copiar y pegar en X y cómo configurarlo para que funcione.
fuente
Esto funciona con
M-w
Mac OSX. Simplemente agregue a su archivo .emacs .Fuente https://gist.github.com/the-kenny/267162
fuente
El siguiente código, inspirado en la respuesta anterior de @ RussellStewart, agrega soporte para x-PRIMARY y x-SECONDARY, reemplaza
region-active-p
conuse-region-p
para cubrir el caso de una región vacía, no regresa silenciosamente si xsel no ha sido instalado (devuelve un mensaje de error), e incluye una función de "cortar" (emacs Cy, windows Cx).fuente
Utilizo lo siguiente, basado en las otras respuestas aquí, para hacer
C-x C-w
yC-x C-y
copiar y pegar tanto en Mac como en Linux (si alguien conoce la versión para Windows, no dude en agregarla). Tenga en cuenta que en Linux tendrá que instalar xsel y xclip con su administrador de paquetes.fuente
xclip
para pegar el contenido del portapapeles usandoxclip -o
. Esto puede ser útil para las personas que ya lo han hechoxclip
y no quieren instalar otro programa para copiar y pegar.Hmm, ¿qué plataforma y qué versión de emacs estás usando? Con GNU Emacs 22.1.1 en Windows Vista, me funciona bien.
Si, por casualidad, está haciendo esto desde Windows a Linux a través de un visor RealVNC, asegúrese de que está ejecutando "vncconfig -iconic" en la caja de Linux primero ...
fuente
Siempre uso el pegado rápido: arrastre la selección en emacs, presione el botón central del mouse en la ventana de destino.
(De la referencia a kate, supongo que estás en Linux o similar y probablemente estás usando emacs en X de una forma u otra).
fuente
Es posible que desee especificar qué plataforma está utilizando. ¿Está en linux, unix, macosx, windows, ms-dos?
Creo que para Windows debería funcionar. Para MacOSX, se agregará al portapapeles de x-windows, que no es lo mismo que el portapapeles de macosx. Para Linux, depende de su estilo de administrador de ventanas, pero creo que x-windows lo maneja de una manera agradable en la mayoría de ellos.
Por lo tanto, especifique.
fuente
Lo que hago es usar una buena herramienta de terminal (PuTTY en Windows, Konsole o Terminal en Linux) que tiene funciones de copia integradas.
En PuTTY, resalta el texto que desea con el mouse y luego lo pega en otro lugar. Al hacer clic con el botón derecho en una ventana de PuTTY, se pega el contenido del búfer de copiar / pegar de Windows.
En Konsole o Terminal en Linux, resalta lo que desea, luego presione Shift + Ctrl + C para copiar y Shift + Ctrl + V para pegar.
En la compilación win32 de emacs, tirar de texto lo pone en el búfer de copiar / pegar ... la mayor parte del tiempo.
En Mac OS X, las combinaciones de teclas de Apple funcionan bien, porque Terminal las atrapa.
No hay una forma directa de hacerlo en la línea de comandos porque el shell no mantiene un búfer de copiar / pegar para cada aplicación. fiesta hace mantener una copia / pega buffer para sí mismo, y, por defecto, emacs ^ k / ^ y atajos de trabajo.
fuente