PyCharmからVimを開きたい

タイトルままです。 Twitterでもつぶやいた通り、IdeaVimってたまにバグりますよね! そうゆう時、「PyCharmから、今開いているファイルをVimで開きたくなります。」

こんなこといってると、「Vimのキーバインドを使いたいなら最初からVim使えよ」と心の声がいってくるのですが、IdeaVimはIdeaVimで便利に使ってます。ということで、PyCharm(IntelliJ)からVimを開く方法を調べたのでメモ。

前提

  • OS: macOS Sierra/High Sierra
  • PyCharm: 2017.2.3
  • IdeaVim: 0.48

やること

Preferences > Tools > External Tools から + を押して以下のように入力する

  • Name: vim
  • Program: /Applications/MacVim.app/Contents/MacOS/Vim (Vimのインストールしてる場所)
  • Option: Open console のチェックを OFF
  • Prameters: "-g" $FilePath$ "+$LineNumber$"
  • Working directory: $ProjectFileDir$

設定が完了すると以下のようになります。

../../../_images/confg_for_open_vim.png

そして Find Action から vim と探してみると、今PyCharmで開いているファイルが、カーソルが当たってる行を指定して開けます。

../../../_images/find_action_vim.png

やった!これでPyCharmからVimが開ける!

ハマったこと

GVimがアクティブになっていないとウィンドウが起動しない ことですね。

アクティブじゃない(GVimのプロセスが起動していない) と External tool 'vim' completed with exit code 0 と画面左下にメッセージが表示されるだけで終了してしまいました。

この時点で「GVimを常に起動しておけばいいや」という結論になったので深追いはしてませんが、GVimがアクティブじゃなくても起動してくれるようになると便利とは思いました。

まとめ

またひとつPyCharmからVimが使えるようになって便利

Python入門者向けハンズオン #6 でTAしてきた #PyNyumon

Python入門者向けハンズオン #6 - connpass

../../../_images/pynyumon.JPG

前回のPyNyumon に引き続き2回目のTAで、 今回は講師の @laughk さんのフルアシスタント担当でした。

いろんなことが得られてよかったという思いと、全然だなーという至らなさと両方味わった感ありますが、なにはともあれ無事に終わってよかった。

以下、イベント前〜後に思ったこと、起きたことの雑多なメモです。

よかったこと

運営的なあれこれを体験できた

前回TAとして参加して1対1で説明したり、GitHubにある資料にPR送ったりとかはしたけど、 今回は講義中に1対N(参加者全員)という場面も経験できたり、資料も自分がPR送るだけでなく他の人のレビューとか、アシストとかもしてやることが広がった。

当日頑張ればというところだけだったのが、事前準備からアフターまでそれなりに考えてやる経験ができたのはよかった。

わりとイベントが好評だった

アンケートでも好評だったみたいです。イベント後の飲みでも「いい掛け合いだったよ」とか言ってもらえて頑張ったかいあったかなーと思いました。

Pythonの便利ポイントや使いみちとか理解してもらえた

仮想環境の便利さや使い分け、PyCharmの使い方、いつPythonを使うかみたいな標準やデファクト・スタンダードになっているものの利点を伝えたときに「なるほどー」となってもらえたのはよかった。

他にも pip install requests したとき依存ライブラリのインストール途中で止まるので依存がないバージョンのrequestsを入れてもらったりして、参加者がそこでストップしてしまわないようにできたかなー。

改善したかった・したいこと

講義資料とかのメンテのしやすさ向上

資料にPR1つ送るにしても、「それ昨日までずっと話題に上がってたのに」というのを毎回最初から説明するのは地味に骨が折れる。GitHubのリポジトリにissuesやPRのテンプレート機能とか、Contributing Guidelinesを用意しておくと少しはよくなるのかな。

読まない人は読まないけど、「ここ読んで」といえる準備をしておけば後が楽になるはずとは思った。

端的に説明するスキル

詳細に説明しようとすると140文字じゃ足りないものに対して「どうなんですか?」と聞かれるのはむずかしい。。。話の優先度とかもあるし、そもそも違う話だろっていうのもある…

