vimrc 的 onload

vimrc 會比任何 plugin 都還要先執行,所以如果有什麼工作是想要在 plugin 讀完後才做的,就不能直接寫在 vimrc 裡面,以我的例子,我想要在某些 plugin 有安裝,該 plugin 的命令確實存在的話,才去另外做這些命令的 mapping ,例如:

if exists(":Align")
    com! -bang -range -nargs=* A <line1>,<line2>call Align#Align(<bang>0,<q-args>)
endif

這段程式直接放在 vimrc 裡面的話, if 判斷都不會成立,所以我的作法是丟到 function 裡面,然後放到 VimEnter 這個 auto command 的事件執行:

function AfterStart ()

" plugin commands
if exists(":Align")
    com! -bang -range -nargs=* A <line1>,<line2>call Align#Align(<bang>0,<q-args>)
endif

endfunction
autocmd VimEnter * :call AfterStart()

jQuery() in 1.4

jQuery 1.4 有個改變應該很少有人注意到,我也是最近剛好有需求才發現,就是直接執行 jQuery 不傳任何參數:

jQuery();

結果會傳回一個 空的 jQuery set ,不過這在 1.4 以前的版本會傳回 document ,這樣的修改我覺得是比較好的,因為以前完全沒辦法產生空的 jQuery set,如果要自己做 jQuery set 會比較方便,除了把要的 DOM 節點抓好放陣列丟給 jQuery 外還多了個建立空的 jQuery set 後一個一個把要的節點丟進去的方法,另一個優點是這樣確保 jQuery function 傳回來的物件是同樣的類型。


WAI-ARIA

WAI-ARIA 全名是 Accessible Rich Internet Applications Suite,是 WAI 正在制定中的規範之一,對象是網路應用程式,像是 gmail、各種 CMS 等,它在WAI 制定的各種規範中,是唯一縮寫名稱用 WAI- 開頭的,一直很好奇為什麼,前幾天寫信去問也得到了答覆:

Short answer: Because the acronym ARIA is used for other things, we use WAI-ARIA.

結果和 J長輩 猜的一樣是因為 A R I A 太常見了,所以加上 WAI- 。


更之前的文章