A menudo me encuentro copiando un fragmento de código en el portapapeles de mi sistema operativo desde Internet. Luego, sigo los siguientes pasos simples:
- Cambiar a mi ventana de Emacs
- Encuentra el lugar donde quiero pegar el código
- Use
C-y
(yank
) para insertar el texto copiado.
Sin embargo, a veces encuentro (para mi gran decepción) que involuntariamente utilicé alguna forma de comando de matar (como kill-word
o kill-line
) mientras estaba en el paso 2. En tales casos, el texto copiado del "portapapeles" nunca llega al asesinato anillo.
¿Hay alguna manera de asegurarme de que el texto copiado de otras aplicaciones siempre llegue a mi círculo de asesinatos?
Trabajo en Linux con mayor frecuencia, pero también uso Emacs regularmente en Windows y Mac OS X, por lo que se prefiere una respuesta independiente del sistema operativo.
copy-paste
clipboard
nispio
fuente
fuente
Respuestas:
Necesita personalizar
save-interprogram-paste-before-kill
at
. Esto empujará su portapapeles hacia el asesinato en caso de que mate algo en emacs antes de pegar el portapapeles. Una personalización relacionada es layank-pop-change-selection
que empuja tu tirón actual en emacs al portapapeles. Para que ambos funcionen, necesitax-select-enable-clipboard
(reemplazado porgui-select-enable-clipboard
en emacs 25.1) sert
el predeterminado.La razón por la que esto está desactivado de forma predeterminada es para evitar la inserción accidental de una gran cantidad de datos en el asesinato que persiste durante la sesión a diferencia del portapapeles que se reemplaza fácilmente.
fuente
save-interprogram-paste-before-kill
parece hacer exactamente lo que quiero!gui-select-enable-clipboard
se llama justselect-enable-clipboard
.otra solución es usar la herramienta cli si es posible,
pbcopy / pbpaste en Mac
getclip / putclip en Cygwin
La ventaja de esta solución es que el portapapeles siempre es utilizable (por ejemplo, cuando ssh remoto).
Mi respuesta tiene dos partes. la primera parte presenta algunas herramientas útiles para manipular el portapapeles. la segunda parte responderá a su pregunta original (guarde el portapapeles en el anillo de eliminación).
PARTE UNO
Inserte el siguiente código en su ~ / .emacs:
LA SEGUNDA PARTE
inserte el código a continuación en su ~ / .emacs, y de ahora en adelante, use "Mx paste-from-clipboard-and-cc-kill-ring" para pegar:
fuente