前提を共有するの大事。スクレイピングをしたいとして、どのサイトのどの部分をどのように取得したいのかを知らずに回答することは難しい。(まあそれがちゃんと質問できる人は自力でできるはずなのでそもそも聞いてこないだろっていうのもあるかも)

講師・アシスタントのはじめて問題

実務でコード書いてたり、本書いたことあったりと力はあるはず(?)の教える側が、「運営」としてどうまわすかって結構難しいなーと。どこで切り上げていいかわからず待ってしまったり、ずるずる進めてしまったりという部分があったかなと。少なくとも、講師とアシスタントには最初からマイクが両方にあったほうがよかったな。

まとめ

運営側って大変だなーと思うところと、 何かできるようになっていくのは楽しいと思う気持ち、 教えようとすると実は自分が学習するなーという感じでした。

駄文を書き連ねてみましたが、 イベントに参加した人が一人でも多く次への一歩を踏み出せたなら何よりですかね。

講師の@laughkさん、TAのみなさん、運営、参加者の方々ありがとうございましたー。

JobChangeして半年が過ぎました

無事、3ヶ月の試用期間が終わり本採用になってました。

今年の4月から 某イベントサイト を運営しているPython企業でPythonとかDjangoを書いてます。Twitterでぼちぼち呟いてたり、お会いしてる方には伝えたりしてましたので今更感がすごいですね。 最初は猛者ばかりの環境に来て、3日で屍になるかと思ってましたがなんとか生きています。

入社に至る経緯

  1. ↑こんなつぶやきをしてみる。
  2. Twitter経由で声をかけられる
  3. 会社訪問して面接する
  4. 入社試験受ける
  5. 内定GET!

その節は皆さんありがとうございました。

転職してどうか

とにかく”働きやすい”会社だなと感じています。個人的に「ないと困る」「あって当たり前」というものから、「あったらいいのにな」と思うようなことまでが普通にあるので、とにかくストレスを感じにくいです。例を挙げると、

  • Pythonで仕事ができる
  • 選択できる勤務時間
  • 時間休の概念
  • 週5リモートワーク可
  • OSSに貢献するのが普通な文化
  • 好きな開発環境・エディタが使える (PyCharm, Vim, Emacs, etc…)
  • ソフトウェアのライセンス費がでる
  • デュアルディスプレイ
  • GitHubが使える
  • CI環境がある
  • Slackでオンラインコミュニケーション
  • 仕事で困ったことがあっても相談できる相手がいる
  • スタンディングデスク/フリーアドレス席が使える
  • 無料Redbull/ウォーターサーバー/各種ドリンク
  • ストレスコントロールができる同僚たち
  • 電話に出る必要がない
  • 常に学んで良くしていこうという姿勢だけでなく実行していく文化がある
  • 服装自由
  • 無駄な会議や稟議が必要ない
  • etc…

実感できていないところがあるだけでまだある気がしています。

リモートワークについて

転職するにあたり気になってたのがこれです。会社にいるメリット・デメリットと、リモートで仕事できるメリット・デメリットがそれぞれありますが、リモートを選択できる自由があるというがすごく良いです。

リモートワークで感じたメリット

  • 台風や雨の日に出社しなくて良い。
  • スキマ時間に病院行ける。
  • 宅配の荷物を受け取れる。
  • 家の雑事を片付けられる。
  • 起きたらすぐ仕事できるし、仕事終わったらすぐ寝れる。
  • 満員電車に乗らなくて良い (徒歩通勤なのであれですが)

リモートワークで感じたデメリット

  • 会社にいれば1日1本飲めるRedbullが飲めない…
  • 家にはウォーターサーバーがない…
  • 出社や退社するついでにいけたはずの買い物や運動しに移動するのが面倒 (←アカン)

目標とか

せっかくPythonの会社に入ったのでPythonたくさん書いてPyConで発表できるくらいになりたいですね。会社はPythonやらDjangoやら強い人ばかりなので、まずはその辺をしっかり身につけたい。

まとめ

Python楽しいよPython。

おまけ

内定の提示を受けたときのTweetがこちら。

いつでも転職祝いは受けつけています! http://amzn.to/2lwqVSJ