2012-08-29 37 views
4

我正在閱讀有關emacs手冊中的「kill-emacs-hook」變量。 它說:這個「文件局部變量」是什麼意思?

kill-emacs-hook是`C源代碼'中定義的變量。
它的值是
(ORG-巴別 - 刪除 - 臨時目錄migemo圖案ALIST保存)

作爲文件本地變量使用時,該變量是潛在危險的。

文檔:
調用`kill-emacs'時掛鉤。
... abbr ...

我不明白這句話:「一個文件局部變量」。這個「文件局部變量」是什麼意思?

謝謝。

回答

3

Emacs有一個用於在文件內容中指定緩衝區變量的工具。 http://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html#Specifying-File-Variables

這經常用於指定文件的模式-*- python -*-或例如首選的縮進樣式或製表符寬度;但如果允許的話,它可能會讓文件的作者完全控制Emacs。但是,對於被認爲不安全的變量,默認行爲是在允許設置生效之前要求用戶進行確認。進一步討論見手冊。

1

通過默認設置,當您使用setq設置變量時,該值爲全局值。這意味着所有的緩衝區都會看到新的值。

但是,某些稱爲緩衝區局部變量的變量的工作方式不同。當設置了緩衝區局部變量時,其值僅在發生setq時所在的緩衝區發生變化。其他緩衝區看不到更改。

這些緩衝區局部變量可以從緩衝區當前訪問的文件的內容中獲取它們的值。如果文件包含格式正確的字符串(請參閱@ tripleee的答案),那麼當文件打開時,將使用該值初始化緩衝區局部變量。

另外,目錄局部變量也存在,它們爲訪問目錄中的文件的每個緩衝區設置一個緩衝區局部變量。

+0

Rigth。剛剛糾正。 –