Estoy en un Macintosh y estoy usando "terminal" para mi shell. Cuando copie texto de cualquier ventana (mediante el arrastre del mouse, luego el menú del botón derecho -> copiar) y luego pego el texto (botón derecho del mouse -> pegar) en un terminal con emacs en ejecución, no actúa como un pegado. En cambio, es como ingresar o escribir texto. El problema ocurre cuando el texto está sangrado. Emacs hace su sangría automática además de eso, así que obtengo una apariencia de texto en cascada parecida a una escalera. Solo quiero que sea una verdadera "pega" para que todo lo que se haya copiado aparezca exactamente como estaba. ¿Alguna idea sobre cómo cambiar algo para que esto funcione?Pegar texto en emacs en Macintosh
11
A
Respuesta
18
Prueba esto:
(defun pt-pbpaste()
"Paste data from pasteboard."
(interactive)
(shell-command-on-region
(point)
(if mark-active (mark) (point))
"pbpaste" nil t))
(defun pt-pbcopy()
"Copy region to pasteboard."
(interactive)
(print (mark))
(when mark-active
(shell-command-on-region
(point) (mark) "pbcopy")
(kill-buffer "*Shell Command Output*")))
(global-set-key [?\C-x ?\C-y] 'pt-pbpaste)
(global-set-key [?\C-x ?\M-w] 'pt-pbcopy)
Uso C-x C-y
para pegar y C-x M-w
copiar.
2
Para una solución rápida y sucia que no requiere la configuración de comandos personalizados, puede ejecutar shell-command
con un argumento de prefijo para insertar los resultados de la llamada al pbpaste
en el búfer en uso.
Por lo tanto:
C-u M-! pbpaste <RET>
Cuestiones relacionadas
- 1. Cómo deshabilitar x pegar en emacs
- 2. En Emacs, ¿cómo puedo pegar en varios términos?
- 3. Vinculaciones de teclado de Emacs en MATLAB: ¿Copiar/Pegar?
- 4. No se puede copiar el texto en Emacs y pegar en otra aplicación
- 5. Integrar copia/pegar Emacs con copiar/pegar sistema
- 6. Sobrescribir pegar en cuadro de texto
- 7. Copiar/Pegar en emacs shell de ansi-term
- 8. Kill/Yank (cortar/pegar) en ZSH
- 9. Emacs cómo conseguir copiar y pegar, turno flecha resaltar texto, etc
- 10. El método Java funciona en Windows pero no en Macintosh?
- 11. Opción o tecla Comando como tecla Meta para LispBox en Macintosh
- 12. Cómo pegar texto en la parte inferior de la página?
- 13. Portapapeles independiente del sistema operativo copiar/pegar texto en C
- 14. cómo eliminar una región de texto en emacs?
- 15. texto de alineación derecha en Emacs
- 16. Búsqueda de texto marcado (seleccionado) en Emacs
- 17. Cómo eliminar (texto deseado), eliminar (texto no deseado) y pegar (texto deseado) en Vim
- 18. ¿Cómo se realizan las pruebas "limpias" en Macintosh sin virtualización?
- 19. Javascript - Eliminar espacios en pegar
- 20. Pegar evento en Javascript
- 21. pegar simbólico en C
- 22. Copiar/Pegar en JavaScript?
- 23. Cómo copiar/pegar programáticamente en Windows Phone?
- 24. ¿Cómo pegar texto en el cursor actual del cuadro de texto?
- 25. No se puede pegar todo el texto en el cuadro de texto WPF
- 26. Emacs: copiar texto (sin eliminarlo)
- 27. Extrayendo texto en un terminal que se ejecuta en Emacs
- 28. ¿Por qué pegar evento en jquery se desencadena en pre-pegar?
- 29. Cómo bloquear (¿columna?) Pegar en vim
- 30. detectar pegar en el cuadro de entrada
No estoy seguro de cómo se espera que esto funcione. Un terminal de texto no tiene un "pegar". Terminal.app implementa pegar escribiendo todos los caracteres en el portapapeles. Si desea pegar para que funcione de manera diferente, no ejecute programas en un terminal de texto. – Ken