あなたはそうです。 prompt_toolkit
は、.inputrc
を無視します。 IPython 5.0.0プロファイル設定ファイルのvi
モードのカスタムキーバインドを定義する方法はありません。
ここでの回避方法私は現在使用しています。それはかなりではありませんが、今のところうまくいきます。
IPython docsによれば、スタートアップコンフィギュレーションスクリプトでキーボードショートカットを指定できます。 ESC
へ
代わりの再バインドjk
、私はナビゲーションモードに切り替わりprompt_toolkit
イベントのショートカットVimInsertMode()
の内部Unicodeの「K」(u'k'
)に続いて、ユニコード「J」(u'j'
)を作ってるんです。
私は、次のコードで.ipython/profile_default/startup/keybindings.py
作成:
from IPython import get_ipython
from prompt_toolkit.enums import DEFAULT_BUFFER
from prompt_toolkit.filters import HasFocus, ViInsertMode
from prompt_toolkit.key_binding.vi_state import InputMode
ip = get_ipython()
def switch_to_navigation_mode(event):
vi_state = event.cli.vi_state
vi_state.reset(InputMode.NAVIGATION)
if getattr(ip, 'pt_cli'):
registry = ip.pt_cli.application.key_bindings_registry
registry.add_binding(u'j',u'k',
filter=(HasFocus(DEFAULT_BUFFER)
& ViInsertMode()))(switch_to_navigation_mode)
The prompt_toolkit sourceは、必要に応じて、あなたが他のショートカットを実装するのに役立ちます。