CTRL-[键] 和箭头在终端/ipython 中不起作用

CTRL-[键] 和箭头在终端/ipython 中不起作用

我正在使用 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+箭头跳过单词。CtrlCtrlVCtrl^[[1;5C^[\e[1;5Cforward-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

相关内容