2011-03-18 88 views
26

最近,我開始在DrRacket中編寫Racket(以前的Scheme)。 我相當快,我開始錯過DrRacket中VIM的所有功能,所以我想 使用VIM進行我的方案(球拍)編程。VIM的編程方案(球拍) - 如何開始

我知道Emacs可能是激烈lisp編程的最佳選擇,但我想要的所有 都是編寫一個scheme(racket)文件檢查語法,然後運行它。

不幸的是,我無法弄清楚,如何在命令行 上調用文件中的「racket」,使其與DrRacket一樣。

我在運行Ubuntu 10.10 Maverick Meerkat,VIM 7.3和我下載了並且從官方網站安裝了 Racket。

幫助開始將非常感激。

回答

23

如果你只是想將文件加載到球拍上的命令行,並運行它,我認爲這應該工作:

$ racket -f file.scm -i 

-i選項會離開你在REPL對代碼進行測試在file.scm

然而,你可能想看看這個博客帖子:

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

您可以設置一個GNU屏幕會話中運行命令行球拍,並從發送s表達式它Vim的。有一個鏈接到一些Vimscript,這將自動進行。我在mit-scheme中使用了這一段時間,並且它相當有效。雖然它不像SLIME或DrRacket那麼強大。我只是測試了OS X上描述的步驟,它可以在命令行上使用,它應該在Ubuntu上工作,這正是我第一次使用這種方法時所使用的。

你可能也想看看這個:

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

...這對爲Lisp和Scheme代碼的Vim更好縮進的一些信息。

我最終轉向Emacs,但不要讓Vim仇恨你。據說Paul Graham使用vi,他將成爲前5名最着名的Lisp程序員之一。

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

+0

感謝您的提示,但是在vim中使用racket運行-f文件-i命令會提供給我: 對未定義標識符的引用:check-expect 僅檢查期望DrRacket? – Markus1189 2011-03-18 15:07:33

+0

好的,謝謝我想通過添加 #lang計劃 (需要htdp /測試) (檢查期望1 2) (生成報告) – Markus1189 2011-03-18 16:20:41

+0

對不起,我沒有想過'#lang'說明符,我通常在R5RS模式下使用球拍。很高興你有它的工作,雖然! – spacemanaki 2011-03-18 17:54:55

3

由於大約一個星期前,SLIMV(煤泥用於VIM)支持球拍。 SLIMV目前一般被認爲是Vim最成熟的Lisp環境。

7

有幾個附件可用於使Racket中的編碼更加適合Vim。

爲了簡單起見,我比較喜歡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' 

把那些進入你~/.vimrc,然後調用安裝:

% vim +PluginInstall +qall 

下面是截屏大部分內容的截圖:

enter image description here

(*公開:我寫VROD和REPTL,它們是未成熟的)

另外,here is a related blog post描述VIM/SICP設置。