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

*

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

公開日: : 最終更新日:2015/05/15 Python, Vim , , , , , ,

追記

これ見ておいたほうがいいかも。

WS000008

VimでPythonのIDE環境を構築するために、この週末を費やしていました。納得の行くところまで実装できたので、忘備録として残しておきます。これから新しくPythonのためにVimを使おうと思っている人も、すでに使ってらっしゃる方にも参考になれば嬉しいです。

筆者環境

  • Windows 7 x64
  • Python 2.7.9 x32

Vimの導入・設定

Vimは普通に公式ページからインストールしても結構ですが、日本人の間ではKaoriya版のVimがよく使われているそうです。日本語の対応や、Shogoさんのneocompleteのプラグインを使うために必要なLuaを含めたビルドになっている等、Kaoriyaを使うメリットは多いです。

Vim — KaoriYa
はてブ数
VimのWindows向けコンパイル済みバイナリを配布しています。

上記サイトから対象のVimのバイナリを入手して、対象のProgram Files下のディレクトリに保存してください。フォルダ中の”gvimrc”と”vimrc”というファイルは、とりあえず不要な設定が導入されているので削除しておきます。

他との兼ね合い上、Vimのencodingをutf-8で使いたいため、vim74-kaoriya-win32/switches/catalogフォルダに保存されているutf-8.vimをvim74-kaoriya-win32/switches/enabledフォルダに移動しておきます。

Kaoriyaを使うことに関しては、上記サイトを読んでおくと勉強になります。

Vundleの設定

rubyのBundleみたいな感じで簡単にGit上のVimプラグインを導入するためのプラグインです。

「NeoBundleを使うべき」みたいな記述をとても多く見つけるので、NeoBundleを使ったほうが良いかもしれませんが、まだVundleで事足りる程度しか使いこなせていないため、とりあえずVundleを導入しています。

インストールは~/.vim/bundleというディレクトリを作成し、上記サイトよりダウンロードしたファイルを~/.vim/bundle/vundleに保存します。

~/.vimrcというファイルを作成し、下記のように記述します。

これでVundleを使う準備ができました。

プラグインのインストール

~/.vimrcに下記のようにプラグインを追加していきます。

追加ができたら保存して、Vim上で.vimrcを操作していたならば”:so %”のコマンドを入力、それ以外の場合はVimを再起動します。

上記のコマンドをVim上で行うと、自動でプラグインがインストールされます。

各プラグインの説明と設定

Pythonの強力な入力補完 jedi-vim

Pythonの入力補完用プラグインで、かなり強力です。

ただいくつか不要な機能があるので、無効化するために設定します。

.vimrcに下記を追加します。

~/.vim/bundle/jedi-vim/jedi_vim.pyを少し書き換えます。

見栄えをよくしよう! vim-colors-solarized

solarizedのテーマを使うためのプラグインです。見た目がよく人気らしいので、導入してみました。

テーマを反映させるために、.vimrcに下記コードを追加します。

Vim上から編集中のPythonを実行! vim-quickrun

この機能がなければIDEと呼べないですね。私はquickrunで実現してみました。Pythonファイルの編集中にF11を押せば実行されます。標準の設定から、結果が表示される位置を変更しています。

これがなきゃ始まらない! vim-ipython

これは後日記事にしようと思います。ちょっとした設定をしないとちゃんと動きません。

余計な空白を一気に削除 vim-trailing-whitespace

“:FixWhitespace”というコマンドで余計な余白を削除することができます。

VimでGItの変更点が分かる vim-gitgutter

Vim上からGitの変更点を識別するためのプラグインです。

Pythonの構文解析 pyflakes-vim

Pythonの構文を解析し、エラーや警告を表示してくれるようになります。

入力補完 neocomplete

有名な補完プラグインらしいです。これから勉強します。

ファイルマネジメント nerdtree

ファイルツリーウィンドウを表示してくれます。私は.vimrcに下記のように書き加えて F2 ボタンで表示するようにしました。

ステータスバーをかっこ良く! vim-airline

ステータスバーの表示をかっこ良くするプラグインです。powerlineとどちらを使うかかなり迷ったのですが、機能が豊富そうなairlineにしました。

私のairline用の.vimrcの設定をご紹介しておきます。tablineを有効にしています。

多機能セレクタ ctrlp.vim

カレントディレクトリから対象のファイルを探してくれるコマンドを入力できるようになります。

ctrlp.vimの使い方まとめ – Qiita
はてブ数
ctrlp.vimとは ctrlp.vimは多機能セレクタとかそんな感じのvimプラグインです。環境変わるのが嫌で、カラースキーマやシンタックス関係意外あんま...

