2012-07-02 18 views
5

Soy un novato de Emacs y Common Lisp. He instalado con éxito SLIME en mis Emacs, pero me di cuenta de que no tiene paréntesis del arco iris (lo cual es una sorpresa). ¿Cómo activo esta característica? Gracias por adelantado.¿Cómo habilitar paréntesis de arcoíris en SLIME?

+0

Los programadores experimentados de Lisp encontrarían los parásitos arcoiris como una gran molestia (ya que [se supone que los parientes son "invisibles"] (http://mumble.net/~campbell/scheme/style.txt) (vea la Filosofía entre paréntesis) sección)), así que desde ese punto de vista, la falta de paréntesis de arcoiris probablemente no sea una sorpresa como usted podría pensar. –

Respuesta

7

Hay un modo Rainbow Delimiters en emacswiki que podría ser adecuado para usted; de lo contrario, hay un montón de other parenthesis appearance packages allí también.


Actualización: Esto funcionó para mí.
Probablemente aún no sea tan amigable con los principiantes como podría serlo. He tenido 20 años de uso intermitente para ayudarme a olvidar cómo es un principiante total de Emacs ...

Primero, asegúrese de que haya un archivo .emacs en su directorio de inicio. C-x C-f [visit-buffer] seguido de ~/.emacs y Enter debería ser el truco.

también necesita un directorio para guardar los archivos en elisp.
"~/.emacs.d /" es por lo general en la load-path, así que usar esa es la forma más fácil para empezar.
Crearlo si no existe.

Siguiente, descargue rainbow-delimiters.el. Debería ir a su carpeta elisp del paso anterior.
Escriba M-x byte-compile-file, seguido de Return, luego la ruta a su rainbow-delimiters.el (este paso es solo por eficiencia).

Ahora introduzca lo siguiente en su .emacs:

(require 'rainbow-delimiters) 
(add-hook 'slime-repl-mode-hook 'rainbow-delimiters-mode) 

y guardar (C-x C-s) y reinicie.

(Un "gancho de modo" es una función (o más bien una lista de funciones) que se llama cuando Emacs cambia a un modo específico.).

Si no desea reiniciar Emacs solo para probarlo, puede colocar el cursor al final de cada expresión y escribir C-x C-e [eval-last-sexp] (esto también funciona en el interactivo "* scratch * " buffer).

A partir baba con M-x slime después de esto me dio paréntesis de color.

El esquema de color es personalizable; la forma más fácil de encontrar las opciones es M-x customize-apropos (pulse Retorno), ingrese rainbow (presione Retorno).

HTH.

Ah, y mira a través del tutorial incorporado (C-h t) si no lo has hecho aún. Emacs tiene un vocabulario ligeramente peculiar, por lo que leer la documentación (C-h i) de vez en cuando es bueno, y hay muchos "momentos, puede hacer que" allí.

+0

Soy un novato de Emacs.Las búsquedas de Google sobre el tema me llevaron a las páginas que mencionas, pero no pude entender cómo obtener ese trabajo con SLIME. – missingfaktor

+0

@missingfaktor: ¿Obtuviste que el arcoíris funciona en otros modos distintos a Slime? Estoy bastante seguro de que el gancho de modo relevante para Slime es 'slime-repl-mode-hook', en caso de que eso es lo que te estás perdiendo. – molbdnilo

+0

No tengo el conocimiento de Emacs necesario para comprender lo que dices. No, todavía no he conseguido que Rainbow funcione en ningún otro modo. En realidad, no tengo otro modo Lisp instalado. – missingfaktor