剛剛開始使用yasnippet for emacs,並且非常喜歡它的工作方式,但是我遇到了一些小麻煩,如果可能的話,我想要一些幫助來解決。不同編碼風格的Emacs Yasnippet
一個片段我特別喜歡的是「爲」 -snippet,即:
# -*- mode: snippet -*-
# name: for
# key: for
# --
for (${1:i = 0}; ${2:i < N}; ${3:i++}) {
$0
}
但是最近,我開始在一個項目上,我們有不同的編碼風格的工作。簡單地把片段上方將被改變以將起始撐位置:
# -*- mode: snippet -*-
# name: for
# key: for
# --
for (${1:i = 0}; ${2:i < N}; ${3:i++})
{
$0
}
但是我想容易地在不同的編碼風格之間不同的項目,並因此之間切換,而不必手動地改變片段或創建很多重複。所以我認爲應該可以在代碼片段中編寫一些elisp代碼來自動適應當前活動的編碼風格。
環顧一下Emacs/elisp文檔,我發現了所謂的c-hanging-brace-alist(GNU doc),我覺得我應該可以用某種方式使用它。然而,我從來沒有真正在elisp上做過任何編程,我也不確定如何完成這個任務。任何幫助或建議,將不勝感激!
這是一個相當不錯的解決方案,但有一些可能的改進: 使用elisp cond而不是if來支持更多樣式。 http://www.gnu.org/software/emacs/manual/html_node/elisp/Conditionals.html 然而,在接受答案之前,我會再等一會兒,看看是否還有其他建議。 – Xaldew 2014-09-22 16:59:31
@Xaldew只要你知道,你可以隨時[改變接受的答案](https://stackoverflow.com/help/someone-answers)... – itsjeyd 2014-10-07 09:35:59