[英]GNU Emacs on Windows: unable to apply init file changes and to type tilde symbol
問題1
我正在嘗試使用init文件來自定義我的Emacs。
我找到了初始化文件的正確位置,並嘗試在其中寫入一些代碼來更改Emacs的行為。
在文檔示例之后,我編寫了以下代碼行
(setq fill-column 20)
然后保存文件。 但是當我啟動Emacs時,fill-column變量仍默認設置為70。 如果我即時修改該變量,Emacs會照常接受新值。
我想知道我是否缺少有關初始化文件的信息。 我應該明確告訴Emacs加載它嗎? 我是否應該包括其他代碼語句以使其能夠應用更改?
問題2
要在Emacs中引用您的HOME目錄,您必須在路徑的開頭使用波浪號,例如,當您想通過Emacs查找初始化文件的位置時,就像這樣
~/.emacs.d/init.el
但是,如果我的鍵盤上不存在該字符並且ALT代碼不起作用(因為ALT后跟數字被視為命令輸入),怎么可能鍵入呢?
(1)您的初始化文件是否實際執行? 查找方法如下:將語法錯誤的內容放入其中。 如果emacs抱怨啟動,則表明它正在執行文件-否則問題是您和emacs在主目錄的位置上存在分歧。
(2)我知道的每個Windows鍵盤布局都具有〜的綁定-它可能在AltGr組合上,在死鍵上等等,但是始終存在。 Windows系統控制面板可以幫助您驗證和選擇鍵盤布局。 但是,如果您確實沒有〜的綁定,則可以隨時輸入
<C-q> 1 7 6 / . e m a c s
而是在emacs中使用(176是126的八進制,〜的ASCII碼)。
正如fill-column
的文檔中明確指出的那樣,它通常是局部於緩沖區的,即在創建新緩沖區時將其設置為特定於緩沖區的值。 您正在設置緩沖區的填充列,該緩沖區在執行.emacs
時處於活動狀態,但這是一個臨時緩沖區,在您對其進行檢查之前,該緩沖區已不存在。
為了實現您想要的(我認為),您可以使用(setq-default fill-column 20)
...盡管在一般情況下我不建議這樣做。 (可能只希望為一組特定的模式提供非常狹窄的定義;您可以使用相應的模式鈎子或使用advice工具為這些緩沖區設置此變量。)
您的其他問題已經得到回答,因此我將不予理that。 請不要在同一主題中發布多個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.