web-dev-qa-db-ja.com

VIMを使用したプログラミングスキーム(Racket)-開始方法

最近、DrRacketでRacket(以前のScheme)のプログラミングを開始しました。 DrRacketのVIMのすべての機能を見逃し始めたので、scheme(racket)プログラミングにVIMを使用したいと思います。

Emacsが集中的なLISPプログラミングに最適かもしれないことは知っていますが、私が欲しいのは、scheme(racket)ファイルチェック構文を書いてそれを実行することだけです。

残念ながら、ファイルのコマンドラインで「racket」を呼び出して、DrRacketと同じように動作させる方法がわかりませんでした。

Ubuntu 10.10 Maverick Meerkat、VIM 7.3を実行していて、公式WebサイトからRacketをダウンロードしてインストールしました。

始めるのを手伝っていただければ幸いです。

27
Markus1189

コマンドラインでファイルをRacketにロードして実行したいだけなら、これでうまくいくと思います。

$ racket -f file.scm -i

-iオプションを選択すると、REPLになり、file.scmでコードをテストできます。

ただし、次のブログ投稿を参照することをお勧めします。

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

コマンドラインラケットを実行するGNUスクリーンセッションを設定し、VimからS式を送信できます。これを自動化するVimscriptのビットへのリンクがあります。私は使用しましたこれはしばらくの間mit-schemeで実行され、かなり効果的でした。SLIMEやDrRacketほど強力ではありませんが、OS Xで説明されている手順をテストしたところ、コマンドラインラケットで動作するはずです。 Ubuntu、それは私が最初にこの方法を使用したときに使用していたものです。

また、これを確認することをお勧めします。

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

...これはVimforLISPとSchemeコードのより良いインデントに関するいくつかの情報を持っています。

私は最終的にEmacsに切り替えましたが、Vimが嫌いな人にあなたを失望させないでください。 Paul Grahamはおそらくviを使用しており、彼はトップ5の最も著名なLISPプログラマーの1人になる必要があります。

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

24
michiakig

RacketでのコーディングをVimでより満足させるために、いくつかのアドオンが利用可能です。

  • VimのLISPモード(set LISP)-インデントとw/e/bワードホッピングの基本を改善します。
  • vim-racket -関数と構文のvim構文認識のかなりのセット
  • syntastic -保存時にエラーを特定します(vim-racketはこれが機能するようにmakeprgを設定します)
  • Rainbow Parentheses -コントラストを最大にするために独自のパレンカラーを設定してください!
  • vim-slimeTmux とともに使用してVimをラケットREPLに接続します
  • surround -フォームと要素を親でラップします
  • 普通の人はvim-sexp
  • モロカイ配色 -高コントラスト
  • [〜#〜] vrod [〜#〜] * --KベースのVimドキュメント、およびラケット関数のオートコンプリート
  • [〜#〜] reptl [〜#〜] *-非常に単純な連続ラックユニットテストランナー

私はその単純さのためにslimvよりslimeを好みます。

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を書いたが、それらは未成熟である)

また、 関連するブログ投稿はこちら Vim/SICPの設定について説明しています。

11
Micah Elliott

約1週間前の時点で、 [〜#〜] Slimv [〜#〜] (SLIME for Vim)はRacketをサポートしています。 SLIMVは一般的に、現時点でVimにとって最も成熟したLISP環境と見なされています。

3
kynan