Programming Scheme(Racket) with VIM - How to get started

依然范特西╮ 提交于 2019-11-30 00:01:21

If you just want to load a file into Racket on the command-line and run it, I think that this should work:

$ racket -f file.scm -i

The -i option would leave you at the REPL to test your code in file.scm.

However, you might want to take a look at this blog post:

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

You can set up a GNU screen session running the command-line Racket, and send s-expressions to it from Vim. There's a link to a bit of Vimscript which will make this automatic. I used this for a while with mit-scheme, and it was reasonably effective. It's not quite the as powerful as SLIME or DrRacket though. I just tested the steps described on OS X and it works with the command-line racket, it should work on Ubuntu, that's what I was using when I first used this method.

You might also want to take a look at this:

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

... which has some information on better indentation in Vim for Lisp and Scheme code.

I eventually switched to Emacs, but don't let the Vim haters get you down. Paul Graham supposedly uses vi and he's gotta be one of the top 5 most prominent Lisp programmers.

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

Several add-ons are available to make coding in Racket more satisfying with Vim.

  • Vim’s lisp mode (set lisp) -- improves some basics for indenting and w/e/b word-hopping.
  • vim-racket -- sizable set of vim-syntax recognition for functions and syntax
  • syntastic -- identify errors upon save (vim-racket sets makeprg for this to work)
  • Rainbow Parentheses -- set your own paren colors for maximal contrast!
  • vim-slime -- use with Tmux to connect Vim to a Racket REPL
  • surround -- wrap forms and elements in parens
  • vim-sexp for normal people
  • Molokai color scheme -- high contrast
  • VROD* -- K-based Vim documenation, and auto-completion of Racket functions
  • REPTL* -- very simple continuous rackunit test runner

I prefer slime over slimv for its simplicity.

If you are using Vundle, here is a way to install most of the add-ons mentioned:

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'

Put those into your ~/.vimrc, and then invoke to install:

% vim +PluginInstall +qall

Here is a screenshot showing off most of these:

(* disclosure: I wrote VROD and REPTL, and they are immature)

Also, here is a related blog post describing a Vim/SICP setup.

As of about a week ago, SLIMV (SLIME for Vim) supports Racket. SLIMV is generally regarded as the most mature Lisp environment for Vim at the moment.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!