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

関連記事

Python Mock で オリジナルのインスタンメソッドのを呼びたい時

autospec と sideeffect を組み合わせるのが解決策だった。

記事を読む

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

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

記事を読む

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

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

記事を読む

joblib によって謎のバグが起こる

joblib 0.14.1 にて確認.0.13.2 だと起こらない.import joblib を消すと正常に動く.

記事を読む

Call Python/Numpy Function within Metatrader 4

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

記事を読む

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

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

記事を読む

Python x64 & MinGW64 環境の構築

流石に詰まりまくったのでまとめることにする。 MSYS2 をインストール 個人的にこれからメインで使いたいと思っ

記事を読む

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

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

記事を読む

Python での Log 収集

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

記事を読む

PythonのThreadを待機させるか、必要の度に作成するのかのベンチマーク比較

QueueとThreadのベンチマーク比較 2つのケースについて比較検証してみました。 実際に処理する内

記事を読む

Message

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

Adsense

joblib によって謎のバグが起こる

joblib 0.14.1 にて確認.0.13.2 だと起こらない.import joblib を消

Fixing kernel error AMD-Vi: Event logged IO_PAGE_FAULT on Ryzen Machine

My pc was periodically shut down on 7:40 am JS

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