19

IPythonを見つけたばかりで、私は深い恋に落ちていることを報告できます。そして、愛情はすぐに現れました。この事件は、私が screen で持っているもののように、永続的なものになると思います。Ipython と screen はたまたま親友でもあるので、三角関係のドラマです。純粋にプラトニックです。

IPython が苦手な理由は、私が一般的にコマンド プロンプト、特に ksh や csh からインスピレーションを得た *nix 風のプロンプトが好きだからです (そうです、chs は怪物ですが、プロンプトとしては非常に優れた機能をたくさん備えています)。機能)、bash および zsh。そして、IPython は、*nix プロンプト ライダーにとってホームのように感じられます。システム シェルと python を混在させることも、非常に良い考えです。さらに、もちろん、IPython はPython チャレンジのなぞなぞを解くときにも大いに役立ちます。かけがえのない。

今では、私も Vim が大好きです。vi は昔に習ったので、後戻りはできません。そして、選択肢があるときは Mac を使っています。ここで、IPython + MacVim ワークフローを結合したいと思います。これまでに行ったことは、次を使用して Ipython を開始することです。

ipython -e "open -a MacVim"

したがって、IPython から編集すると、ファイル/モジュールがロードされた状態で MacVim が起動します。次のようになります。

In [4]: %run foo #This also "imports" foo anew
hello world

In [5]: edit foo
Editing... done. Executing edited code... #This happens immediately
hello world

In [6]: %run foo
hello SO World

わかった。これは改善できると思います。たぶん、IPython を MacVim に結び付ける方法もあるでしょうか? あなたの経験を共有してください。もちろん、TextMate やその他のお気に入りのエディターを使用している場合は、私も興味があります。たぶん、いくつかのレッスンは一般的なものです。

4

4 に答える 4

14

私は Linux を使用していますが、このヒントは OS X でも使用できると思います。このヒントで推奨されているように、 GNU Screenを使用して Vim から IPython コマンドを送信します。これは私がそれを行う方法です:

まず、ターミナルを開き、「ipython」または必要なものと呼ばれる画面セッションを開始してから、IPython を開始する必要があります。

$ screen -S ipython
$ ipython

次に、これを .vimrc に入れます:

autocmd FileType python map F5 :w<CR>:!screen -x ipython -X stuff $'\%run %:p:h\n'<CR><CR>

次に F5 を押すと、以前に作成した 'ipython' 内でコマンド '%run file' を実行するように Screen に指示します。file は Vim の現在のバッファです。

これを微調整して、Vim から IPython 内で必要なコマンドを実行できます。たとえば、私はこれを使用します:

autocmd FileType python map <F5> :w<CR>:!screen -x ipython -X stuff $'\%reset\ny\n\%cd %:p:h\n\%run %:t\n'<CR><CR>

これにより、%reset が実行され (プロンプトに対して yes と応答)、vim の現在のバッファーが配置されているディレクトリに変更され、ファイルが %run されます。これは、IPython で %pdb をアクティブにしている場合に特に便利です。

内部で IPython が実行されている「ipython」というアクティブな Screen セッションが必要であることを忘れないでください。

Emacsが好きなら。IPython の優れたサポートがあります。

于 2009-01-17T19:13:43.837 に答える
5

この質問は現在古くなっていますが、参考までに-ZeroMQを有効にしてIPython 0.11を使用している場合は、vim-ipython(0.11で出荷された古いバージョン)を見てください。

このプラグインを使用すると、IPython が実行する行またはファイル全体を送信できます。また、IPython で得られるように、Vim でオブジェクトのイントロスペクションと単語補完を取得することもできobject?<enter>ますobject.<tab>

この投稿で、このプラグインの動作中の 2 つのスクリーンキャストをご覧ください。

于 2011-11-10T09:35:52.050 に答える
1

私は同じ問題を抱えていました。実験した後、これが私の解決策です: MacVim.app を /Applications に配置し、mvim がパスにある場合、 ~/.ipython/ipythonrc の行を変更します

editor 0

editor mvim --remote-tab-wait-silent

MacVim をバックグラウンドで開いておく必要があると思います。-f フラグを使用することもできます。MacVim google groupのこのスレッドを見てください。

于 2009-01-26T05:10:40.227 に答える
1

ホーム ディレクトリの ipythonrc.ini ファイルで、エディタを MacVim に変更します。

于 2009-01-17T14:38:20.383 に答える