Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vimで各言語のreplをすぐに開きたい…そこでrepl.vim!

$
0
0

この記事はVim advent calendar 2015の23日目の記事です!

昨日の記事は

プログラミング初心者が某氏が提言していた「 Vim駆動学習 」をやってみた

でした!

某氏、一体 何ぶささんなんだ…。

そこでrepl.vim

 はい! 今貴方は小物のプログラムを書いています!

はい、今classを書きました!!

(コードの内容を理解する必要はありません)

classKawaiidefinitialize@messageList=['おはよう、よく眠れましたか?','朝ごはん、もうできてますよ! ずんだもち。',"モナド? 単なる自己関手の圏におけるモノイド対象だよ。\n何か問題でも?",'むちむちじゃありません! もちもちです!',"皆のハート打ち抜くぞ〜\nずんだアローシュート!","お口開けてください、あーん♡\nたこ焼き味のずんだもちです!"]enddefmessage(_)n=rand(0..@messageList.count()-1)@messageList[n]endend

 アッアッ、このクラスをロードしたい、今したい。

そう…なんというかこう…チェック用のコードを書くまでもなく…すぐ動かしたい!

そこでrepl.vim

ruby_repl_vim.png


repl.vim

 repl.vimはujihisaさん作の、quickrun.vimをrepl用にしたためたかのようなVimプラグインです。 ( ※この感想は個人のものです )

上記では、編集中かつ、未保存のコードをRubyのインタプリタ(irb)に読み込ませています。

  • 対応言語 (2015-12-17時点)
    • Haskell (ghci)
    • Ruby (irb)
    • Python (python (python2もしくはpython3))
    • Erlang (erl)

また、各言語に対応するインタプリタはユーザ側で指定可能です。

( filetype 'python'に対して 'python2' を起動する…など )

repl.vimの役に立ち力

即実行力の強さ

 はい! 今貴方は小物のプログラムを(以下略

今度はHaskellとしましょう。

以下のようなコードを書きました

dataLista=Nil|Consa(Lista)derivingShowemp=Nil::ListIntuni=Cons10Nilxx=Cons10(Cons20Nil)fromGeneral::[a]->ListafromGeneral[]=NilfromGeneral(x:xs)=x`Cons`fromGeneralxsxxx=fromGeneral[1,2,3]

 Rubyであれば、下の方に動作チェック用のコードを付け足せばすぐに動かせますが、
Haskellの場合はmainを書かなければいけません。

具体的には以下のようなもの。

main::IO()main=doprintempprintuniprintxxprintxxx

動作確認のためにこれを書くのは面倒です。

そこでrepl.vim!

 repl.vimを使えば、List型及びそれ以下の関数を読み込んだHaskellのインタプリタを起動することができます。

haskell_repl_vim.png

終わりに

 使ってみてね★

 全く別の話なのですが、この前repl.vimのコミット権を貰えたので
最近repl.vimにコミットとかしてます。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>