2014-03-19 156 views
2

我在OSX上有一個帶有Emacs 24.3的JEDI的工作版本。自動填充功能非常好,除了我想評論的事情時!我經常評論/取消註釋部分代碼,並希望有一種方法可以防止JEDI在輸入#時自動完成。任何意見或想法將不勝感激!emacs Jedi禁用#

編輯:當我去註釋多行時,我通常會在#後面輸入DownArrow和LeftArrow,但通常在JEDI啓用時發生的是彈出此對話框,以防止我移動到下一行,直到我做出選擇: dialog that pops up

+0

我在註釋中沒有得到自動完成,變量'ac-disable-faces'的值是什麼?只要執行'C-h v'ac-disable-faces'RET' emacs就會彈出一個帶有變量值的幫助緩衝區。 – 2014-03-19 13:27:41

+0

我對之前的評論表示歉意,我禁用了JEDI,因此我無法獲取返回的值。結果如下: ac-disable-faces是一個在'auto-complete.el'中定義的變量。 其值爲(font-lock-comment-face font-lock-string-face font-lock-doc-face) 文檔: 非零表示禁用指定面上的自動完成。 您可以自定義此變量。 [返回] – Robert

+0

我剛剛更新了jedi,並觀察了您所報告的行爲。這似乎是由於最近的一些變化而引入的錯誤。這應該報告給emacs-jedi開發人員 – 2014-03-19 16:03:35

回答

0

解決此問題的一種方法是選擇要註釋的行(區域)並點擊M-;。這個命令運行命令comment-dwim,它將註釋掉所選區域(或者取消註釋,如果它現在被註釋掉)。

當與例如mark-lines它允許你用一個關鍵筆劃選擇當前行,這使得你的代碼部分非常快速地(非)註釋,即使它們只跨越一行或兩行。

0

emacs-jedi dev here。如果emacs-jedi按照你的描述工作,那麼這就是一個bug。

但我不能說有限的信息我有什麼不對。所以,只要總體方向:

  1. 首先,總是嘗試重現在乾淨的Emacs設置的不當行爲,這裏所描述http://tkf.github.io/emacs-jedi/latest/#quick-try

    這可以幫助您瞭解您的設置是錯誤的,或者如果它實際上是emacs-jedi中的一個錯誤。

  2. 給出M-x jedi:show-version-info的輸出。 http://tkf.github.io/emacs-jedi/latest/#jedi:show-version-info

    這有助於人們診斷問題。

  3. 這是從你的截圖猜測,但似乎你有老版本的popup.el。因此,如果您同時安裝它們,auto-complete.el可能會是舊的。如果您在安裝最新庫的乾淨Emacs(步驟1,我上面提到)中看不到問題,則更新它們可以解決問題。

更新

於是,我找到了一種方法來重現這是接近你所提到的行爲:https://github.com/tkf/emacs-jedi/issues/147

但正如我在這個問題寫的,我認爲這是一個罕見的情況。如果您發現可能頻繁發生的案件,請告訴我。