Vim: CamelCase to snake_case

這篇文章:用 vim 將 camel case 改成 underscore-based 提到用 vim 取代把 CamelCase 轉換成 snake_case 的作法,看到後有一點點小想法,特別紀錄一下 :P

作者提到的取代方式是:

:%s/\(\l\)\(\u\)/\1_\l\2/gc

但配合 very magic 可以變成這樣

:%s/\v(\l)(\u)/\1_\l\2/gc

短了一點點不是重點,重點是括號好看多了XD

另外作者稍微寫錯的部分是,\l\u 在 substitute pattern 中表示的是小寫和大寫字元,而不是把下一個字變成大(小)寫,那是在後面做的事。可以 :help /character-classes 看到詳細的列表 (大心)。

既然這篇文章這麼短,那就提一下好了。今天找資料的時候不小心發現這位作者的 blog,實在看得我欲罷不能啊XD 而且他玩的東西好多,也玩系統、也寫程式,從 C 寫到 PHP、Python、Perl、Ruby…..太強了orz 還有很多有趣的東西,實在很好玩….太佩服 <(_ _)> 建議熱愛技術的人可以參考看看,我覺得很精采 :D


Last modified on 2012-07-03