2012-01-04 8 views
8

Al usar varios períodos para ejecutar un terminal dentro de emacs, me gustaría poder pegar un comando en la ventana de múltiples períodos y luego ejecutarlo. Actualmente, cuando lo hago, el elemento pegado aparece en la ventana de entrada de múltiples términos, sin embargo, si presiono enter, el comando se ignora. Tampoco aparece en la historia de la terminal. Por ejemplo, estoy pegandoEn Emacs, ¿cómo puedo pegar en varios términos?

echo "hola"

Parece que funcionó - Veo el siguiente texto el símbolo. Pero cuando presiono enter, no se ejecuta. Estoy usando múltiples plazo: http://www.emacswiki.org/emacs/MultiTerm

Respuesta

11

La función por defecto yank no funciona con multi-term o más precisamente con term-mode porque el tirón no es «realmente» inserta. Para pegar, debe usar la función term-paste que está vinculada a S-inserte de forma predeterminada. Por supuesto, puede enlazar Cy usarlo en term-mode

(add-hook 'term-mode-hook (lambda() 
          (define-key term-raw-map (kbd "C-y") 'term-paste))) 
+0

he añadido esto a mis .emacs, pero no alegría. – ebeland

+0

@ebeland: Lo he probado con '-q' y funciona, por lo tanto, algo debe estar mal con su configuración. Para probarlo: 'emacs -q' luego cambiar al búfer' * scratch * 'y pegar (o escribir) el fragmento anterior y evaluarlo (con' Cx Ce' o 'Mx eval-buffer RET') y luego cargar' multi-term.el' y comienza un nuevo término con 'Mx multi-term'. – Daimrod

+0

Lo intentaré el lunes cuando entre. ¡Gracias por la ayuda! – ebeland

5

En plazo modo (que utiliza múltiples plazo) hay dos modos de entrada:

  • modo de línea
  • modo de char

Puede cambiar al modo de línea con CcC-j entonces tire del texto, volver al modo Char C-cC-k y ejecuta el comando. Pienso en el modo char como el modo de entrada que funciona como si esperara que la entrada del terminal funcionara. Por ejemplo, si escribe algo en la línea de comandos y lo corta con C-x, entonces C-y pegará lo que corte de la línea de comando. Creo que del modo de línea como el modo de entrada que esperaría de un buffer de texto en emacs.

Para obtener detalles sobre los dos modos de entrada de verificación this page

Cuestiones relacionadas