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
  • 59 follow us in feedly

関連記事

重回帰分析による米雇用統計の予測モデルを作成してみる

この記事はPython その2 Advent Calendar 2015 の17日目の記事です。 1 はじめに

記事を読む

VimでPythonのIDE 環境を一から構築する

追記 これ見ておいたほうがいいかも。 Vimを最強のPython開発環境にする2 - Λlisue's blog

記事を読む

絶対ダメ! マルチスレッドでの共通変数のインクリメント演算

デバッグ中の発見 とあるマルチスレッドプログラムをPythonで書いていた際に遭遇した誤使用です。C/C++等

記事を読む

Python での ポートフォリオの計算

Python でのポートフォリオの計算 ポートフォリオの計算について色々調べてみた。とりあえず使いたいって人はpo

記事を読む

ipdb だけではなく IPython.embed も使おう

ipdb だと複数行の挿入ができなかったりするが、その問題が解消される。明らかにこちらのほうが使い勝手がいい。行のデ

記事を読む

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

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

記事を読む

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

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

記事を読む

no image

JAVA の SHA1 Digestの作り方

>>> import base64 >>> import hashlib >>> base64.b64encode(

記事を読む

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

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

記事を読む

Call Python/Numpy Function within Metatrader 4

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

記事を読む

Message

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

Adsense

Python での Log 収集

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

Flast-Sockets + redis-py で簡単 Websocket サーバー実装

参考にしたサイト Using WebSockets on Heroku with Python

Rust で Python の拡張ライブラリ作成 と numpy との性能比較

この記事は Python Advent Calendar 5日目の記事です。遅れてすみません。

システムトレードを始める前に知っておきたかったこと

今日の勉強会で発表してきました。nbviewer に共有しておきます。 システムトレードを始め

chmod で やらかしてしまったときの対処法

メモ書きです。 find | xargs とかを普通にやってしまうと、すぐに argument

→もっと見る

PAGE TOP ↑