无码人妻久久一区二区三区免费丨,久久九九久精品国产免费直播,久久精品国产亚洲AV不卡http://www.shnenglu.com/dreamwaylai/每天進步一點點zh-cnThu, 08 May 2025 23:43:57 GMTThu, 08 May 2025 23:43:57 GMT60【轉 】將圖像轉化成avi格式電影(bmp2avi,jpg2avi,tiff2avi等) - [Matlab]http://www.shnenglu.com/dreamwaylai/archive/2008/11/23/67657.html美洲豹美洲豹Sun, 23 Nov 2008 07:04:00 GMThttp://www.shnenglu.com/dreamwaylai/archive/2008/11/23/67657.htmlhttp://www.shnenglu.com/dreamwaylai/comments/67657.htmlhttp://www.shnenglu.com/dreamwaylai/archive/2008/11/23/67657.html#Feedback0http://www.shnenglu.com/dreamwaylai/comments/commentRss/67657.htmlhttp://www.shnenglu.com/dreamwaylai/services/trackbacks/67657.html
將圖像轉化成avi格式電影(bmp2avi,jpg2avi,tiff2avi等) - [Matlab]
版權聲明:轉載時請以超鏈接形式標明文章原始出處和作者信息及本聲明
http://darnshong.52blog.net/logs/2186961.html

 

  導師那有好些系列圖像,想弄成電影。查了一下matlab的幫助,輕松地實現了,轉化成avi格式電影!以下是代碼:

function produceavifrompic(pfrom,pto,pext,navi)
aviobj = avifile(navi);
aviobj.Quality = 100;
aviobj.compression='None';
cola=0:1/255:1;
cola=[cola;cola;cola];%%黑白圖像
cola=cola';
aviobj.colormap=cola;
for i=pfrom:pto
         fname=strcat(num2str(i),pext)
        adata=imread(fname);
    aviobj = addframe(aviobj,uint8(adata));
end
aviobj=close(aviobj);   

以上是將一系列8位黑白圖像轉化成avi格式電影,如果是彩色圖像,則如下

function produceavifrompic(pfrom,pto,pext,navi)
aviobj = avifile(navi);
aviobj.Quality = 100;
aviobj.compression='None';
for i=pfrom:pto
       fname=strcat(num2str(i),pext)
       adata=imread(fname);
    aviobj = addframe(aviobj,uint8(adata));
end
aviobj=close(aviobj);   

挺簡單的吧!快去試試!

=============================================
自己用的時候如下:在Matlab中一行行輸入
aviobj = avifile(navi);
aviobj.Quality = 100;
aviobj.Fps = 10;
aviobj.compression='None';
for i=pfrom:pto   ;此處修改成自己的范圍
       fname=strcat('snapshot',num2str(i),'.jpg')
       adata=imread(fname);
    aviobj = addframe(aviobj,uint8(adata));
end
aviobj=close(aviobj);   

OK。


 



美洲豹 2008-11-23 15:04 發表評論
]]>
Armadillo終于可以看到了http://www.shnenglu.com/dreamwaylai/archive/2008/10/16/64129.html美洲豹美洲豹Thu, 16 Oct 2008 04:29:00 GMThttp://www.shnenglu.com/dreamwaylai/archive/2008/10/16/64129.htmlhttp://www.shnenglu.com/dreamwaylai/comments/64129.htmlhttp://www.shnenglu.com/dreamwaylai/archive/2008/10/16/64129.html#Feedback0http://www.shnenglu.com/dreamwaylai/comments/commentRss/64129.htmlhttp://www.shnenglu.com/dreamwaylai/services/trackbacks/64129.html原來下載的Armadillo模型不可見,但可以導入且可以看到模型的相關信息。一直不知道是什么原因,還以為是格式不對,用Polytrans等工具轉換過,但后來突然想到之前自己用3dsmax模型建的模型如果建的過大的話,也不能看到。因此,自己打開文件來看的時候,發現其頂點的位置值是大了一點,后來就想到看能否把模型縮小來查看,但是一直沒有找到合適的工具,后來自己寫了一個小程序,將頂點的XYZ值都按比例縮小,竟然可以了。
顯示效果如下:

程序也不多,貼在下面

#include <iostream>
#include 
<fstream>
#include 
<string>
#include 
<algorithm>
using namespace std;


int main(int argc,char** argv)
{
    
if (argc < 4)
    
{
        cout
<<"usage: ScaleModel.exe [in modelName]  [outModelName] [percentage]"<<endl;
        
return 0
    }


    ifstream inStream;
    inStream.open(argv[
1],ios::in);
    ofstream outStream;
    outStream.open(argv[
2],ios::out);

    
string inString;
    
char ch;
    
float p0,p1,p2;
    
while (!inStream.eof() )
    
{
        
//getline(inStream,inString,"\n");
        getline(inStream,inString,'\n');
        
if(inString[0== 'v')
        
{
            sscanf(inString.c_str(),
"%c %f %f %f",&ch,&p0,&p1,&p2);
            
            p0 
*= atof(argv[3]);
            p1 
*= atof(argv[3]);
            p2 
*= atof(argv[3]);

            outStream
<<ch<<" "<<p0<<" "<<p1<<" "<<p2<<endl;
        }

        
else
        
{
            outStream
<<inString<<endl;
        }

    }

    
return 0;
}



美洲豹 2008-10-16 12:29 發表評論
]]>
對自己職業生涯規劃有幫助的東西http://www.shnenglu.com/dreamwaylai/archive/2008/09/08/61293.html美洲豹美洲豹Mon, 08 Sep 2008 03:05:00 GMThttp://www.shnenglu.com/dreamwaylai/archive/2008/09/08/61293.htmlhttp://www.shnenglu.com/dreamwaylai/comments/61293.htmlhttp://www.shnenglu.com/dreamwaylai/archive/2008/09/08/61293.html#Feedback1http://www.shnenglu.com/dreamwaylai/comments/commentRss/61293.htmlhttp://www.shnenglu.com/dreamwaylai/services/trackbacks/61293.html

轉載 一位軟件工程師的6年總結收藏

作者:成曉旭

“又是一年畢業時”,看到一批批學子離開人生的象牙塔,走上各自的工作崗位;想想自己也曾經意氣風發、躊躇滿志,不覺感嘆萬千……本文是自己工作6年的經 歷沉淀或者經驗提煉,希望對所有的軟件工程師們有所幫助,早日實現自己的人生目標。本文主要是關于軟件開發人員如何提高自己的軟件專業技術方面的具體建 議,前面幾點旨在確定大的方向,算是廢話吧。

謹以此文獻給那個自己為你奉獻3年青春與激情的開發團隊。還有團隊成員:PPL、YT、YK 、TYF、LGL、CHL、CDY、CB、DPD。

1、 分享第一條經驗:“學歷代表過去、能力代表現在、學習力代表未來。”其實這是一個來自國外教育領域的一個研究結果。相信工作過幾年、十幾年的朋友對這個道 理有些體會吧。但我相信這一點也很重要:“重要的道理明白太晚將抱憾終生!”所以放在每一條,讓剛剛畢業的朋友們早點看到哈!

2、 一定要確定自己的發展方向,并為此目的制定可行的計劃。不要說什么,“我剛畢業,還不知道將來可能做什么?”,“跟著感覺走,先做做看”。因為,這樣的觀 點會通過你的潛意識去暗示你的行為無所事事、碌碌無為。一直做技術,將來成為專家級人物?向管理方向走,成為職業經理人?先熟悉行業和領域,將來自立門 戶?還是先在行業里面混混,過幾年轉行做點別的?這很重要,它將決定你近幾年、十年內“做什么事情才是在做正確的事情!”。

3、 軟件開發團隊中,技術不是萬能的,但沒有技術是萬萬不能的!在技術型團隊中,技術與人品同等重要,當然長相也比較重要哈,尤其在MM比較多的團隊中。在軟 件項目團隊中,技術水平是受人重視和尊重的重要砝碼。無論你是做管理、系統分析、設計、編碼,還是產品管理、測試、文檔、實施、維護,多少你都要有技術基 礎。算我孤陋寡聞,我還真沒有親眼看到過一個外行帶領一個軟件開發團隊成功地完成過軟件開發項目,哪怕就一個,也沒有看到。倒是曾經看到過一個“高學歷的 牛人”(非技術型)帶一堆人做完過一個項目,項目交付的第二天,項目組成員扔下一句“再也受不了啦!”四分五裂、各奔東西。那個項目的“成功度”大家可想 而知了。

4、 詳細制定自己軟件開發專業知識學習計劃,并注意及時修正和調整(軟件開發技術變化實在太快)。請牢記:“如果一個軟件開發人員在1、2年內都沒有更新過自 己的知識,那么,其實他已經不再屬于這個行業了。”不要告訴自己沒有時間。來自時間管理領域的著名的“三八原則”告誡我們:另外的那8小時如何使用將決定 你的人生成敗!本人自畢業以來,平均每天實際學習時間超過2小時。

5、 書籍是人類進步的階梯,對軟件開發人員尤其如此。書籍是學習知識的最有效途徑,不要過多地指望在工作中能遇到“世外高人”,并不厭其煩地教你。對于花錢買 書,我個人經驗是:千萬別買國內那幫人出的書!我買的那些家伙出的書,!00%全部后悔了,無一本例外。更氣憤的是,這些書在二手市場的地攤上都很難賣 掉。“擁有書籍并不表示擁有知識;擁有知識并不表示擁有技能;擁有技能并不表示擁有文化;擁有文化并不表示擁有智慧。”只有將書本變成的自己智慧,才算是 真正擁有了它。

6、 不要僅局限于對某項技術的表面使用上,哪怕你只是偶爾用一、二次。“對任何事物不究就里”是任何行業的工程師所不應該具備的素質。開發Windows應用 程序,看看Windows程序的設計、加載、執行原理,分析一下PE文件格式,試試用SDK開發從頭開發一個Windows應用程序;用VC++、 Delphi、Java、.Net開發應用程序,花時間去研究一下MFC、VCL、J2EE、.Net它們框架設計或者源碼;除了會用J2EE、 JBoss、Spring、Hibernate等等優秀的開源產品或者框架,抽空看看大師們是如何抽象、分析、設計和實現那些類似問題的通用解決方案的。 試著這樣做做,你以后的工作將會少遇到一些讓你不明就里、一頭霧水的問題,因為,很多東西你“知其然且知其所以然”!

7、 在一種語言上編程,但別為其束縛了思想。“代碼大全”中說:“深入一門語言編程,不要浮于表面”。深入一門語言開發還遠遠不足,任何編程語言的存在都有其 自身的理由,所以也沒有哪門語言是“包治百病”的“靈丹妙藥”。編程語言對開發人員解決具體問題的思路和方式的影響與束縛的例子俯拾皆是。我的經驗是:用 面對對象工具開發某些關鍵模塊時,為什么不可以借鑒C、C51、匯編的模塊化封裝方式?用傳統的桌面開發工具(目前主要有VC++、Delphi)進行系 統體統結構設計時,為什么不可以參考來自Java社區的IoC、AOP設計思想,甚至借鑒像Spring、Hibernate、JBoss等等優秀的開源 框架?在進行類似于實時通信、數據采集等功能的設計、實現時,為什么不可以引用來自實時系統、嵌入式系統的優秀的體系框架與模式?為什么一切都必須以個 人、團隊在當然開發語言上的傳統或者經驗來解決問題???“他山之石、可以攻玉”。

8、 養成總結與反思的習慣,并有意識地提煉日常工作成果,形成自己的個人源碼庫、解決某類問題的通用系統體系結構、甚至進化為框架。眾所周知,對軟件開發人員 而言,有、無經驗的一個顯著區別是:無經驗者完成任何任務時都從頭開始,而有經驗者往往通過重組自己的可復用模塊、類庫來解決問題(其實這個結論不應該被 局限在軟件開發領域、可以延伸到很多方面)。這并不是說,所有可復用的東西都必須自己實現,別人成熟的通過測試的成果也可以收集、整理、集成到自己的知識 庫中。但是,最好還是自己實現,這樣沒有知識產權、版權等問題,關鍵是自己實現后能真正掌握這個知識點,擁有這個技能。

9、 理論與實踐并重,內外雙修。工程師的內涵是:以工程師的眼光觀察、分析事物和世界。一個合格的軟件工程師,是真正理解了軟件產品的本質及軟件產品研發的思 想精髓的人(個人觀點、歡迎探討)。掌握軟件開發語言、應用語言工具解決工作中的具體問題、完成目標任務是軟件工程師的主要工作,但從軟件工程師這個角度 來看,這只是外在的東西,并非重要的、本質的工作。學習、掌握軟件產品開發理論知識、軟件開發方法論,并在實踐中理解、應用軟件產品的分析、設計、實現思 想來解決具體的軟件產品研發問題,才是真正的軟件工程師的工作。站在成熟理論與可靠方法論的高度思考、分析、解決問題,并在具體實踐中驗證和修正這些思想 與方式,最終形成自己的理論體系和實用方法論。

10、心態有多開放,視野就有多開闊。不要抱著自己的技術和成果,等到它們都已經過時變成垃圾了,才拿出來丟人現眼。請及時發布自己的研究成果:開發的產 品、有創意的設計或代碼,公布出來讓大家交流或者使用,你的成果才有進化和升華的機會。想想自己2000年間開發的那些Windows系統工具,5、6年 之后的今天,還是那個樣子,今天流行的好多Windows系統工具都比自己的晚,但進化得很好,且有那么多用戶在使用。并且,不要保守自己的技術和思想, 盡可能地與人交流與分享,或者傳授給開發團隊的成員。“與人交換蘋果之后,每個人還是只有一個蘋果;但交換思想之后,每個人都擁有兩種思想”,道理大家都 懂,但有多少人真正能做到呢?

11、盡量參加開源項目的開發、或者與朋友共同研制一些自己的產品,千萬不要因為沒有錢賺而不做。網絡早已不再只是“虛擬世界”,網上有很多的開源項目、 合作開發項目、外包項目,這都是涉獵工作以外的知識的絕好機會,并且能夠結識更廣的人緣。不要因為工作是做ERP,就不去學習和了解嵌入式、實時、通信、 網絡等方面的技術,反過來也是一樣。如果當他別人拿著合同找你合作,你卻這也不會,那也不熟時,你將后悔莫及。

12、書到用時方恨少,不要將自己的知識面僅僅局限于技術方面。諾貝爾經濟學獎得主西蒙教授的研究結果表明: “對于一個有一定基礎的人來說,他只要真正肯下功夫,在6個月內就可以掌握任何一門學問。”教育心理學界為感謝西蒙教授的研究成果,故命名為西蒙學習法。 可見,掌握一門陌生的學問遠遠沒有想想的那么高難、深奧。多方吸取、廣泛涉獵。極力夯實自己的影響圈、盡量擴大自己的關注圈。財務、經濟、稅務、管理等等 知識,有空花時間看看,韜光養晦、未雨綢繆。

13、本文的總結與反思: 不要去做技術上的高手,除非你的目標如此。雖然本文是關于提高軟件開發知識的建議,做技術的高手是我一向都不贊同的。你可以提高自己的專業知識,但能勝任 工作即止。提高軟件知識和技術只是問題的表面,本質是要提高自己認識問題、分析問題、解決問題的思想高度。軟件專業知識的很多方法和原理,可以很容易地延 伸、應用到生活的其它方面。在能勝任工作的基礎上,立即去涉獵其它領域的專業知識,豐富自己的知識體系、提高自己的綜合素質,尤其是那些目標不在技術方面 的朋友




美洲豹 2008-09-08 11:05 發表評論
]]>
[轉]在Linux下看電視的方法http://www.shnenglu.com/dreamwaylai/archive/2008/09/05/60980.html美洲豹美洲豹Fri, 05 Sep 2008 02:06:00 GMThttp://www.shnenglu.com/dreamwaylai/archive/2008/09/05/60980.htmlhttp://www.shnenglu.com/dreamwaylai/comments/60980.htmlhttp://www.shnenglu.com/dreamwaylai/archive/2008/09/05/60980.html#Feedback0http://www.shnenglu.com/dreamwaylai/comments/commentRss/60980.htmlhttp://www.shnenglu.com/dreamwaylai/services/trackbacks/60980.html

美洲豹 2008-09-05 10:06 發表評論
]]>
RakNet的資料http://www.shnenglu.com/dreamwaylai/archive/2008/09/03/60825.html美洲豹美洲豹Wed, 03 Sep 2008 08:12:00 GMThttp://www.shnenglu.com/dreamwaylai/archive/2008/09/03/60825.htmlhttp://www.shnenglu.com/dreamwaylai/comments/60825.htmlhttp://www.shnenglu.com/dreamwaylai/archive/2008/09/03/60825.html#Feedback0http://www.shnenglu.com/dreamwaylai/comments/commentRss/60825.htmlhttp://www.shnenglu.com/dreamwaylai/services/trackbacks/60825.html
http://www.cnblogs.com/ArenAK/news/2008/01/27/1055207.html

有時間要看下了.



美洲豹 2008-09-03 16:12 發表評論
]]>
可惜了,上次去大連前沒有搜到這個東西http://www.shnenglu.com/dreamwaylai/archive/2008/09/01/60590.html美洲豹美洲豹Mon, 01 Sep 2008 06:18:00 GMThttp://www.shnenglu.com/dreamwaylai/archive/2008/09/01/60590.htmlhttp://www.shnenglu.com/dreamwaylai/comments/60590.htmlhttp://www.shnenglu.com/dreamwaylai/archive/2008/09/01/60590.html#Feedback0http://www.shnenglu.com/dreamwaylai/comments/commentRss/60590.htmlhttp://www.shnenglu.com/dreamwaylai/services/trackbacks/60590.html閱讀全文

美洲豹 2008-09-01 14:18 發表評論
]]>
NSIS使用http://www.shnenglu.com/dreamwaylai/archive/2008/08/16/59049.html美洲豹美洲豹Sat, 16 Aug 2008 04:41:00 GMThttp://www.shnenglu.com/dreamwaylai/archive/2008/08/16/59049.htmlhttp://www.shnenglu.com/dreamwaylai/comments/59049.htmlhttp://www.shnenglu.com/dreamwaylai/archive/2008/08/16/59049.html#Feedback0http://www.shnenglu.com/dreamwaylai/comments/commentRss/59049.htmlhttp://www.shnenglu.com/dreamwaylai/services/trackbacks/59049.html

在用HM NSIS Editor生成的基本腳本的Section –Post中加入如下代碼

       Push “OGRE_HOME”

       Push $INSTDIR

       Call WriteEnvStr

       #改變Path變量,將dll導入以便運行程序

       Push “PATH”

       Push %PATH%$INSTDIR\Dll   ;將可執行程序的路徑加入。

       Call WriteEnvStr

制作升級包也容易了,只需要用ReadEnvStr讀環境變量,然后將安裝路徑設成所讀的環境變量。

   Function .onInit

ReadEnvStr $R0 "OGRE_HOME"

#MessageBox MB_OK $R0

Strcmp $R0 ""  0  NOABORT

         MessageBox MB_OK "沒有找到之前安裝的OGRE"

NOABORT:

Strcpy $INSTDIR $R0

FunctionEnd

這樣的話,則可以通過查詢環境變量判斷是否安裝成功,再安裝升級包。
原來以為要自己手動寫腳本,后來發現用向導可生成一個基本可用的腳本,這就方便了。



美洲豹 2008-08-16 12:41 發表評論
]]>
Qt FAQ(need to edit later)http://www.shnenglu.com/dreamwaylai/archive/2007/01/16/17703.html美洲豹美洲豹Tue, 16 Jan 2007 15:34:00 GMThttp://www.shnenglu.com/dreamwaylai/archive/2007/01/16/17703.htmlhttp://www.shnenglu.com/dreamwaylai/comments/17703.htmlhttp://www.shnenglu.com/dreamwaylai/archive/2007/01/16/17703.html#Feedback0http://www.shnenglu.com/dreamwaylai/comments/commentRss/17703.htmlhttp://www.shnenglu.com/dreamwaylai/services/trackbacks/17703.html2. The Meta-Object System explain.
3. The signal-slot mechnism explain.
4. A project to expriment all the features.
5. The class Overview and are there some framework for development ?

(to be continuted..)

美洲豹 2007-01-16 23:34 發表評論
]]>
VIM FAQ(轉)http://www.shnenglu.com/dreamwaylai/archive/2007/01/16/17702.html美洲豹美洲豹Tue, 16 Jan 2007 15:31:00 GMThttp://www.shnenglu.com/dreamwaylai/archive/2007/01/16/17702.htmlhttp://www.shnenglu.com/dreamwaylai/comments/17702.htmlhttp://www.shnenglu.com/dreamwaylai/archive/2007/01/16/17702.html#Feedback0http://www.shnenglu.com/dreamwaylai/comments/commentRss/17702.htmlhttp://www.shnenglu.com/dreamwaylai/services/trackbacks/17702.htmlvim FAQ
Linux /linuxman?
轉自水木清華:VIM FAQ

轉貼如下:


(1)?為什么別人的方法在我這里行不通?
(2)?如何找到上次編輯的文件?
(3)?如何復制粘貼?
(4)?如何在多個文件中進行替換?
(5)?如何把fold一次全部打開?
(6)?如何選擇、復制或者查找光標所在的單詞?
(7)?如何計數搜索的字符串?
(8)?如何去掉高亮搜索?
(9)?如何解決linux下gvim中文菜單亂碼的問題?
(10)?如何對所編輯的文件語法高亮顯示?
(11)?如何快速插入多行數字0-99?
(12)?如何設置中文編碼?
(13)?如何去掉或者插入^M這樣的字符?
(14)?如何整體縮進一段代碼(插入tab)?
(15)?如何合并兩行?
(16)?如何設置縮進距離(tab寬度)?

==============================================================================
(1)?為什么別人的方法在我這里行不通?

估計這是最難回答的一個問題了。:-)
不過首先應該確定你的VIM版本是否足夠新,功能是否完整。使用?:version?命令查看你
的VIM版本以及功能。一個常見的情況,如果你用的是RedHat系統,請確定安裝了
vim-enhance的rpm包,否則將是不完整的VIM。

(2)?如何找到上次編輯的文件?

Ctrl+O?(按兩次)

(3)?如何復制粘貼?

復制
方法一:先ma標記當前位置為a,移動到新的位置,再y`a或者y''a復制從標記位置a到
當前位置的內容。`和''的區別:`以字符為單位,''以行為單位。這個方法應該是所有vi
都適用的。(如果不對請指正。)
方法二:按v或V或Ctrl+V進入visual模式,移動光標選擇一段內容,按y。三者的區別:
v以字符為單位,V以行為單位,Ctrl+V是塊選擇。這個方法只在VIM下適用。

粘貼
p或P。區別:前者粘貼到光標后面,后者粘貼到光標前面。

(4)?如何在多個文件中進行替換?

一般可以用sed或者vim來做。比如要對當前目錄下的*.c文件進行替換:
方法一:
for?i?in?*.c;?do
??sed?-i?-e?''s/oldvalue/newvalue/g''?$i
done
方法二:
vim?*.c
:argdo?%s/oldvalue/newvalue/g

(5)?如何把fold一次全部打開?

zR?或者?:set?foldlevel=999

(6)?如何選擇、復制或者查找光標所在的單詞?

在VIM中用iw或者aw表示一個單詞,兩者稍有區別。
選擇光標所在的單詞:viw?(v進入visual模式,然后iw)
復制光標所在的單詞:yiw

查找的話就是兩個很常用的明令:#?和?*

(7)?如何計數搜索的字符串?

如果需要統計緩沖中一個模式(pattern)出現的頻率,需要把?''report''?置為0,然后
用替換命令把模式替換成它自己。Vim?報告的已替換的數目就是模式出現的次數。例:
????????:set?report=0
????????:%s/./&/g???????????????characters
????????:%s/i+/&/g????????????words
????????:%s/^???????????????????lines
????????:%s/the/&/g?????????????"the"?anywhere
????????:%s/<the>/&/g?????????"the"?as?a?word
你可能希望復位?''hlsearch''?或者使用?":nohlsearch"。

(8)?如何去掉高亮搜索?

方法一::nohlsearch
方法二:/awertgvcxz?(查找一個肯定不存在的字符串)
設置了高亮搜索(:set?hlsearch)以后,可以通過?:set?nohlsearch?永久地關閉高亮
顯示,也可以通過?:nohlsearch?暫時關閉高亮顯示,下次搜索時將自動恢復高亮。

(9)?如何解決linux下gvim中文菜單亂碼問題?

以vim6.3為例
:source?$VIMRUNTIME/delmenu.vim
:source?$VIMRUNTIME/menu.vim

也可以將以上內容加入.vimrc

光source一個menu.vim或者啥也不source都是亂碼
另外,也有網友報告說沒有遇到此類問題

注:這里的source指的是vim自己的source命令,和bash?shell的source無關

(10)?如何對所編輯的文件語法高亮顯示?

需要解釋的是,VI有很多變種,它本身并沒有這種功能,提供這種功能
往往是其各種衍生版本,比如說vim。下面就vim中如何語法高亮簡單解釋一下。

首先,確定一下你所用的操作系統,如果是windows,那么默認的配置文件
就可以工作了。如果還不行,可以用鼠標從syntax菜單下選擇一下適合你的
文件類型(新版本的gvim默認把文件類型選擇關閉了,需要點開,然后按照
開頭字母選擇類型)
如果是linux,那么確認一下是否是redhat。如果是redhat,那么需要安裝
vim-enhanced的rpm包。這些都做了以后,可以用:syntax?on來打開語法高亮。
必要時可以用:set?filetype=...來設定你的文件類型。
如果使用圖形界面,比如gvim,那么syntax?on和set?filetype的操作可以
用鼠標在菜單中選擇,同windows下。
如果是在控制臺中使用vim,還應當確定你的終端設置支持顏色。

(11)?如何快速插入多行數字0-99?

在命令行中輸入以下代碼,或者先把代碼保存到一個外部文件,然后source這個文件:
let?i?=?0
while?i?<?100
??put?=?i
??let?i?=?i?+?1
??endw
如果位數不足需要在前面補零,可以用Ctrl-V塊選擇,然后I插入0。

(12)?如何設置中文編碼?

在.vimrc中作如下設置,可以實現界面以及顯示字體采用gb2312,遇到utf8文件時
自動做轉換:
set?encoding=prc
set?fileencoding=prc
set?fileencodings=utf8,prc
需要注意的是,按照上面的設置,如果你打開一個空的(0字節)或者是純7bits的文件,
這時VIM將認為是utf8編碼的文件,如果你往里面輸入中文,存盤的時候也將是utf8。
因此你可能需要在存盤之前?:set?fileencoding=prc?把編碼改回來。
另外,對于純7bits的文件,由于認成了utf8,每次打開存盤的時候都要做一次轉換,
會比較慢,所以如果你很長一段時間不會接觸utf8的話,可能暫時把?fileencodings
一行注釋掉比較好。
[警告]:轉換可能會造成信息丟失!如果你需要編輯的是重要的系統文件,最好把
fileencodings?一行暫時注釋掉。

(13)?如何去掉或者插入^M這樣的字符?

在VIM的插入模式或者命令行中用<C-V>輸入^M這樣的特殊字符,例如輸入
:s/<C-V><C-M>//g
實際顯示是
:s/^M//g
就可以去掉文件中所有的^M。同理,要在文件中輸入^M只要按<C-V><C-M>即可。

這個問題往往發生在WINDOWS/DOS系統和UNIX系統之間交換文件時,因為這兩類系統
對于文本的“換行”概念解釋不同。所以,還有一個解決方法就是對這類文本進行
轉換。vim內部就可以做這件事情。首先打開文本,然后
set?fileformat=unix
再從新保存該文件覆蓋原文件就可以去除:^M了

(14)?如何整體縮進一段代碼(插入tab)?

選中一段代碼,<?或?>?或?2<?或?3>?……

(15)?如何合并兩行?

合并兩行的鍵是?J
另外,如果你設置了
set?backspace=2
你就可以用backspace或者delete很方便的刪到上一行或者下一行。

(16)?如何設置縮進距離(tab寬度)?

set?tabstop=8
set?shiftwidth=8


美洲豹 2007-01-16 23:31 發表評論
]]>
Wostsit's Format == The programmer's File Format Collectionhttp://www.shnenglu.com/dreamwaylai/archive/2006/11/07/14763.html美洲豹美洲豹Mon, 06 Nov 2006 16:46:00 GMThttp://www.shnenglu.com/dreamwaylai/archive/2006/11/07/14763.htmlhttp://www.shnenglu.com/dreamwaylai/comments/14763.htmlhttp://www.shnenglu.com/dreamwaylai/archive/2006/11/07/14763.html#Feedback0http://www.shnenglu.com/dreamwaylai/comments/commentRss/14763.htmlhttp://www.shnenglu.com/dreamwaylai/services/trackbacks/14763.htmlhttp://www.wotsit.org/
?包含所有的格式,很有參考價值。

美洲豹 2006-11-07 00:46 發表評論
]]>
99久久精品免费看国产一区二区三区 | 国产成人精品久久亚洲| 99国产欧美久久久精品蜜芽 | 精品熟女少妇av免费久久| 久久99亚洲网美利坚合众国| 国内精品久久久久影院免费| 三级片免费观看久久| 精品国产VA久久久久久久冰| 久久亚洲电影| 大伊人青草狠狠久久| 伊人热热久久原色播放www| 国产精品视频久久久| 久久精品国产清自在天天线 | 日韩精品久久久肉伦网站 | 久久久久久久人妻无码中文字幕爆 | 一级a性色生活片久久无| 无码人妻精品一区二区三区久久 | 久久99精品久久久大学生| 久久亚洲精品中文字幕三区| 97精品伊人久久久大香线蕉 | 久久这里只精品国产99热| 狠狠综合久久AV一区二区三区| 91久久福利国产成人精品| 久久青青草原亚洲av无码app | 久久强奷乱码老熟女网站| 香蕉久久夜色精品国产小说| 精品国产乱码久久久久久1区2区| 久久国产色av免费看| 久久天天躁狠狠躁夜夜2020老熟妇 | 久久99精品国产自在现线小黄鸭| 无码人妻久久一区二区三区蜜桃 | 久久久久久国产精品美女| 51久久夜色精品国产| 成人a毛片久久免费播放| 91久久精品无码一区二区毛片| 久久精品中文字幕久久| 99久久无码一区人妻a黑| 久久99国产精品久久| 精品国产热久久久福利| 精品久久综合1区2区3区激情| 久久久国产精品|