Wizard In The Market
システムトレードの魔術師

*

vim-slime を使って VIM の内容をコンソールに送信

公開日: : 最終更新日:2016/12/20 Python, Vim , , ,

4155693566_8637738fbc_b

Photo by iSlime


この記事はVim Advent Calendar 2016の20日目の記事です。

選択行の内容をコンソールに送信

インタラクティブコンソールが立ち上がるようなプログラミング言語を VIM で書いていて、カーソルの位置のコードをコンソールに送信したいなんて人に朗報です。

vim-slime

vim-slime は、そんな内容を実現してくれるプラグインです。

もともとは Emacs の slime の VIM 版だそう。

インストール

導入は NeoBundle とかで問題なくはいります。

対応コンソール

  • screen
  • tmux
  • whimrepl
  • ConEmu

ConEmu も対応しているので、Linux 環境だけでなくWindows にも対応できます。

標準の使い方

Emacs の slime と同じく、C-c の2度押しで送信できます。

送信するコンソールを指定するコマンドです。

このあたりはGitHubレポジトリを見ていただいたほうがいいです。

Python 開発用の vimrc の設定

私の設定例を紹介します。

  • slime_targetで、コンソールタイプを選択します。
  • slime_python_ipythonは、IPython 用に送信する内容を成形してくれる設定です。
  • slime_default_configで、標準の送付先を設定します。今回は、2つ目のPaneに対して送信するようになっています。
  • slime_dont_ask_defaultは、初回送信時の確認プロンプトを非表示にします。

autocmd 以下は F2 で選択行の内容と、選択範囲の送信を行うようにし、F11でファイルの実行を行うようにしています。また、コードを送信した後にカーソルを下に移動するようにし、F2を押していけばコードの逐次実行が可能になります。

各プログラミング言語の設定例

ここにいくつかの言語の設定例が紹介されています。

PyDev のような環境が欲しかった。

私は Python プログラマで Vim だけを使いたいなぁと思いつつ、普段は Eclipse の PyDev で vrapper プラグインを使って開発していたのですが、vim-slime に出会ってからはほとんど VIM 上で開発ができるようになりました。PyDev を使っていた上で、とても重宝していたのが F2 による、選択行や選択範囲のインタラクティブコンソールでの逐次実行。これがあるとないで、開発効率がかなり左右されてしまうほどです。

VIMのIDE化を目指していらっしゃる方は、ぜひ一度お試しあれ。

にほんブログ村 為替ブログへ 
Fx-Kirin

About Fx-Kirin

2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。

Adsense

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 67 follow us in feedly

関連記事

no image

stop automatically closeing vim-ipython output with jedi-vim

Even though I commented out the following code in vim_ipytho

記事を読む

PythonでsleepしているThreadを呼び起こすプラクティス

Pythonのsleep中のThreadをWake up PythonのThreadにて、RubyのThr

記事を読む

Python 2, Python 3 で更新したファイルを調べてreloadするパッケージを作った。

pdbでのデバッグにはreload機能がない IPythonには優秀なautorelaod機能がマジックコマンドで

記事を読む

Interactive Brokers 証券の Python API を利用する

Interactive Brokers 証券とは 日本には珍しく自動売買プラットフォームが提供されいてる証券会社です。

記事を読む

Python2 から Python3 へのC Extension の移行

最初に追加 モジュールの初期化と状態情報を書き換える initmyextension 関数などの初期状態の関

記事を読む

Wine 上の MT4から ZeroMQ を使って Linux の pyzmq の通信をさせる

こんにちは。キリンです。 最近、年に数度のMQLを書くときがきたのですが、Pythonに慣れまくっていると苦行でし

記事を読む

swig で foofunction is private と怒られた時。

例えばのエラーとしてはこれ。 問題は、公開する予定のクラスのpublicインスタンス変数にprivateにしなけれ

記事を読む

Python 2, Python 3 で string を bytes に変換する。

共通の処理系にしておきたかったので、メモ書き。 [bm url="https://python-future.or

記事を読む

まだ Python の datetime で消耗しているの? maya 使おうぜ

この記事は Python Advent Calendar 2016 の 24日目の記事です。 当初は SCOOP

記事を読む

JupyterでボタンからJavascriptを実行して追加のアウトプットをさせない方法

Javascriptを実行するとアウトプットセルの行が増える これがとても面倒だった。上の画像のように、Wid

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

Ubuntu で仮想ディスプレイを使う

雑多な備忘録ですが、せっかくなので残しておきます。 Ubuntu 18.04 の resolv.c

PYPIへの登録を10秒でできるようになる方法

pip 使ってますよね Pythonを使っている人であれば、pip installでライブラリ

The art of debugging with GDB, DDD, and Eclipse の読書メモ

GDBの勉強がしたくて、下の本を原著で読んでみました。10年前の本だけど全然現役でした。

JupyterでボタンからJavascriptを実行して追加のアウトプットをさせない方法

Javascriptを実行するとアウトプットセルの行が増える これがとても面倒だった。上の

まだBokehで消耗してるの?これからはPandas-Bokehを使おうぜ

タイトルはあまり気にしないでください。全然、Bokehで消耗する価値があるとは思っています。ただ

→もっと見る

PAGE TOP ↑