0

I installed Emacs for Python (from this github repo) on my Emacs 24.5.1. When I start an IPython shell, auto-complete with tab doesn't work. Instead, the tab key just insert four spaces. But if I press Enter leaving those spaces, the auto-complete suggestions appear in the buffer.

For example:

In [6]: import numpy as np

In [7]: x = np.arr

np.array         np.array_equal   np.array_repr    np.array_str
np.array2string  np.array_equiv   np.array_split

np.array         np.array_equal   np.array_repr    np.array_str
np.array2string  np.array_equiv   np.array_split

In [8]: 

After x = np.arr, I pressed tab twice before Enter, and then all suggestions appeared at once.

If I press M-/, Emacs tries to auto-complete the name, but it doesn't show me all options. In the example above, I would have to press it many times to cicle through all available completions.

My .emacs file is as follows:

(load-file "/home/erickrf/.emacs.d/emacs-for-python/epy-init.el")
(epy-setup-ipython)

;; disable auto parenthesis completion
(setq skeleton-pair nil)

(put 'erase-buffer 'disabled nil)

This is a similar problem. I tried the solution in the accepted answer, but it didn't work for me. Whenever I pressed tab, Emacs would show the error message Symbol's value as variable is void: python-shell-completion-complete-or-indent

  • You probably need to (require 'python) before you do that, at least make sure that: github.com/gabrielelanaro/emacs-for-python/blob/… you have this line in your python.el. Actually, wait, I don't know if this extends to Python shell, but you are trying to do that in the shell, right, not in a *.py file? – wvxvw Nov 29 '15 at 9:09
  • Yes, in the IPython shell. – erickrf Nov 29 '15 at 21:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.