*nix의 ipython에서 vi 키를 사용하는 방법
현재 Bash에서 사용set -o vi
bash 프롬프트에서 vi 모드를 유효하게 합니다.
ipython에서는 어떻게 해야 하나요?
최근 누군가가 여기를 배회하는 경우를 대비하여 IPython 5.0은 readline에서 prompt_toolkit으로 전환되었습니다.따라서 이 질문에 대한 최신 답변은 옵션을 전달하는 것입니다.
$ ipython --TerminalInteractiveShell.editing_mode=vi
또는 프로파일 설정으로 글로벌하게 설정한다(~/.ipython/profile_default/ipython_config.py
; 로 작성한다.ipython profile create
없는 경우)와 함께:
c.TerminalInteractiveShell.editing_mode = 'vi'
다른 많은 리드라인 호환 앱에서 솔루션이 작동하는 것 같습니다.
에서 다음 항목을 설정합니다.~/.inputrc
파일:
set editing-mode vi
set keymap vi
set convert-meta on
출처 : http://www.jukie.net/bart/blog/20040326082602
Vi 모드와 Emacs 모드를 대화식으로 전환할 수도 있습니다.서로 전환하는 읽기 줄 문서에 따르면 'Meta'+CTRLj 키 조합을 사용할 수 있어야 하지만, Mac에서는 vi-mode(ESC가 'Meta' 키로 사용됨)로만 전환할 수 있는 것 같습니다. ++CTRLj입니다.Emacs 모드로 다시 전환하려면 +를 e사용할 수 있지만, 저는 Mac에서 'Meta'+CTRLe를 사용해야 했습니다. +++CTRLe입니다.
참고로 ~/.inputrc는 다음과 같이 설정됩니다.
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
ipython
는 읽기 라인 라이브러리를 사용하며, 이는 를 사용해 설정할 수 있습니다.~/.inputrc
파일을 추가할 수 있습니다.
set editing-mode vi
모든 것을 만들기 위해readline
베이스 어플리케이션에서는 Emacs 대신 vi 스타일의 키바인딩을 사용합니다.
IPython 5에서 인터랙티브하게 모드를 전환할 수 있어야 했고 프롬프트 매니저를 즉시 다시 작성하면 모드를 전환할 수 있다는 것을 알게 되었습니다.
a = get_ipython().configurables[0]; a.editing_mode='vi'; a.init_prompt_toolkit_cli()
.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 *
마지막 행은 ipython을 Django와 함께 사용하여 기본적으로 모든 모델을 가져오려는 경우입니다.
에 다음 2개의 Configuration 추가~/.ipython/profile_default/ipython_config.py
그럼 vi 바인딩을 사용하여 번거로운 속도 저하 문제를 방지할 수 있습니다(vim 모드 간 전환 관련).
c.TerminalInteractiveShell.editing_mode = 'vi'
c.TerminalInteractiveShell.emacs_bindings_in_vi_insert_mode = False
언급URL : https://stackoverflow.com/questions/10394302/how-do-i-use-vi-keys-in-ipython-under-nix
'programing' 카테고리의 다른 글
각 디렉토리의 파일 수를 어떻게 계산합니까? (0) | 2023.04.17 |
---|---|
특정 열에 데이터가 포함된 마지막 행을 찾으려면 어떻게 해야 합니까? (0) | 2023.04.17 |
WPF 차트 컨트롤 (0) | 2023.04.17 |
Powershell에서 로그 파일 생성 (0) | 2023.04.17 |
T-SQL에 3진수 조건 연산자가 있나요? (0) | 2023.04.17 |