带VIM的编程方案(Racket) - 如何入门

Mar*_*189 27 lisp vim scheme racket

最近,我开始在DrRacket中编写Racket(以前称为Scheme).我很快就开始错过DrRacket中VIM的所有功能,所以我想使用VIM进行我的方案(球拍)编程.

我知道Emacs可能是强烈的lisp编程的最佳选择,但我想要的只是编写一个scheme(racket)文件检查语法,然后运行它.

不幸的是,我无法弄清楚,如何在文件的命令行中调用"racket"以使其与DrRacket一样.

我正在运行Ubuntu 10.10 Maverick Meerkat,VIM 7.3,我从官方网站下载并安装了Racket.

帮助开始将非常感激.

mic*_*kig 24

如果您只想在命令行中将文件加载到Racket并运行它,我认为这应该有效:

$ racket -f file.scm -i
Run Code Online (Sandbox Code Playgroud)

-i选项会让您在REPL中测试您的代码file.scm.

但是,您可能需要查看此博客文章:

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

您可以设置运行命令行Racket的GNU屏幕会话,并从Vim向其发送s表达式.有一个Vimscript的链接,这将使这个自动化.我用mit方案使用了一段时间,它相当有效.然而,它并不像SLIME或DrRacket那么强大.我刚刚测试了OS X上描述的步骤,它适用于命令行球拍,它应该适用于Ubuntu,这就是我第一次使用这种方法时所使用的.

您可能还想看看这个:

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

...在Vim for Lisp和Scheme代码中有一些关于更好缩进的信息.

我最终切换到了Emacs,但是不要让Vim讨厌让你失望.据说Paul Graham使用vi,他必须成为前5名最杰出的Lisp程序员之一.

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


Mic*_*ott 12

有几个附加组件可以让Racket中的编码更令Vim满意.

  • Vim的lisp模式(set lisp) - 改进了缩进和w/ e/ b单词跳跃的一些基础知识.
  • vim-racket - 功能和语法的相当大的vim语法识别集
  • 合成 - 在保存时识别错误(vim-racket设置makeprg为此工作)
  • 彩虹圆括号 - 设置您自己的颜色以获得最大对比度!
  • vim-slime - 与Tmux一起使用将Vim连接到Racket REPL
  • 环绕 - 包裹在parens中的形式和元素
  • vim-sexp适合普通人
  • Molokai配色方案 - 高对比度
  • VROD* - K基于Vim的文档,以及自动完成的Racket功能
  • REPTL* - 非常简单的连续rackunit测试运行器

我更喜欢slime而不是slimv.

如果您使用的是Vundle,这里有一种方法可以安装上面提到的大多数附加组件:

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'
Run Code Online (Sandbox Code Playgroud)

把它们放入你的~/.vimrc,然后调用安装:

% vim +PluginInstall +qall
Run Code Online (Sandbox Code Playgroud)

这是一个屏幕截图,展示了大部分内容:

在此输入图像描述

(*披露:我写了VROD和REPTL,它们还不成熟)

此外,这是一篇描述Vim/SICP设置的相关博客文章.