2014-01-15 91 views
4

這是一個有很多相關問題的問題,但似乎沒有解決我的問題。我需要以類似的方式使用IPython,因爲我使用M-xshell,但是當然與python相關的完成。在前面的問題How to open IPython interpreter in emacs?abo-abo的解決方案伎倆。但是,當我處於IPython緩衝區時,它具有禁用鍵綁定的次要效果(即,我不能,例如,用C-x)更改緩衝區。有沒有解決這個問題的簡單方法?從以前的答案emacs上的IPython塊關鍵綁定

代碼:

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

相關[我怎麼能拆散C-標籤從絕地:完整](http://stackoverflow.com/q/21131372/ 1309352) –

+0

我剛剛嘗試過'emacs -q'和'Cx o'的作品。任何其他鍵綁定不起作用? –

+0

我不知道爲什麼,但在我的情況下,即使使用'emacs -q'啓動emacs,沒有任何鍵綁定似乎可以工作('C-x o','C-x C-f','C-x k')。迷你緩衝器也不顯示任何活動(即,如果按下,則不顯示「C-x」...)。編輯:如果我結束ipython過程(即鍵入提示「退出」)鍵綁定再次變得功能。 – jmlorenzi

回答

0

只給你一個想法,它可能使用M-Xshell與IPython中:

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

但現在標籤完成不起作用。也許有一個解決方案,我不知道。

我更喜歡ansi-termshell莫名其妙。 順便說一句,你知道嗎C-C C-j調用term-line-modeansi-termC-C C-k切換回默認的term-char-mode。 在term-line-mode你可以使用通常的導航綁定等移動緩衝區。

+0

我不知道這是不是你的意思,但我可以使用'C-C C-j'從原始答案中恢復ipython shell的普通鍵綁定。然而,TAB完成在'term-line-model'TAB完成不起作用時不起作用。個人而言,我更喜歡'Mx shell',並希望ipython緩衝區能夠像它一樣工作,但這是一個很好的解決方案時刻。 – jmlorenzi

0

也許給python-mode.el一試。 M-x ipython RET應該比。

+0

我用python-mode.el得到的ipython終端不能正確處理TAB完成... – jmlorenzi

0

你貼,但insted的使用ANSI長期代碼:

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