Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VIM编程方案(Racket)-如何开始_Vim_Lisp_Scheme_Racket - Fatal编程技术网

VIM编程方案(Racket)-如何开始

VIM编程方案(Racket)-如何开始,vim,lisp,scheme,racket,Vim,Lisp,Scheme,Racket,最近,我开始在DrRacket中编程Racket(以前称为Scheme)。 我很快就忘记了DrRacket中VIM的所有功能,所以我想 使用VIM进行我的方案(racket)编程 我知道Emacs可能是高级lisp编程的最佳选择,但是 我想写一个scheme(racket)文件检查语法,然后运行它 不幸的是,我不知道如何在命令行中调用“racket” 以使其与DrRacket的操作相同 我正在运行Ubuntu10.10MaverickMeerkat,Vim7.3,我下载了 从官方网站安装球拍 非

最近,我开始在DrRacket中编程Racket(以前称为Scheme)。 我很快就忘记了DrRacket中VIM的所有功能,所以我想 使用VIM进行我的方案(racket)编程

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

不幸的是,我不知道如何在命令行中调用“racket” 以使其与DrRacket的操作相同

我正在运行Ubuntu10.10MaverickMeerkat,Vim7.3,我下载了 从官方网站安装球拍


非常感谢您的帮助。

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

$ racket -f file.scm -i
-i
选项将让您在REPL处测试
文件.scm
中的代码

但是,您可能想看看这篇博文:

您可以设置一个运行命令行Racket的GNU屏幕会话,并从Vim向其发送s表达式。这里有一个指向Vimscript的链接,它将使这个过程自动化。我在麻省理工学院的计划中使用了一段时间,它相当有效。不过,它并没有黏液或DrRacket那么强大。我刚刚测试了OSX上描述的步骤,它与命令行racket一起工作,应该可以在Ubuntu上工作,这就是我第一次使用这种方法时使用的方法

您可能还想看看这个:

。。。其中有一些关于Vim中更好的Lisp缩进和Scheme代码的信息

我最终改用了Emacs,但不要让那些讨厌Vim的人让你失望。Paul Graham据说使用vi,他一定是五大最杰出的Lisp程序员之一


大约一周前,(Vim的粘液)支持球拍。SLIMV通常被认为是目前Vim最成熟的Lisp环境。

有几个附加组件可用于使用Vim使Racket中的编码更令人满意

  • Vim的lisp模式(
    set lisp
    )——改进了缩进和
    w
    /
    e
    /
    b
    跳字的一些基础知识
  • --功能和语法的一组相当大的vim语法识别
  • --保存时识别错误(vim球拍设置
    makeprg
    使其工作)
  • --为最大对比度设置您自己的颜色
  • --用于将Vim连接到球拍REPL
  • --将表单和元素包装在括号中
  • --高对比度
  • *基于Vim文档的--
    K
    ,以及球拍功能的自动完成
  • *--非常简单的连续机架单元测试转轮
我更喜欢slime而不是slimv,因为它简单

如果您正在使用,以下是安装上述大多数附加组件的方法:

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'
将它们放入
~/.vimrc
,然后调用以安装:

% vim +PluginInstall +qall
以下是一个屏幕截图,展示了其中的大部分:

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


另外,描述Vim/SICP设置。

谢谢提示,但是在Vim内部运行racket-f file-i命令会给我:对未定义标识符的引用:check expect是check expect only DrRacket?好的,谢谢我想出了添加#lang scheme(需要htdp/测试)(check expect 1 2)(生成报告)很抱歉,我没有想到这个
#lang
说明符,我通常在R5RS模式下使用Racket。很高兴你能成功!evalwhen链接显示一个日文垃圾邮件页面。对于结构化编辑和确保没有不平衡的括号也很有用。Slimv包括paredit;这是独立版本。