同仁們談喜歡的coding工具,有欣賞vs的,有欣賞source insight的,有欣賞eclipse的,還有喜歡用ultraedit的,就是沒有人喜歡vim!
在linux環境下,正則是融入linux血液中的,喜歡並熟練應用vim編輯是水到渠成的事情。而在windows環境下,學習正則沒有不得不學習的理由,因此,許多的coder學習vim是一件痛苦的事情。雖然如此,鑑於vim在某些情況下表現的高效率,還是建議windows環境下的coder們學習使用vim為佳。
常用的應用場景之一:sql語句
文員a拿來一張長長的excel**,要求將以下學員的成績輸入資料庫,如下:
學號 名稱 成績
1 lee 99
2 tommy 87
...333 john 78
文員已經填寫好excel**了,怎麼省事地將成績單錄入資料庫呢?有兩種方法,如下:
(1) 在excel**中增加列「insert t_score (no,name,score) values("和");",然後以csv或txt的格式儲存(以tab為分隔符),然後執行匯出的sql語句
(2) 將excel**匯出為txt格式,然後替換
%s/^\([0-9]\+\)\s\+\(\w\+\)\s\+\([0-9]\+\)/insert\ t_score(no,name,score)\ values(\1,'\2',\3);/gc
然後執行生成的sql語句
或許有童鞋會說,好像是方便了一點兒,但是優點也不明顯啊,那再看乙個例子
常用的應用場景之二:生成**
開發android應用,如果要訪問web service服務,那麼,使用ksoap是乙個不錯的選擇,假如伺服器端生成了乙個長長的class,有很多個fields,例如:
private long a;
private long b;
...private string n;
...private date t;
那麼,在android端,你可以kvmserialize這個class,以達到ksoap2自動為你encode/decode這個class的目的,為此,你需要implement一些介面,如
@override
public object getproperty(int arg0)
return null;
}coding這個getproperty會讓你寫一大堆的**。但是,如果你用vim,那麼可以這樣做:
(1) 將伺服器端的那個class的fields**複製->貼上到vim編輯器,如前示例
private long a;
private long b;
...private string n;
...private date t;
(2) 替換
%s/^\s*\w\+\s\+\(\w\+\)\s\+\(\w\+\);/case\ 0:\r\treturn\ \2;/gc
將會生成下面的**
case 0:
retuen a;
case 0:
return b;
...(3) 然後,複製->貼上生成的**到eclipse,改變case之後的數字就可以了
實現getpropertyinfo介面時用這個方法更方便
@override
public void getpropertyinfo(int index, hashtable arg1, propertyinfo info)
}生成以上**的vim的替換命令如下:
%s/^\s*\w\+\s\+\(\w\+\)\s\+\(\w\+\);/case\ 0:\r\tinfo.type\ =\ propertyinfo.\1_class\2;\r\tinfo.name\ =\ "\2";/gc
試試看,你的手指是不是要輕鬆了許多呢?
vim可以做許多的事,其實vs等也是非常優秀的編輯工具,取長補短,使用時綜合各種工具的長處才是王道
提高 Coding 效率的工具集
1 svn global ignores o lo la rej rej ds store orig bak db ncb user tmp exp pch res obj ilk pdb idb buildlog.htm mt.dep manifest suo cpp svn keywords d...
eclipse開發提高coding 效率
請大家不要忽略編碼效率對生產效率的提高影響,有點心得,跟大家分享下。細節決定成敗 6sigma。btw 請大家不要跟我討論編碼效率的重要性,我同意有很多事情更重要。麻煩投入門貼的朋友給點建議,謝謝。寫程式是乙個創造過程,如同寫文章,如果把思路理清楚,剩下的事情就是coding了。純coding的過程...
也談位元組對齊帶來效率的差異
from 因為今天和同事談到了arm平台下資料匯流排寬度及對齊方式對程式效率的影響問題 在定義結構資料型別時,為了提高系統效率,要注意字長對齊原則。正好有點感觸給大家談談 本人水平有限的很有什麼問題請朋友指正 本文主要給大家解釋下所謂的對齊到底是什麼?怎麼對齊?為什麼會對齊或者說對齊帶來什麼樣的效率...