2011-03-18 18 views
26

recientemente, comencé a programar Racket (anteriormente Scheme) en DrRacket. Comencé a perder todas las características de VIM en DrRacket, así que me gustaría para usar VIM para mi programación de esquema (racket).Esquema de programación (Racket) con VIM - Cómo comenzar

Sé que Emacs podría ser la mejor opción para la programación intensa de lisp, pero todo que deseo es escribir una sintaxis de verificación de archivo de esquema (racket) y luego ejecutarlo.

Lamentablemente, no pude averiguar cómo invocar "raqueta" en la línea de comandos en un archivo para hacer que haga lo mismo que DrRacket.

Estoy ejecutando Ubuntu 10.10 Maverick Meerkat, VIM 7.3 y descargué y raqueta instalada desde el sitio web oficial.

La ayuda para comenzar sería muy apreciada.

Respuesta

23

Si lo que desea es cargar un archivo en la raqueta en la línea de comandos y ejecutarlo, creo que esto debería funcionar:

$ racket -f file.scm -i 

La opción -i habría que dejar en el REPL para probar el código en file.scm.

Sin embargo, es posible que desee echar un vistazo a esta entrada del blog:

http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/

Puede configurar una sesión de pantalla de GNU ejecutar la línea de comandos de la raqueta, y enviar s-expresiones a ella desde Empuje. Hay un enlace a un poco de Vimscript que hará que esto sea automático. Usé esto por un tiempo con mit-scheme, y fue razonablemente efectivo. Sin embargo, no es tan poderoso como SLIME o DrRacket. Acabo de probar los pasos descritos en OS X y funciona con la raqueta de la línea de comandos, debería funcionar en Ubuntu, eso es lo que estaba usando cuando usé este método por primera vez.

También puede ser que desee echar un vistazo a esto:

http://evalwhen.com/scmindent/index.html

... que tiene alguna información sobre la mejora de la sangría en Vim para el código Lisp y Scheme.

Finalmente cambié a Emacs, pero no dejes que los enemigos de Vim te depriman. Paul Graham supuestamente usa vi y tiene que ser uno de los 5 programadores de Lisp más prominentes.

http://paul.graham.usesthis.com/

+0

Gracias por las sugerencias, pero ejecutándose desde vim con el comando racket -f file -i me da: referencia al identificador indefinido: check-expect ¿Es check-expect only DrRacket? – Markus1189

+0

ok gracias me di cuenta de que añadir esquema #lang (requiere HTDP/prueba) (check-esperar 1 2) (generate-informe) – Markus1189

+0

Lo siento, no había pensado en eso '# lang' especificador, por lo general usa Racket en modo R5RS. ¡Me alegra que lo hayas hecho funcionar! – spacemanaki

3

A partir de hace aproximadamente una semana, SLIMV (BABA para VIM) es compatible con la raqueta. SLIMV generalmente se considera el entorno de Lisp más maduro para Vim en este momento.

7

Varios complementos están disponibles para hacer que la codificación en Racket sea más satisfactoria con Vim.

  • modo Lisp de Vim (set lisp) - mejora algunos aspectos básicos para sangrar y w/e/b palabra de salto.
  • vim-racket - conjunto considerable de reconocimiento vim-sintaxis de las funciones y la sintaxis
  • syntastic - identificar errores en Guardar (vim-raqueta establece makeprg para que esto funcione)
  • Rainbow Parentheses - establecer sus propios colores para paren máximo contraste!
  • vim-slime - utilizar con Tmux para conectar Vim a un REPL Raqueta
  • surround - formas de envoltura y elementos en parens
  • vim-sexp for normal people
  • Molokai color scheme - alto contraste
  • VROD * - K basado Documentación de Vim, y autocompletado de funciones de Raqueta
  • REPTL * - corrector de prueba de derivación de vara muy simple

Prefiero limo sobre slimv por su simplicidad.

Si está utilizando Vundle, aquí es una manera de instalar la mayoría de los complementos mencionados:

Plugin 'tpope/vim-surround.git' 
Plugin 'kien/rainbow_parentheses.vim' 
Plugin 'scrooloose/syntastic.git' 
Plugin 'MicahElliott/vrod' 
Plugin 'guns/vim-sexp' 
Plugin 'tpope/vim-sexp-mappings-for-regular-people' 
Plugin 'wlangstroth/vim-racket' 
Plugin 'tomasr/molokai.git' 

poner esos en su ~/.vimrc, y luego llamar a instalar:

% vim +PluginInstall +qall 

Aquí hay una captura de pantalla que muestra la mayoría de estos:

enter image description here

(* divulgación: Escribí VROD y REPTL, y son inmaduros)

Además, here is a related blog post que describe una configuración de Vim/SICP.

Cuestiones relacionadas