vim-slime を使って VIM の内容をコンソールに送信
Photo by iSlime
この記事はVim Advent Calendar 2016の20日目の記事です。
選択行の内容をコンソールに送信
インタラクティブコンソールが立ち上がるようなプログラミング言語を VIM で書いていて、カーソルの位置のコードをコンソールに送信したいなんて人に朗報です。
vim-slime
vim-slime は、そんな内容を実現してくれるプラグインです。
もともとは Emacs の slime の VIM 版だそう。
インストール
導入は NeoBundle とかで問題なくはいります。
対応コンソール
- screen
- tmux
- whimrepl
- ConEmu
ConEmu も対応しているので、Linux 環境だけでなくWindows にも対応できます。
標準の使い方
1 |
C-c, C-c --- the same as slime |
Emacs の slime と同じく、C-c
の2度押しで送信できます。
1 |
:SlimeConfig or C-c, v |
送信するコンソールを指定するコマンドです。
このあたりはGitHubレポジトリを見ていただいたほうがいいです。
Python 開発用の vimrc の設定
私の設定例を紹介します。
1 2 3 4 5 6 7 8 9 |
" s---- Slime Ipython Debugging let g:slime_target = "tmux" let g:slime_python_ipython = 1 let g:slime_default_config = {"socket_name": "default", "target_pane": "2"} let g:slime_dont_ask_default = 1 autocmd FileType python nmap autocmd FileType python xmap autocmd FileType python nmap " e---- Slime Ipython Debugging |
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化を目指していらっしゃる方は、ぜひ一度お試しあれ。



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年に帰国。零細株式会社経営中。
- Web |
- More Posts (386)
Adsense
関連記事
-
-
絶対ダメ! マルチスレッドでの共通変数のインクリメント演算
デバッグ中の発見 とあるマルチスレッドプログラムをPythonで書いていた際に遭遇した誤使用です。C/C++等
-
-
PythonでsleepしているThreadを呼び起こすプラクティス
Pythonのsleep中のThreadをWake up PythonのThreadにて、RubyのThr
-
-
Quantopian の pyfolio を単利運用に対応させる。
pyfolio は どんなデータを入れても複利運用として計算してしまうので、人によっては望まない検証方法だったりし
-
-
VimでPythonのIDE 環境を一から構築する
追記 これ見ておいたほうがいいかも。 Vimを最強のPython開発環境にする2 - Λlisue's blog
-
-
stop automatically closeing vim-ipython output with jedi-vim
Even though I commented out the following code in vim_ipytho
-
-
Python での Log 収集
プロジェクトが大きくなるにつれて、プログラムの不備を見つけるのにログの構成、ログデザインを考えることが重要になってく
-
-
Rust で Python の拡張ライブラリ作成 と numpy との性能比較
この記事は Python Advent Calendar 5日目の記事です。遅れてすみません。 Rust で Py
-
-
Python での ポートフォリオの計算
Python でのポートフォリオの計算 ポートフォリオの計算について色々調べてみた。とりあえず使いたいって人はpo
-
-
話題のクローラー・スクレイピング!PythonならScrapyが超優秀な件
Rubyの読書会に行ったら、Pythonの面白いお話を聞けたというお話です。 Rubyクローラー本の読書会に参
-
-
Python の超お手軽のネットワーク分散コンピューティングライブラリSCOOP
SCOOPとは ssh とPython の設定を適切にするだけで、簡単にネットワーク間での分散処理が実行できる。
Adsense
NEW ENTRY
-
- Python 2, Python 3 で更新したファイルを調べてreloadするパッケージを作った。
pdbでのデバッグにはreload機能がない IPythonには優秀なautorelaod機能
-
- Python での Log 収集
プロジェクトが大きくなるにつれて、プログラムの不備を見つけるのにログの構成、ログデザインを考える
-
- Flast-Sockets + redis-py で簡単 Websocket サーバー実装
参考にしたサイト Using WebSockets on Heroku with Python
-
- Rust で Python の拡張ライブラリ作成 と numpy との性能比較
この記事は Python Advent Calendar 5日目の記事です。遅れてすみません。
-
- システムトレードを始める前に知っておきたかったこと
今日の勉強会で発表してきました。nbviewer に共有しておきます。 システムトレードを始め
Twitter
RSS
カテゴリー
-
人気記事一覧
任意のインジケータのシグナルでアラートやメール機能を追加する 1,540ビュー
Pythonで簡単自動化!PyAutoGuiが便利すぎて感動したのでご紹介 652ビュー
【β版】裁量トレード検証ツール TradeTester公開 242ビュー
Pythonのsocketでプロセス間通信をして価格データ等を送信する 232ビュー
Pythonで簡単に画像検出でLinux GUI操作自動化ライブラリを作ったよ 214ビュー
AMD Ryzen & Nvidia GTX 1080 BTO PC 構成・組立と Ubuntu インストール 157ビュー
Python の超お手軽のネットワーク分散コンピューティングライブラリSCOOP 147ビュー