简体   繁体   中英

IPython on emacs blocks keybindings

This is an issue with lots of related questions but none seems to work out for me. I need to use IPython in a similar way as I use Mx shell , but of course with python-related completion. The solution by abo-abo in this previous question How to open IPython interpreter in emacs? does the trick. However, it has the secondary effect of disabling keybindings when I am in the IPython buffer (ie I cannot, for example, change buffers with Cx o ). Is there any easy way of solving this?

Code from previous answer:

(defun ipython ()
  (interactive)
  (term "/usr/bin/ipython"))

Just to give you an idea that it's possible to use Mx shell with ipython:

(let ((explicit-shell-file-name "/usr/bin/ipython"))
  (shell))

But now tab completion doesn't work. Maybe there is a solution to this, I'm not sure.

I prefer ansi-term to shell somehow. By the way, did you know that Cc Cj calls term-line-mode in ansi-term ? Cc Ck switches back to the default term-char-mode . In term-line-mode you can move about the buffer with usual navigation bindings etc.

Maybe give python-mode.el a try. Mx ipython RET should do it than.

the code you posted but insted use ansi-term:

(defun ipython ()
  (interactive)
  (ansi-term "/usr/bin/ipython"))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM