Vimer的Coding效率談

2021-06-29 00:20:58 字數 1955 閱讀 6157

同仁們談喜歡的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平台下資料匯流排寬度及對齊方式對程式效率的影響問題 在定義結構資料型別時,為了提高系統效率,要注意字長對齊原則。正好有點感觸給大家談談 本人水平有限的很有什麼問題請朋友指正 本文主要給大家解釋下所謂的對齊到底是什麼?怎麼對齊?為什麼會對齊或者說對齊帶來什麼樣的效率...