Friday, May 6, 2011

How to reload python modules?

在寫 Wing IDE -Maya Python scripting 的好幫手 時有提到要如何修改 Python 的 script 後而不需重啟 Maya 的方法,主要是使用 reload 這個 function,但很快的就會發現當你的 script 也有 import 到別的 module 時,這個方法就行不通了,因為 module 之間有先後順序的依存關係,先 reload module A 和先 reload module B 會導至不同的結果,這個問題困擾了我許多,最後在 Reloading Python Modules 這篇文章找到一個不錯的解法 (不確定是不是最好的解法,但已足夠我目前的使用)

Thursday, May 5, 2011

Vim 學習筆記 (四)

真是驗了某人說的,vim 用的愈多,愈有不滿足的感覺,東找找西看看又發現了一些不錯的東西,順便做一個小筆記免得幾天不用就忘了 :)

  • searchComplete ( http://vim.sourceforge.net/scripts/script.php?script_id=474 ): 在使用 "/" 搜尋時,輸入部份字串再按下 TAB 可以自動補完,就像在 shell 裡輸入命令時的 TAB 一樣,懶人 (我) 的好幫手。
  • SuperTab ( http://www.vim.org/scripts/script.php?script_id=1643 ) : 非常方便的在輸入模式下使用 TAB ,按下 TAB 會將 match 的字串列出來,並可以使用 Ctrl+ N/P 去選到想要的字串。
  • xptemplate ( http://www.vim.org/scripts/script.php?script_id=2611  ) : 類似 textMate 的 snippets,支援非常多種的語言,也很方便的定義新的 snippets,個人覺得非常好用,舉例來說,開一個 cpp 的檔,在輸入模式下,打 class 然後 Ctrl + \ ,xptemplate 就幫你輸入好一個完整的 class ,還有什麼比這個更方便的呢 :D
  • surround ( http://www.vim.org/scripts/script.php?script_id=1697 ) : 原本已為這個是可有可無的 plug-in,沒想到試用之後,出乎意料的好用,可以很快速的在某個字或某行前後加入或刪除像 " 或是 ' 如果是編輯 html 或是 xml 還可以插入 tag 。
vim 真是愈用愈好用 ^^

Sunday, May 1, 2011

Maya Python API 2.0!

Maya 2012 的 hotfix 1主打的一個項目就是 Python API 2.0! 根據宮方說法,新的 Python API 執行的更快,看起來也更 Pythonic,讓熟悉 Python 的開發者可以更容易的上手,從文件的說明有幾個重點,第一個就是新舊 API 可以共存,但不能共用,文件中提供了一個例子如下,