25
我注意到,當前的自動模式ALIST項全部結束用單引號,例如設置自動模式ALIST在Emacs
("\\.java\\'" . java-mode)
什麼是單引號的目的。我本來期望看到
("\\.java$" . java-mode)
我想問的原因是,我試圖讓與名稱匹配的正則表達式
^twiki\.corp.*
開在組織模式的文件。我曾嘗試沒有成功如下:
以下工作:
(add-to-list 'auto-mode-alist '("twiki\\.corp" . org-mode))
,但不是我想要什麼比較,因爲嵌入在他們twiki.corp文件名會在組織模式中打開。
THX!在這種情況下匹配字符串末尾的空字符串的目的是什麼?是否確保「.java」之後沒有空格?它如何比使用$更好? – chris 2010-08-16 15:56:40
這是爲了確保你在'.java'之後什麼也沒有。否則,像'somefile.java.not.really'這樣的東西也會匹配。如果你的文件名中有一個換行符,但這是不常見的,但可能的話,它比'$'要好。例如,像'bob.java \ nsomething else'這樣的文件名可能是一些惡意攻擊的載體(儘管我不知道攻擊會是什麼)。 – 2010-08-17 13:59:14
我會使用可愛的'rx'形式,這樣可以避免您必須記住糟糕的正則表達式語法。 (你必須記住rx自己的語法,但它更具可讀性。) '(rx「/twiki.corp」eos)' – offby1 2010-08-17 16:28:37