c-bata web

@c_bata_ のメモ。python多め

VimからPyCharmに乗り換え(機能の把握と設定)

はじめに

現在、vimrcはまだ500行ほどだけどすでにメンテが負担になってしまっている。試しにPyCharm使ってみたらびっくりするくらい使いやすかったので 今回は、PyCharmの設定と便利機能の把握、ついでにvimrcもコンパクトにする。

参考資料

PyCon JP 2014で清水川さんの発表がとても参考になった。。


CH06 PyCharm活用術 (ja) - YouTube

PyCharm 活用術 (ja)

この発表聞いてPro版買おう!とか思ってたら学生用のライセンスがあった(Free for students:)。学校のメールアドレスと名前を入れたら登録できた。後はJetBrainsのアカウントを作ってからPyCharm Professionalをダウンロード・インストール、起動してからサインインすれば使えました。

PyCharmの設定・プラグイン

f:id:nwpct1:20140927220206p:plain

  • テーマの変更

    Android Studioと同じようにデフォルトのテーマではなくダークテーマ「Darcula」を使用。かっこいいし見やすい。「Preferences」→「Appearance」→「Theme」のDefaultをDarculaに変更。

  • vimプラグイン

    キーバインド自体はやっぱりvimを使う方が楽なので、Vimプラグインを使う。「Configure」→「Plugins」→画面左下の「Install JetBrains plugin...」→「IdeaVim」を右クリックしてDownload and Installを選択肢て終わったら再起動。再起動するとKeymapの選択画面が現れるので「Mac OS X 10.5+」を選択して「OK」をクリック。

  • 折り返しについて

    pep8では一行の長さが79文字までとなっていますが、PyCharmはデフォルトのままだと120文字まで警告が出ないようです.「Preferences」→「Code Style」からRight marginの項目を変更すれば良いようです(詳しい方法は→ Pycharmのpep8 InspectionでE501がチェックされない - 雑記)

実質vimプラグインを入れただけでほとんど設定なんて加えてないけど、今の時点でもかなり便利に使える。今後使っていく中で、便利なプラグインとか設定があれば追記します。


PyCharmの機能・ショートカット

機能

VCSの連携や静的コード解析・コード補間やデバッグ実行などは当然できます。その他に上の動画を見ていて良さそうだなと思った機能をメモ。

  • Vagrant連携
  • ssh越しのリモートデバッグ
  • Database連携(スキーマの関係を可視化したりSQL文で操作したり)
  • Python, JS同時デバッグ
  • templateもステップ実行できる
  • Run manage.py Task ... でmanage.pyをインクリメンタルに検索しながら実行できる

エディタとしての機能はともかく、デバッガ周りがかなり強力そうです. 詳しい使い方は、使いながら覚えていこうと思います。Vagrant連携とかはすぐに使っていきたい。

ショートカット

  • 検索:shiftキーを2回
  • ファイルを開く:Command+Shift+O
  • 最近開いたファイルを開く:Command+E
  • ナビゲーションバー:Command+↑
  • ファイルはFinderからDrag&Dropでも開ける


vimをコンパクトにする

vimrcの行数を減らす上での方針
  • コードをちょっと編集する際に、PyCharm起動するのは大変で、vimでやった方が楽な場面っていうのは今後もあるはず。そこでjedi-vimのようなPython書くときに欠かせないプラグインは残す。

  • vimに依存しすぎないためにも、IDE(XCode, Android Studio, PyCharm)での操作に支障をきたしてしまいそうなプラグインはできるだけ導入を控える。

導入したプラグイン

ちょこっとコードをいじるぐらいならvimの方が便利な場合はあると思うので、jedi-vimとか主要プラグインは残しておく. まだvimrcに関しては整理中で,使いながら更に減らしていきたいのでとりあえず今のvimrcに残しているプラグインだけメモ.

  • davidhalter/jedi-vim
  • rizzatti/funcoo.vim
  • rizzatti/dash.vim
  • Shougo/unite.vim
  • Shougo/vimfiler.vim
  • Shougo/vimproc
  • YankRing
  • neocomplete
  • mattn/gist.vim
  • itchyny/lightline.vim
  • tomasr/molokai
  • sjl/badwolf

もうちょっと減らせそうだなぁ

(2014/10/17 追記 : gitまわりはコマンドラインでやったほうが色んなところで活かせそうだったので削除。ただ、gist使う時はgist.vim便利なのでそれだけ残す)


今後の勉強内容

最近は、Test-Driven Development with Pythonを読みながら、Djangoとテストについて勉強中です。 PyCharmはDjango開発にかなり相性良さそうなので、積極的に使っていきます。

↓続編書きました

PyCharmで開発する手順メモ(Git, Virtualenv) - c-bata web

おわりに

前から欲しかった実践vimKindle版が半額になってたので買ってしまった.