現在 Bashset -o vi
では、bash プロンプトで vi モードを有効にするために使用しています。
これをipythonで実行するにはどうすればよいですか?
ソリューションは、他の多くの readline 互換アプリで機能するようです。
~/.inputrc
ファイルに次のように設定します。
set editing-mode vi
set keymap vi
set convert-meta on
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
ipython
readline ライブラリを使用し、これは~/.inputrc
ファイルを使用して構成できます。あなたは付け加えられます
set editing-mode vi
そのファイルに追加して、すべてのreadline
ベースのアプリケーションが Emacs の代わりに vi スタイルのキーバインドを使用するようにします。
.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 を使用し、デフォルトですべてのモデルをインポートする場合です。