2013-07-19 70 views
2

我不斷收到這樣的警告,當我運行IEX使用仙丹模式,IEX退出Emacs:如何從Emacs運行iex?

Warning: could not run smart terminal, falling back to dumb one 

我認爲,這只是意味着我不明白tab完成,這我很好。但是如果在Emacs中使用elixir模式,我想要一個智能終端。

+0

您好,歡迎堆棧溢出;標籤Elixir用於構建在Erlang VM之上的功能性元編程感知語言......您可以將鼠標懸停在標籤上以獲取描述。 – Ben

+0

@Ben這就是我所問的。 iex是Elixir的代表。我在問Emacs的正確連接方式。 – mjs2600

+0

你在使用什麼操作系統,並且可以在沒有相同警告的情況下在emacs之外運行iex? –

回答

2

elixir-mode-iex使用comint-mode主要模式與iex互動。這也意味着它的行爲就像一個愚蠢的終端(不具備處理特殊轉義序列的能力,參見here)。

作爲一種解決方法,您可以使用term將任何按鍵直接發送到子流程本身。你可以寫一個函數如下所示:

(defun my-elixir-iex() 
    (interactive) 
    (term "iex")) 

我工作的iexAlchemist.el集成,這使功能,例如Inf-Ruby了。但是,直到它完成嘗試通過term

乾杯只使用iex

塞繆爾

0

看起來像當IEX無法找到tty支持時發生警告。您可以通過-nw調用它在emacs中啓用tty模式。

+1

使用OSX,iex和iTerm對我沒有任何影響。 – mac