2012-02-06 54 views
3

我對Emacs文本編輯器很陌生,剛開始定製我的~/.emacs文件。我想知道是否可以在運行時更改Emacs設置。例如,如果我把我的~/.emacs文件如下:我可以在運行時更改emacs設置嗎?

(show-paren-mode 1) 

我可以做的時候Emacs的是通過鍵入運行同樣的事情:

的Mx然後滾動步然後 。

爲什麼不這項工作時,我想要做的是這樣的:當我鍵入

(setq scroll-step 1) 

的Mx然後setq

我得到的是(no match)。這裏肯定有一些我不理解的東西。

回答

10

有幾件事情:

  1. 是的,你可以在運行時更改設置。如果您編輯.emacs文件,把光標放在右括號後:

    (show-paren-mode 1) 
    

    ,打ctrl-x ctrl-e,它會評估代碼。

  2. 某些事物和變量(儘管很少)要求它們在設置更改後運行特殊事物。通常,在執行#1中的步驟後,您設置的變量不會太多,而且大部分變量都會立即生效。

    但是,如果使用M-x customize編輯設置,則會發現當您進行更改時,即使在值發生更改後需要執行某些特殊情況的特殊情況下,也會立即使設置生效。

  3. M-x允許您運行「交互」命令。一些elisp函數應該由最終用戶直接調用,而其他elisp函數實際上只是在將elisp寫入文件時才意味着的。而M-x只能讓你輕鬆做到標記爲「交互式」的那些。儘管M-shift-:可讓您輸入表達式並查看結果。 EG,在提示符下嘗試M-shift-:,然後按(1+ 2)

+0

感謝您的回答! 1和3完全符合我的要求。我從來不知道約2;非常酷:) – 2012-02-06 05:21:17

+1

一件快事:在你的例子中,'(1 + 2)'是什麼意思?我認爲這是基本的數學,但我想我錯了,因爲'(2+ 2)'不起作用。 – 2012-02-06 05:22:56

+1

(1+是一個特殊的elisp函數,用於遞增1.如果你想做任何其他數學,你需要像(+ 2 2)那樣做。 – 2012-02-06 06:03:30

相關問題