입력 히스토리는 업무와 관련된 대외비 코드가 있어 초기화 하였다.
최근에 NLP 처리 관련 ML 작업을 조금 하고 있는데, training iteration을 조금 더 단순화 하기 위해서 코드를 매번 바꾸는 형식 아니라 웹이나 CLI로 만들어서 고민하던 중 CLI를 만들어볼까 하다가 발견한 python-prompt-toolkit 이라는 페이지에서 우연히 발견하였다.
설치에 큰 노력이 들지 않아 설치해봤는데, 이게 꽤 물건이다. iPython을 버려도 될 정도로 훌륭하다. Quicksilver에서 Alfred로 넘어갔을때 처럼 30분 써보고 바로 결정하는 일이 잘 없는데, 이게 딱 그 경우.
이렇게 여러가지 설정도 제공하고, iPython 처럼 사용도 가능하다.
오류가 발생하면 구문 에러를 출력하고 위치를 알려주는게 아니라, 구문 에러가 나는 곳으로 커서가 이동이 된다.
vi 식으로 코드 편집도 가능해서, u
를 이용해서 NAV 모드에서 입력 취소도 가능하다. 위 스크린샷은 Esc, Esc, w, w, cw, ;, Space
로 오류를 보정한 모습.
히스토리 화면에서 전에 입력했던 이력을 짜집기해서 프로그램을 만들 수도 있다. 이건 꽤나 괜찮은 듯. 기능을 좀 더 확인해봐야겠지만, 왜 더 알려지지 않았는지 신기할 정도로 훌륭한 REPL이다.
아쉬운 점은, 자동 완성이 iPython에서 개선된것 같지는 않다. 동일한 버그(?)들이 있다. (그래도 Jupyter 보다야...)