.vimrcの追加の設定

Windows歴20年以上なので、CTRL+VとCはどうしても欲しいところ。あと、Insertモード中のBackspaceでは改行も消して欲しい。そういった変更を加えています。

Insertモード中だけ、CTRL+Vでクリップボードに貼付けができ、Visualモード中だけCTRL+Cでクリップボードにコピーできます。

全画面表示で起動時する

デバッガー機能について

Eclipseからの乗り換えなので、pydevのような機能をVimにも欲しくなるのですが、残念ながらWindowsではこの機能の実装は難しいようです。

どうしても必要な場合は、Eclipse上から行うべきです。

参考までに、挑戦したプラグインについてご紹介しておきます。

pyclewn

Home — pyclewn
はてブ数
A Vim front-end to the gdb and pdb debuggers. The debugger output is redirected to a Vim window, the console. The debugger commands are m...

バージョン2.0より前では、Windowsでも動いていたらしいです。今ではインストール用のバイナリも削除され、無理やりインストールしてみましたがちゃんと動きませんでした。

vimpdb(GoogleCode)

普通に使えばちゃんと動きます。ただ、マルチプロセス等をしようすると簡単にVimが落ちます。

gotcha/vimpdb

デバッガーとしてVimが立ち上がるコードが入力できるようになります。Vimからデバッガーを起動する挙動ではないので、なんだかなーっといった感じ。

Eclim

VimからEclipseを操作できるようになるwrapperといった感じ。これが一番現実的です。Vim上からEclipseのプロジェクト管理ができるようになるので、これで開発を進めつつ、必要に慣ればEclipse上でデバッグするというのが一番効率が良い気がします。

まとめ

これで、だいたいの欲しい機能は実装できました。コードを書いてF11で実行してテスト、必要に慣れば、Eclipse上からデバッグするというのが良さそうです。良い快適なVim Lifeを!

あとがき

Vimmerとしてはまだまだnewbieなので、ぜひ先輩方からアドバイスをいただきたく、記事にしてみました。間違っているところや、もっと良い環境の構築方法がありましたら、ぜひご教示いただければ嬉しいです!

最終的な.vimrcファイル

参考リンク集

Using Vim as a Python IDE
はてブ数
About one year ago, I have switched to using Vim as my main text and code editor. Before that, I was using Emacs, but never really master...
Vim as a Python IDE – Unlogic
はてブ数
I’ve been spending quite a bit of time with our good old buddy Python recently, and when I do, I always invite along our mutual friend Vim.
にほんブログ村 為替ブログへ 
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
  • 54 follow us in feedly

関連記事

Python x64 & MinGW64 環境の構築

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

Quantopian の pyfolio を単利運用に対応させる。

pyfolio は どんなデータを入れても複利運用として計算してしまうので、人によっては望まない検証方法だったりし

記事を読む

話題のクローラー・スクレイピング!PythonならScrapyが超優秀な件

Rubyの読書会に行ったら、Pythonの面白いお話を聞けたというお話です。 Rubyクローラー本の読書会に参

記事を読む

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

この記事はVim Advent Calendar 2016の20日目の記事です。 選択行の内容をコンソールに送信

記事を読む

Pythonで簡単に画像検出でLinux GUI操作自動化ライブラリを作ったよ

[2015/02/07 追記] [bm url="http://fx-kirin.com/python

記事を読む

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

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

記事を読む

Pythonで簡単自動化!PyAutoGuiが便利すぎて感動したのでご紹介

以前こんな記事を書いていたのですが、これがまったく不要になるとても便利なPython Libraryがあった

記事を読む

Comment

  1. LIN WEI より:

    If you are using vim 8 / neovim, maybe you can try asyncrun: https://github.com/skywind3000/asyncrun.vim as a replacement to quickrun with better user experience and expansibility.

Message

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

Adsense

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

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

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

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

AMD Ryzen & Nvidia GTX 1080 BTO PC 構成・組立と Ubuntu インストール

まだググっても、構成例とか出てないので参考になるんじゃないかなと。機械学習用ですが、全然ゲーム用

Windows のデスクトップアプリをSSHクライアントから再起動する

シェルスプリクト一発で、システムトレードの設定を一括で更新して、MT4を再起動したいとかそういう

UX21A のディスプレイが壊れたので修理

UX21A のディスプレイがぶっ壊れた。 画面にラインが入ったり、ディスプレイが揺れたりするよ

→もっと見る

PAGE TOP ↑