2014-02-09 32 views
7

正如標題所述,我對Emacs來說是比較新的。我嘗試了幾種入門套件,但是和Prelude一起使用並改變了很多東西。Emacs的新手。當我輸入「,」時會自動插入

無論如何,我已經掌握了一切...直到今天早上我工作,我打了雙引號。由於自動完成,通常Emacs會在(「」)之後插入第二個雙引號,但我必須意外地用鍵擊改變了某些內容,現在當我鍵入「,我得到\」。「

想法?

謝謝。

+2

這主要模式是您使用的,什麼是'F1 k的輸出」'? –

+0

主模式最初是Ruby,但現在我在Web中並沒有改變。 f1 k「給了我一個關於如何運行命令自插入模式的解釋。 – damianesteban

+0

'self-insert-mode'或'self-insert-command'? –

回答

6

禁用smartparens這似乎是一個與smartparens問題,它的前奏默認安裝(查看文件prelude-programming.el,這一行爲進行了詳細的描述smartparens wiki爲了確保smartparens導致的問題,你可以可以做章ķ這將打印有關命令實際上可以るN將「按下,如果命令是sp--self-insert-command那麼下面應該工作

粘貼此(setq sp-autoescape-string-quote nil)*scratch*緩衝,去右括號並做CX,這將禁用的行爲當前的emacs會話。

要禁用所有未來emacs會話的行爲,假設您使用的是序曲,您需要將以下內容添加到您的個人配置中(基本上是/path/to/prelude/personal/中的某個文件)。

(setq sp-autoescape-string-quote nil) 

這將完全禁用字符串引號的自動轉義。如果你喜歡這種行爲,不希望完全禁用它,你可以做什麼@steckerhalter表明CQ將插入只有一個括號。

如果以上不能解決,則問題嘗試提供在以下信息活躍你的問題可以幫助我們調試問題,

1)名單次要模式(這可以通過做章米)獲得。

2)輸出的C-Hķ

希望幫助

+0

謝謝,它必須與其中一種小模式有關。 – damianesteban

2

如果像你說的評論,"勢必self-insert-command,那麼當你鍵入"什麼情況是,(單,轉義)"字符插入。

但是,我懷疑你有一些模式轉向o當插入一個"字符時,它會做額外的工作。例如,您提到自動插入第二個"。這種行爲來自一種模式,例如圖書館的智能機器人或電子對提供的模式。

你提到Prelude。

要了解init文件的哪一部分(~/.emacs)導致了您所看到的行爲,請遞歸地平分您的init文件(首先註釋掉一半,看看哪一半是負責任的,然後是3/4,看看哪個季度是負責任的,...)。然後,如果您仍然對責任編碼有疑問,請在此處詢問,並提供相關信息。

當你在這裏描述你的問題時,重要的是具體:什麼Emacs版本,什麼樣的模式,你裝什麼庫,......不管什麼都可能是相關的。但首先通過平分你的init文件來找到罪魁禍首來縮小問題的範圍。

4

這聽起來很像smartparens(https://github.com/Fuco1/smartparens),它包含在Prelude中。通常,當你在裏面「」那麼它會逃脫語錄:如果你想獲得一個正常的

"hahah \"\" bah" 

「,引號裏你必須使用C-q "M-x smartparens-mode

相關問題