在過去的3年中,我的工作需要以xml格式編寫和編輯配置文件。 xml標籤中的內容已經發展得如此之多,現在它已變得像一種編程語言。不幸的是,emacs在相同級別的標籤內縮進了所有內容。事情是這樣的:自定義emacs nxml縮進
但它會是邪惡的,如果我能得到像縮進以下內容:
我讀過有關定製壓痕多個線程,但我仍然沒有任何線索如何去做。
我試圖創建一個自定義主模式,但這樣做會殺死所有的語法顏色和縮進規則。理想情況下,我想要做的只是修改nxml市長模式縮進規則?不過,我不知道這條規則在哪裏。
此外,如果我可以對某些關鍵詞(如「if」或「set」)進行着色,這將是一項好處。
我知道我在問什麼是一個很大的工作,所以我沒有在這裏要求一個明確的答案。我只是尋求一些幫助,指向正確的方向。
我喜歡你的想法。我絕對更喜歡調用一個自定義函數來縮進緩衝區,而不是搞亂主要模式。我將在一個函數中工作,如果該行包含'if('然後縮進下面的行,直到包含匹配的括號的行...對我來說不是一件容易的事,因爲我不知道很多elisp。將看到我能走多遠:-) – RafaelGP
此頁面包含您可能需要的大多數正則表達式函數http://www.gnu.org/software/emacs/manual/html_node/elisp/Regexp-Search.html也是一個很好的宏保存遊覽,它返回你的指向前一個位置(例如搜索後)。對於自定義的分子來看看font-lock-add-keywords的文檔 – sabof
這應該讓你開始:) – sabof