2012-04-23 16 views
9

私はbpythonを使うのが大好きですが、Rubyにはinteractive_editorという宝石があり、これはVi(m)とRubyシェルを組み合わせて開発プロセスをより快適にすることができます。 interactive_editorの良い紹介:http://vimcasts.org/episodes/running-vim-within-irb/Vi(m)統合が可能なPythonインタプリタシェル?

PythonシェルとVi(m)を組み合わせるためのツールはありますか(Rubyのinteractive_editorなど)ですか?あなたはVIM-ipython vimのプラグインを見ている可能性が

+0

err、Pryには既に 'interactive_editor'の機能が組み込まれています。 [ここをクリック](https://github.com/pry/pry/wiki/Editor-integration) – horseyguy

+0

実用的な解決策は、ここに示されたアドバイスに従うことです - http://stackoverflow.com/questions/6636124/how- do-i-make-vi-editing-mode-work-in-using-rvmこれは、PythonインタプリタのキーバインディングをVI – arcseldon

答えて

11

https://github.com/ivanov/vim-ipython

をこれはipythonシェルをインストールする必要があります(ただし、それが多くの機能が追加されますように私はとにかくこれを行うことをお勧めします標準のPythonシェル)。

あなたはipythonをインストールしたくない場合は、私はvimのためのConqueShellプラグインを見たお勧め:

http://www.vim.org/scripts/script.php?script_id=2771

これは、あなたがvimの内殻を実行することができます。 vim-ballを入手したら、

:ConqueTerm python 

vimで直接Pythonシェルを取得するだけです。

+0

と一致させたい場合です。ために。 – StandardNerd

+0

ConqueTermは素晴らしいよ、+1 – Sam

1

私はVIM-ipythonを動作させることができなかったので、私はConqueShellで動作します。このソリューションの.vimrc製:新しいVimの画面から

imap <silent> <leader>m <Esc>Vy<C-w><C-w>p 
nmap <silent> <leader>m Vy<C-w><C-w>p 
vmap <silent> <leader>m y<C-w><C-w>p 
imap <silent> <leader>n <Esc><C-w><S-w>']0j 
nmap <silent> <leader>n <C-w><S-w>']0j 

をしてConqueShellがインストールされ、タイプ:ConqueTermSplit python。元のウィンドウ(ショートカットは<C-w><S-w>)に戻り、Pythonコードを入力します。

カーソルの下の行をインタープリタに送信するには、<leader>mを押します。私はリーダーをコンマにマップしているので、それはかなりシンプルな動きです。コードブロックを送信するには、ビジュアルモードでいくつかの行をハイライトし、<leader>mを実行します。同じように動作します。

スクリプトに戻るには、<leader>nは、実行した直後の行に移動します。副次的なメリットとして、このコマンドを使用してウィンドウ間ですばやく移動することもできます。

EDIT(2-20-2015):インタプリタとしてipythonを使用している場合は、%autoindentを実行して、一部のコードブロックの書式設定を保持するために自動インデントをオフにする必要があります。乾杯!

関連する問題