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

関連記事

Python での Log 収集

プロジェクトが大きくなるにつれて、プログラムの不備を見つけるのにログの構成、ログデザインを考えることが重要になってく

記事を読む

Python の超お手軽のネットワーク分散コンピューティングライブラリSCOOP

SCOOPとは ssh とPython の設定を適切にするだけで、簡単にネットワーク間での分散処理が実行できる。

記事を読む

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

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

記事を読む

Call Python/Numpy Function within Metatrader 4

Github Link [bm url="https://github.com/fx-kirin/mt4-nump

記事を読む

Derivatives analytics with Python の学習ノート 1,2章

洋書を読んでいると、いつも読んだ気になってちゃんと理解出来てるか自信がないことが多いので、チャプターごとに要点をまとめ

記事を読む

no image

stop automatically closeing vim-ipython output with jedi-vim

Even though I commented out the following code in vim_ipytho

記事を読む

Windowsユーザ御用達の uci.edu から直接python wheelをインストールしてくれるライブラリ pipwin

あんまり情報が出てこないのでメモ書き。 https://twitter.com/fx_kirin/status/9

記事を読む

no image

vim-ipythonをWindows 7 x64で使うとR6034 が出る件

個人的なただの忘備録。 Visual Studioのコマンドプロンプトから実行すること。 http://st

記事を読む

CPP extension vs Cython vs CPython on calculating the mean of numpy array

I'd like to get any feedback to make cython faster like

記事を読む

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

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

記事を読む

Message

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

Adsense

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

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

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

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

SQLAlchemy のマイグレーションライブラリ Alembic を使ってみる。

SQLAlchemyの作者が作ったデータベースマイグレーションツール。個人的には、SQLAlch

Avoiding the problem of connect to outside of LAN with L2TP/IPSec on Ubuntu 18.04.

とても困って、原因の特定に2日かかった。疲れた。確定申告したいのに。 The IPSEC tu

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

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

→もっと見る

PAGE TOP ↑