107

現在 Bashset -o viでは、bash プロンプトで vi モードを有効にするために使用しています。

これをipythonで実行するにはどうすればよいですか?

4

6 に答える 6

33

ソリューションは、他の多くの readline 互換アプリで機能するようです。

~/.inputrcファイルに次のように設定します。

set editing-mode vi
set keymap vi
set convert-meta on

ソース: http://www.jukie.net/bart/blog/20040326082602

于 2012-05-01T06:24:54.190 に答える
11

Vi モードと Emacs モードを対話的に切り替えることもできます。それらを切り替えるためのreadlineドキュメントによると、MCjキーの組み合わせを使用できるはずですが、それはviモードに切り替えることしかできないようです-私のMacでは(ESCが「メタ」キーとして使用されています) ) それは: ESC+ CTRL+ j. Emacs モードに戻すには、Ce を使用できますが、それはうまくいかないようでした - 代わりに MCe を使用する必要がありました - 私の Mac ではESC+ CTRL+eです。

参考までに、 ~/.inputrc は次のように設定されています。

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
于 2013-06-28T09:18:01.920 に答える
9

ipythonreadline ライブラリを使用し、これは~/.inputrcファイルを使用して構成できます。あなたは付け加えられます

set editing-mode vi

そのファイルに追加して、すべてのreadlineベースのアプリケーションが Emacs の代わりに vi スタイルのキーバインドを使用するようにします。

于 2012-05-01T06:26:24.647 に答える
0

.ipython 起動設定ファイルで vi を設定できます。持っていない場合は、~/.ipython/profile_default/startup/というようなファイルを追加して作成しますstart.py。次に例を示します。

# Initializing script for ipython in ~/.ipython/profile_default/startup/
from IPython import get_ipython
ipython = get_ipython()

# If in ipython, set vi and load autoreload extension
if 'ipython' in globals():
    ipython.editing_mode = 'vi'
    ipython.magic('load_ext autoreload')
    ipython.magic('autoreload 2')
from Myapp.models import * 

最後の行は、Django で ipython を使用し、デフォルトですべてのモデルをインポートする場合です。

于 2019-08-17T18:11:27.140 に答える