我正在使用 ipython
在 python shell 中,当我按下向上键而不是显示最后一个命令时,它会打印
^[[A
CTRL-[keys] 也不起作用。CTRL-p 打印
^P
terminal\bash下一切正常
我猜是编码问题。我想在 ipython 中启用完整编码,或者更改运行 ipython 的 shell 的编码。
或者欢迎提供任何其他有用信息
答案1
对我来说,我需要创建~/.inputrc
,并填写我的偏好。对我来说,这是:
set editing-mode emacs
"\e[1;5C": forward-word
"\e[1;5D": backward-word
对我来说, 是代表+\e[1;5C
的序列。您的可能相同,但您可以在 bash 中输入+ , +来弄清楚。对我来说,这显示 ,并且您需要知道 表示“转义”,即上面的内容。其余的 ( ) 只是文字,请复制它。是在此键序列上执行的命令,即我希望我的 Ctrl+箭头跳过单词。Ctrl→CtrlVCtrl→^[[1;5C
^[
\e
[1;5C
forward-word
答案2
首先,你可以尝试
pip install readline
另外,请查看您是否拥有libncurses5-dev
或同等产品。
答案3
这对我有用(使用 OSX 和 pyenv):
CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \
LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \
PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \
pyenv install -v 2.7.11
来源:https://medium.com/@pimterry/setting-up-pyenv-on-os-x-with-homebrew-56c7541fd331#.urbdkrc9l