네가 맞아. prompt_toolkit
은 .inputrc
을 무시합니다. IPython 5.0.0 프로파일 설정 파일에서 vi
모드에 대한 커스텀 키 바인딩을 정의하는 방법이없는 것 같습니다.
해결 방법 현재 사용 중입니다. 꽤 아니지만 지금은 효과가 있습니다.
IPython docs에 따르면 시작 구성 스크립트에서 키보드 바로 가기를 지정할 수 있습니다. 대신 ESC
에 다시 바인딩 jk
의
는 I 탐색 모드로 전환하는 prompt_toolkit
이벤트 VimInsertMode()
단축 내부 유니 "K"(u'k'
) 다음 유니 코드 "J"(u'j'
)를 만들고있다.
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 필요에 따라 다른 단축키를 구현하는 데 도움이됩니다
은 내가 다음 코드로
.ipython/profile_default/startup/keybindings.py
를 만들었습니다.