<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    程序人生

    撰寫生活代碼,等待編譯美好人生
    隨筆 - 48, 文章 - 0, 評(píng)論 - 29, 引用 - 0
    數(shù)據(jù)加載中……

    2006年7月6日

    Python為自身模塊添加屬性

    試了好半天才始出來,幾經(jīng)曲折,所以寫下來:

    A模塊:
    1?import?sys,?os
    2?selfMod?=?__import__(__name__)
    3?setattr(selfMod,?"field",?"value")


    在B模塊中調(diào)用
    1?import?A
    2?print?A.field
    輸出: value

    模塊A的這種寫法與在模塊A中直接寫field = "value"的效果是一樣的。這看起來似乎多余,但是在某些特殊的情況下可以用該方法動(dòng)態(tài)設(shè)置當(dāng)前模塊的屬性。



    posted @ 2008-05-20 02:21 405 Studio 閱讀(782) | 評(píng)論 (0)編輯 收藏

    蔬菜沙拉

    前幾天跟朋友去吃了一次蔬菜沙拉。做的很精致,但并不合我的口味,但朋友很喜歡。
    今天閑暇之際研究一下“沙拉”的來源:
    google了一下"define:沙拉"

    沙拉(香港稱為沙律)通常是配菜,有時(shí)會(huì)作為一道主菜。?

    不詳細(xì),在answers.com找了一下:

    Originally?derived?from?the?Latin?sal? for ?salt,?meaning?something?dipped?into?salt.?Now?normally?a?dish?of?uncooked?vegetables;?either?a?mixed?salad?or?just?one?item?(commonly?lettuce?or?tomato).?
    的確,我們吃的都是卷心菜(當(dāng)時(shí)我以為卷心菜就是生菜 -_-|||)和小西紅柿。

    食物文化百科:
    Although?the?ancient?Greeks?and?Romans?did?not?use?the?word?"salad,"?they?enjoyed?a?variety?of?dishes?with?raw?vegetables?dressed?with?vinegar,?oil,?and?herbs.?Pliny?the?Elder?in?Natural?History,?for?instance,?reported?that?salads?(acetaria)?were?composed?of?those?garden?products?that?"needed?no?fire?for?cooking?and?saved?fuel,?and?which?were?a?resource?to?store?and?always?ready"?(Natural?History,?XIX,?58).?They?were?easy?to?digest?and?were?not?calculated?to?overload?the?senses?or?stimulate?the?appetite.
    ...........
    ...........

    最終,我在懷疑是不是中國涼拌傳入西方之后變味了的結(jié)果。

    posted @ 2007-12-05 01:43 405 Studio 閱讀(440) | 評(píng)論 (1)編輯 收藏

    感覺我是無賴

    這種感覺不好。。

    posted @ 2007-12-03 22:04 405 Studio 閱讀(262) | 評(píng)論 (0)編輯 收藏

    Windows DB2 Express-C 9 啟動(dòng)不了的原因

    這幾天想嘗試一下 DB2 Express-C 9 ,找了個(gè)Windows的版本,幾個(gè)"下一步"幾個(gè)確定之后就裝玩了. Reboot以下以為可以開始探索DB2 9了.沒想到DB2卻怎么都啟不來.
    折騰了幾天才知道原來DB2 服務(wù)的啟動(dòng)還跟系統(tǒng)的一些其他服務(wù)有聯(lián)系于是把在服務(wù)列表中把Server服務(wù)啟動(dòng)了再啟動(dòng)DB2, 啟動(dòng)成功!

    posted @ 2007-08-04 17:05 405 Studio 閱讀(709) | 評(píng)論 (1)編輯 收藏

    Vim的16進(jìn)制模式

    今天有人問我VIM能不能像UE那樣進(jìn)行16進(jìn)制編輯以,一時(shí)間沒有答上來。執(zhí)行了一下 :help hex才發(fā)現(xiàn)原來用 %!xxd 命令實(shí)現(xiàn)。為了方便,在vimrc上做了個(gè)map,實(shí)現(xiàn)了了<leader> + h切換文本模式和16進(jìn)制模式,雖然簡單,但是很有用 :)

    "To?hex?modle
    let?s:hexModle?=?"N"
    function!?ToHexModle()
    ??if?s:hexModle?==?"Y"
    ????%!xxd?-r
    ????let?s:hexModle?=?"N"
    ??else
    ????%!xxd
    ????let?s:hexModle?=?"Y"
    ??endif
    endfunction

    map?
    <leader>h?:call?ToHexModle()<cr>

    在使用上面這段代碼之前,你得確定你設(shè)置了<leader>且與你原來的鍵盤映射不沖突。

    posted @ 2007-06-17 15:01 405 Studio 閱讀(3862) | 評(píng)論 (0)編輯 收藏

    Arch下安裝Virtualbox

    1.下載virtualbox:
    當(dāng)然,在官方下。
    http://www.virtualbox.org/wiki/Downloads
    這里我用的是 binaries 版本,由于我用Archlinux所以我選了 All distributions
    2.安裝
    說明:以下操作均以root用戶身份執(zhí)行
    a)修改下載的文件的屬性為可執(zhí)行:

    #chmod?+x?VirtualBox_1.3.4_Linux_x86.run

    VirtualBox_1.3.4_Linux_x86.run是安裝文件

    b)運(yùn)行安裝程序
    #./VirtualBox_1.3.4_Linux_x86.run?install?

    install 后可以跟安裝路徑,默認(rèn)會(huì)安裝在/opt/VirtualBox-1.3.4/下

    c)進(jìn)入安裝目錄,并為所有用的so文件做鏈接到/usr/lib/

    #cd?/opt/VirtualBox-1.3.4/?#ln?*.so?/usr/lib/

    d)把要運(yùn)行virtualbox的用戶加入vboxusers組

    #?gpasswd?-a?ausername?vboxusers?

    我運(yùn)行這個(gè)命令后用groups命令發(fā)現(xiàn)ausername沒有立刻被加到vbxousers組,這時(shí)你要重啟以下。(我想應(yīng)該有更好的辦法,雖然我沒有找到)
    e)加載virtualbox 核型模塊
    #modprobe vboxdrv f)
    3.運(yùn)行virtualbox

    #?/opt/VirtualBox-1.3.4/VirtualBox


    posted @ 2007-02-20 23:11 405 Studio 閱讀(856) | 評(píng)論 (0)編輯 收藏

    配置xinetd

         摘要: 今天打算把所有得網(wǎng)絡(luò)服務(wù)都用xinetd來啟動(dòng)。找了幾篇文章看了看。很快FTP,CVS,SSH都搞定了,然后配置Postgresql。死活起不來。于是去找xinetd的官方文檔,這才發(fā)現(xiàn)原來很多的文章都沒有很詳細(xì)地說明type這個(gè)參數(shù)得作用。我誤以為象ssh那樣省去Type也沒有問題。下面是官方文檔對(duì)type得說明:
    xinetd can manage 3 types of services :
    ...........  閱讀全文

    posted @ 2007-02-15 16:52 405 Studio 閱讀(737) | 評(píng)論 (0)編輯 收藏

    不錯(cuò)的鼠標(biāo)增強(qiáng)軟件 Strokeit

    strokeIt_show.jpg 我向來喜歡在Firefox里用鼠標(biāo)手勢(shì)。今天找到一個(gè)軟件,叫strokeit這軟件可以讓你在任何windows程序下使用鼠標(biāo)手勢(shì)。記得搞系統(tǒng)編程的時(shí)候我也曾想過做一個(gè)這樣的東西。對(duì)于搞過Windows核心編程的人來說,應(yīng)該覺得原理比較簡單——鼠標(biāo)鉤子,但當(dāng)我仔細(xì)試用之后,感覺作者做得非常用心。小小的軟件提供了許多十分貼心的功能。而默認(rèn)的設(shè)置也是經(jīng)過作者用心配置的。更讓人興奮的是,這是一款完全免費(fèi)的軟件!!

    posted @ 2007-01-14 13:41 405 Studio 閱讀(412) | 評(píng)論 (0)編輯 收藏

    用find實(shí)現(xiàn)批量壓縮

    一開始還以為要用for才才能做得了,今天仔細(xì)研究了一下find命令,只要一行就搞定了。
    以下命令實(shí)現(xiàn)了對(duì)當(dāng)前目錄下的所有文件夾分別執(zhí)行tar命令。

    find?.?-type?d?-exec?tar?-vcf?{}.tar?{}?\;


    下面對(duì)這句東東解釋一下:
    • "-type d" -type是find的一個(gè)參數(shù) d表示文件夾。也就是說只搜尋當(dāng)前目錄下的文件夾
    • "-exec tar -vcf {}.tar {} \;"?? 該參數(shù)表示把搜索出的結(jié)果(文件名)給指定的命令進(jìn)行操作。-exec 后跟的第一個(gè)參數(shù)應(yīng)該是一個(gè)命令,這里是tar。{}是搜索的結(jié)果。另外要注意,命令必須以 \;結(jié)束(注意\前的空格)


    posted @ 2007-01-13 20:27 405 Studio 閱讀(942) | 評(píng)論 (0)編輯 收藏

    Bash Shell腳本學(xué)習(xí)小結(jié)

         摘要: shell是很有趣的東西,今天從新學(xué)習(xí)了一下shell編程的一些基本知識(shí),溫故而知新。這里做個(gè)今天學(xué)習(xí)的總結(jié)  閱讀全文

    posted @ 2007-01-13 20:01 405 Studio 閱讀(10059) | 評(píng)論 (3)編輯 收藏

    VIM & Firefox


    今天整個(gè)下午都給了Firefox和VIM。一開始看了一篇VIM的文章,學(xué)習(xí)和復(fù)習(xí)了一些VIM的技巧,VIM永遠(yuǎn)都是這么強(qiáng)大,似乎總是有學(xué)不完的有趣的東西。搞了半個(gè)小時(shí)的VIM習(xí)慣了“hjkl”的操作,竟然看網(wǎng)頁的時(shí)候習(xí)慣性是去按h、j,試圖通過這兩個(gè)按鈕來滾動(dòng)網(wǎng)頁。于是便突發(fā)奇想能不能修改Firefox的熱鍵像VIM一樣。Google了一下,竟然有我這樣的想法的人還真不少。在一位老兄的Blog上列出了三種方法。我用了第一種,使用keyconfig擴(kuò)展。
    1. 首先到 http://mozilla.dorando.at 上安裝keyconfig.xpi插件(本文附件)
    2. 進(jìn)入~/.mozilla/firefox/[yours].default/目錄,編輯文件prefs.js,將一下內(nèi)容插入到文件末尾: user_pref("keyconfig.main.xxx_key_ScrollPageUp", "!][][][goDoCommand('cmd_scrollPageUp');"); user_pref("keyconfig.main.xxx_key_ScrollPageDown", "!][][][goDoCommand('cmd_scrollPageDown');"); user_pref("keyconfig.main.xxx_key_ScrollLineUp", "!][][][goDoCommand('cmd_scrollLineUp');"); user_pref("keyconfig.main.xxx_key_ScrollLineDown", "!][][][goDoCommand('cmd_scrollLineDown');"); user_pref("keyconfig.main.xxx_key_ScrollLeft", "!][][][goDoCommand('cmd_scrollLeft');"); user_pref("keyconfig.main.xxx_key_ScrollRight", "!][][][goDoCommand('cmd_scrollRight');"); user_pref("keyconfig.main.xxx_key_ScrollTop", "!][][][goDoCommand('cmd_scrollTop');"); user_pref("keyconfig.main.xxx_key_ScrollBottom", "!][][][goDoCommand('cmd_scrollBottom');"); user_pref("keyconfig.main.xxx_key_findTypeLinks", "!][][][goDoCommand('cmd_findTypeLinks');");
    3. 先關(guān)閉firefox,然后再保存修改過的prefs.js文件。否則,firefox關(guān)閉后會(huì)清空 firefox的剪貼板,同時(shí)重寫prefs.js文件,所以需要先復(fù)制上面的代碼,再關(guān)閉firefox,最后保存prefs.js文件。
    4. 重新啟動(dòng)firefox,在tools->keyconfig中設(shè)置相應(yīng)的快捷鍵。
    hjkl解決了,但是我還希望能像vim那樣有命令模式,這似乎網(wǎng)上還沒有人實(shí)現(xiàn),有空想研究一下Firefox的插件把這功能搞出來。:)

    順便把今天下午看的VIM文章Efficient Editing With vim學(xué)到的新知識(shí)總結(jié)一下:

    1.可視模式的新發(fā)現(xiàn):
    • 剛接觸VIM得時(shí)候就已經(jīng)開始使用“V”了,但是<C - v>這特性幾天才知道。這個(gè)快捷鍵按下之后可以選定任意的文字塊。注意,是任意的,不會(huì)受行的限制。
    • 使用ma可以在某一行創(chuàng)建標(biāo)記,在普通模式則直接m后跟字幕就可以創(chuàng)建一個(gè)標(biāo)記,例如:mk,在當(dāng)前行創(chuàng)建了一個(gè)名為k的標(biāo)記
    • 普通模式使用'(單引號(hào))后跟標(biāo)記名,可以快速轉(zhuǎn)到標(biāo)記的行。例如: 'k,光標(biāo)會(huì)自動(dòng)定位到標(biāo)記名為k的行
    • 在命令模式使用:marks可以查看當(dāng)前的所有標(biāo)記
    • '.可以跳轉(zhuǎn)到最后一次的編輯點(diǎn)。
    3.重復(fù)
    • 普通模式下使用.(句號(hào))可以重復(fù)上一次的命令。
    4.使用多剪貼板
    • 操作方式:使用"(雙引號(hào))+寄存器名+操作。
    • 把內(nèi)容存入剪貼板:例如:"qyy,使用名為q的寄存器作為剪貼板保存當(dāng)前行。
    • 從剪貼板中取內(nèi)容:例如:"qp, 從名為q的寄存器中取出內(nèi)容,作為粘貼的內(nèi)容來粘貼。
    5.編寫代碼時(shí)常用命令
    • ]p 自適應(yīng)粘貼,跟普通p的功能一樣。
    • % 在普通模式,當(dāng)光標(biāo)處于某個(gè)括號(hào){},大括號(hào)(),中括號(hào)[]上時(shí),按下%光標(biāo)會(huì)跳到該括號(hào),大括號(hào),中括號(hào)的另一? 相匹配的部份。
    • >>和<< 向左、向右縮進(jìn)。
    • gd Go to the definition (or declaration), 普通模式,在某個(gè)變量或者方法名上使用該命令,會(huì)高亮代碼中所有該變量或方法,然后可以通過n和N來跳轉(zhuǎn)光標(biāo)到這些變量上。

    posted @ 2007-01-11 20:45 405 Studio 閱讀(986) | 評(píng)論 (0)編輯 收藏

    3個(gè)月后的一貼

    三個(gè)月沒有寫B(tài)log,這幾個(gè)月都忙得亂七八糟的。用亂七八糟來形容一點(diǎn)也不過份。太多東西要忙,忙得自己有時(shí)都不知道自己在搞什么。有時(shí)回憶起大一大二的悠閑日子好是懷念。
    今天打開收藏夾,猛然想起自己還有個(gè)Blog。于是上來自言自語幾句。。。

    推薦個(gè)網(wǎng)址:
    http://linuxtoy.org/
    LinuxTOY 是一個(gè)致力于提供 Linux 相關(guān)資訊的專題站點(diǎn)。

    還在這網(wǎng)站上發(fā)現(xiàn)了這個(gè)東東:
    http://www.songbirdnest.com/
    Firefox還真是牛,可以做播放器。


    posted @ 2006-12-16 01:38 405 Studio 閱讀(262) | 評(píng)論 (0)編輯 收藏

    跟我聊天

    今天發(fā)現(xiàn)有人用這個(gè)東東,我也來玩玩。

    posted @ 2006-08-30 23:25 405 Studio 閱讀(237) | 評(píng)論 (0)編輯 收藏

    《手》- 莫文蔚

    第一次聽這歌是在冰魚工作室錄制的鏘鏘三人行的片頭里,是“祈雨坊主”的翻唱。之后在Kugoo里搜索才知道原唱是莫文蔚,收錄在她的專輯《如果沒有你》里。也許是第一映象的原因,總是覺得原唱還不如翻唱。
    很安靜的一首歌,但是很動(dòng)人。似乎總是能牽起心中的一些回憶,但并不知道是哪一段回憶。。。

    posted @ 2006-08-26 06:03 405 Studio 閱讀(380) | 評(píng)論 (0)編輯 收藏

    google和baidu的超長域名

    今天在群里有兄弟發(fā)了兩個(gè)域名:

    GOOGLE的變態(tài)域名:
    http://www.mamashuojiusuannizhucedeyumingzaichanggoogledounengsousuochulai.cn
    中文拼音:“媽媽說就算你注冊(cè)的域名再長GOOGLE都能搜索出來”

    然后百度也跟著注冊(cè)了個(gè):
    http://www.mamashuojiusuannizhucedeyumingzaichangbaidudounengsousuochulai.cn
    中文拼音:“媽媽說就算你注冊(cè)的域名再長百度都能搜索出來”?

    后來有人把域名注冊(cè)資料查了一下:

    mamashuojiusuannizhucedeyumingzaichanggoogledounengsousuochulai.cn 注冊(cè)資料

    Domain Name: mamashuojiusuannizhucedeyumingzaichanggoogledounengsousuochulai.cn
    ROID: 20060619s10001s55234958-cn
    Domain Status: ok
    Registrant Organization: 臺(tái)山市新視野網(wǎng)絡(luò)有限公司??
    Registrant Name: 袁艷伯
    Administrative Email: ogilvy@gmail.com
    Sponsoring Registrar: 廈門精通科技實(shí)業(yè)有限公司
    Name Server:ns3.dns-diy.com
    Name Server:ns4.dns-diy.com
    Registration Date: 2006-06-19 19:21
    Expiration Date: 2007-06-19 19:21

    mamashuojiusuannizhucedeyumingzaichangbaidudounengsousuochulai.cn 注冊(cè)資料

    Domain Name: mamashuojiusuannizhucedeyumingzaichangbaidudounengsousuochulai.cn
    ROID: 20060620s10001s55330994-cn
    Domain Status: ok
    Registrant Organization: 北京鼎立四方科技發(fā)展中心
    Registrant Name: 許曉剛
    Administrative Email: bigfoot@51icp.com
    Sponsoring Registrar: 廈門華商盛世網(wǎng)絡(luò)有限公司
    Name Server:ns1.520idc.net
    Name Server:ns2.520dns.net
    Registration Date: 2006-06-20 11:53
    Expiration Date: 2007-06-20 11:53

    也不像官方注冊(cè)的域名,不直到是什么目的呢。。。

    posted @ 2006-08-22 20:55 405 Studio 閱讀(509) | 評(píng)論 (0)編輯 收藏

    感受db4o

    面向?qū)ο髷?shù)據(jù)庫一直都只是知道這個(gè)概念而不有去真正的嘗試過。直到今天看了db4o的

    “白皮書”,不得不為其便捷的操作和而震動(dòng)。使用關(guān)系數(shù)據(jù)庫的時(shí)候我們一直在考慮如何ORM。而db4o的出現(xiàn)給了我們一種更方便快捷的方法來存取對(duì)象。正如CSDN里的評(píng)論“db4o結(jié)束了長達(dá)15年"對(duì)象導(dǎo)向軟件應(yīng)使用哪種查詢語言"的辯論”。相信面向?qū)ο蟮臄?shù)據(jù)庫的未來會(huì)越來越廣闊。

    posted @ 2006-08-22 20:38 405 Studio 閱讀(317) | 評(píng)論 (0)編輯 收藏

    網(wǎng)友言論

    今天在CSDN上有人問JSP有沒有數(shù)據(jù)綁定,看來那位老兄是.net那邊過來的。(小心,是不是間諜哦)
    然后有位達(dá)人來了一句經(jīng)典,錄下:

    搞java需要的不僅僅是耐心!就和耕田一樣,現(xiàn)在還沒有聯(lián)合收割機(jī)

    posted @ 2006-07-25 15:59 405 Studio 閱讀(323) | 評(píng)論 (0)編輯 收藏

    Linux下Eclipse不認(rèn)識(shí)Tomcat

    剛配置完Tomcat,想在Eclipse下試一試,隨便些了個(gè)HelloWorld,然后Run on Server。Eclipse之前沒有建過Sever的,于是提示要?jiǎng)?chuàng)建一個(gè)Server,但是沒想到給了我個(gè)錯(cuò)誤提示:
    Could not load the Tomcat server configuration at /opt/tomcat/conf. The configuration may be corrupt or incomplete.
    本以為是環(huán)境變量配置錯(cuò)誤。檢查了一下,沒有問題,而且Eclipse以外,直接運(yùn)行服務(wù)器也正常。
    折騰了半天,看了下
    cyril@405Studio:/opt$?sudo?ls?-l?tomcat
    total?
    68
    drwxr
    --r--?2?root?root??4096?2006-07-23?17:39?bin
    drwxr
    --r--?6?root?root??4096?2006-04-15?02:09?common
    drwxr
    --r--?3?root?root??4096?2006-07-23?19:41?conf
    -rwxr--r--?1?root?root?11357?2006-04-15?02:11?LICENSE
    drwxr
    --r--?2?root?root??4096?2006-07-23?18:20?logs
    -rwxr--r--?1?root?root???688?2006-04-15?02:11?NOTICE
    -rwxr--r--?1?root?root??6384?2006-04-15?02:09?RELEASE-NOTES
    -rwxr--r--?1?root?root??6964?2006-04-15?02:11?RUNNING.txt
    drwxr
    --r--?5?root?root??4096?2006-04-15?02:09?server
    drwxr
    --r--?4?root?root??4096?2006-04-15?02:09?shared
    drwxr
    --r--?2?root?root??4096?2006-07-23?17:39?temp
    drwxr
    --r--?8?root?root??4096?2006-04-15?02:09?webapps
    drwxr
    --r--?3?root?root??4096?2006-07-23?18:20?work

    看樣子可能是權(quán)限的問題。
    于是
    sudo chmod -R 777 /opt/tomcat/
    再次啟動(dòng)Eclipse創(chuàng)建服務(wù)器完成!
    總結(jié):
    Eclipse使用Tomcat作為服務(wù)器來開發(fā)的時(shí)候,需要對(duì)tomcat安裝目錄的文件進(jìn)行讀寫操作,所以應(yīng)該賦予Eclipse對(duì)tomcat安裝目錄的讀寫權(quán)限。



    posted @ 2006-07-23 20:04 405 Studio 閱讀(1578) | 評(píng)論 (0)編輯 收藏

    Linux下JDK,Tomcat的配置

    ?每次重裝之后總是忘記Ubuntu下的J2EE開發(fā)環(huán)境配置,備份一下:

    1.安裝JDK:
    sudo?apt-get?install?sun-java5-jdk?

    2.配置環(huán)境變量:
    在/etc/profile末尾添加如下代碼:
    #Java?Environment
    export?JAVA_HOME=usr/lib/jvm/java-1.5.0-sun
    export?CLASSPATH
    =.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
    export?PATH
    =.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    要讓以上環(huán)境立即生效輸入命令: source /etc/profile
    說明:其中的usr/libjvm/java-1.5.0-sun的路徑,要看具體jdk的版本和實(shí)際安裝路徑來確定

    2.安裝Tomcat
    下載Tomcat的Linux版本解壓到某目錄即可(例如:/opt/apache-tomcat-5.5.17)

    3.配置Tomcat的環(huán)境變量(如果使用Eclipse開發(fā)環(huán)境,需要在原/etc/profile末尾加上如下代碼):
    #Tomcat?setup
    export?TOMCAT_HOME=/opt/apache-tomcat-5.5.17
    export?CLASSPATH
    =$CLASSPATH:$TOMCAT_HOME/common/lib
    默認(rèn)Tomcat服務(wù)器的端口是:8080
    測(cè)試: http://localhost:8080

    posted @ 2006-07-23 18:25 405 Studio 閱讀(3535) | 評(píng)論 (9)編輯 收藏

    體會(huì)兩句話

    句一:
    工欲善其事,必先利其器
    今天配置IDE的體會(huì)。

    句二:

    兩個(gè)人交換兩個(gè)蘋果,交換之后一個(gè)人還是只有一個(gè)蘋果;但是兩種思想,兩個(gè)靈感,拿來交換,之后每個(gè)人就同時(shí)獲得了這兩個(gè)思想和靈感!
    跟JR交流技術(shù)的體會(huì)

    posted @ 2006-07-21 01:57 405 Studio 閱讀(243) | 評(píng)論 (0)編輯 收藏

    VIM實(shí)用教程

    在某位兄弟的Blog上看到的,雖然很多知識(shí)都知道。但是還是轉(zhuǎn)載了,因?yàn)楦杏X這作為入門教程很不錯(cuò)。
    希望會(huì)有更多的人喜歡VIM!

    什么人適合使用 VIM ?
    追 求編 輯 效 率的 程序員
    VIM 的作者是程序員
    他為程序員開發(fā)了許多有用的功能
    其 它經(jīng) 常 處 理純 文本的 人 員
    中小型企業(yè) Web 開發(fā)人員
    編寫 LaTeX 文檔的研究人員
    Unix / Linux 系統(tǒng)管理員

    什么人不適合使用 VIM ?
    生 活、 工 作 和學(xué) 習(xí)無需 和 純 文本 打 交道 的 人
    處理其它類型的文件有專門的工具
    打 字速 度 慢 于智 能感知 運(yùn) 行 速度 的 人
    VIM 目前暫不支持智能感知
    被強(qiáng)大的 IDE 慣壞了的人
    強(qiáng)大順手的 IDE 比方便快捷的編輯器更重要


    Linux 下中文處理
    編 輯時(shí) 不 能 輸入 中文
    :set encoding=cp936
    菜 單顯 示 是 亂碼
    :so $VIMRUNTIME/delmenu.vim
    :so $VIMRUNTIME/menu.vim


    選擇喜歡的字體
    通 過菜 單 與 對(duì)話 框選擇 字 體
    編輯 --> 選擇字體
    只有等寬字體可以被選中
    適合程序員使用的字體基本原則
    Bitstream Vera Sans Mono
    0Oo 1Il
    記 住選 中 的 字體 名稱
    :set guifont?
    將顯示結(jié)果抄下來備用


    VIM 基本操作
    VIM 是一個(gè)有模式的編輯器
    Normal 模式下按鍵序列對(duì)應(yīng)命令
    按 i 鍵進(jìn)入 Insert 模式
    按 : 進(jìn)入 command 模式
    Insert 模式下可以輸入文本
    按 ESC 回到 Normal 模式
    Command 模式下輸入命令
    有模式導(dǎo)致 VIM 快捷鍵長度較短


    使用 hjkl
    VIM 支持使用方向鍵移動(dòng)光標(biāo)
    在 insert 狀態(tài)下移動(dòng)光標(biāo)會(huì)比較方便
    使 用 h jk l 移 動(dòng) 光 標(biāo) 編 輯 效 率 更 高
    距離近,按鍵方便,眼睛無需離開屏幕


    vimtutor
    vimtutor 是 VIM 入門非常好的學(xué)習(xí)材料
    Linux 用戶
    在終端中輸入 vimtutor
    啟動(dòng)字符界面的 vimtutor
    W in d o ws 用 戶
    在開始菜單中找 vimtutor 快捷方式
    啟動(dòng)后出現(xiàn)亂碼,重新選擇一個(gè)中文字體即可


    查找替換
    準(zhǔn) 備工 作
    打開 VIM ,按 i ,輸入:
    this is a test
    查 找替 換
    按 ESC 回到 normal 狀態(tài),輸入:
    :%s/ /^M/g
    其中 ^M 使用 Ctrl-v Ctrl-m 的方式輸入
    將所有空格替換為回車,文本變?yōu)?4 行


    行的拼接
    查 找 \n 替 換 為 空 格 可 以 實(shí) 現(xiàn) 拼 接
    這 里使 用 j 命 令拼 接 行
    按 ggVG ,全選
    按 : ,此時(shí)命令行顯示為:
    :'<,'>
    在其后輸入 j ,回車
    拼接完畢


    復(fù)制粘貼與重復(fù)動(dòng)作
    在 normal 狀態(tài)下按 yy ,復(fù)制當(dāng)前行
    按 1 2 p , 屏幕 上 即 出現(xiàn) 1 3 行 上述 字 樣
    12 表示將其后的命令執(zhí)行 12 次
    p 表示粘貼到當(dāng)前行之后
    VIM 里大部分命令都可以加上數(shù)字表明執(zhí)行次數(shù)


    列操作
    選 中全 文 第 一列
    按 gg 跳到開頭
    按 Ctrl-v 進(jìn)入列選擇狀態(tài)
    按 G 跳到末尾
    將 每行 第 一 列變 為大寫
    按 U 表示把選中內(nèi)容變大寫
    按 u 表示把選中內(nèi)容變小寫
    按 ~ 表示翻轉(zhuǎn)原有大小寫
    在 每行 前 面 加一 個(gè)星號(hào) 和 一 個(gè)空 格
    選中第一列
    按 I 進(jìn)入插入狀態(tài)
    輸入 * ,按 ESC
    選 中前 兩 列 后按 x , 可以 進(jìn) 行 列刪 除
    編程時(shí)可以用于批量注釋和批量解注釋


    宏的錄制
    將 所 有 偶 數(shù) 行 的 a 改 成 an o th er
    錄 制宏
    按 gg 進(jìn)入第一行
    按 qm 進(jìn)入宏錄制狀態(tài),錄制到寄存器 m
    按 j 進(jìn)入第二行,按 $ 跳到行末
    按 2b ,光標(biāo)停在字母 a 上
    按 caw ,輸入 another ,按 ESC ,按 j 進(jìn)入下一行
    按 q 結(jié)束宏的錄制


    宏的播放
    單 次播 放
    按下 @m ,執(zhí)行 m 寄存器中的宏
    可以發(fā)現(xiàn)第 4 行的 a 也變成了 another
    多 次播 放
    輸入 1000@m
    可以發(fā)現(xiàn)所有偶數(shù)行的 a 都變成了 another
    到達(dá)文件底部時(shí)宏執(zhí)行出錯(cuò),會(huì)自動(dòng)停止
    最終并沒有真的執(zhí)行 1000 次


    點(diǎn)命令
    在 每行 末 尾 添加 一個(gè)感 嘆 號(hào)
    執(zhí) 行次 數(shù) 不 多的 簡單操 作 無 需使 用 宏
    按 gg 進(jìn)入第一行,按 A 進(jìn)入行尾添加狀態(tài)
    輸入 ! ,按 ESC ,按 j 進(jìn)入第二行
    按 . 表示重復(fù)前一個(gè)操作,即行尾添加 !
    反復(fù)按 j.j.j.j.
    推薦大家左手鼠標(biāo)
    :%s/$/!/g


    VIM 入門
    2 1 天 學(xué)習(xí) 計(jì) 劃
    多讀文檔,少走彎路
    第一周:每天一遍 vimtutor
    熟悉基本操作,做到隨心所欲
    第 二周 、 第 三周 :通讀 用 戶 手冊(cè)
    讀用戶手冊(cè)的同時(shí)修訂出適合自己的 .vimrc
    目前手冊(cè)有中文版譯本可供下載

    posted @ 2006-07-07 15:53 405 Studio 閱讀(3162) | 評(píng)論 (0)編輯 收藏

    愛上口哨

    音樂是一種美妙的東西,它可以用任何的方式來表達(dá)!今天上了一個(gè)口哨專題的Blog口哨音樂網(wǎng)其中說到了很多關(guān)于口哨知識(shí)。聽了李貞吉的專輯《唇音樂》真有余音繞梁,三月不知肉味之感。這是人類最原始的管弦樂器,也許是因?yàn)樗鼘儆谖覀兊纳眢w,所以人類能更自如地操控它,更能用它來表達(dá)自己的內(nèi)心。
    愛上了口哨!:)

    posted @ 2006-07-06 19:57 405 Studio 閱讀(320) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: caoporn国产精品免费| 另类专区另类专区亚洲| 99精品国产成人a∨免费看| 亚洲乱色伦图片区小说| 国产福利免费观看| 美女视频黄视大全视频免费的| 理论片在线观看免费| 亚洲日本香蕉视频观看视频| 亚洲免费综合色在线视频| 亚洲国产精华液2020| 国产精品无码素人福利免费| 99re6免费视频| 国产色无码精品视频免费| 久久精品国产亚洲AV蜜臀色欲| 成人无码a级毛片免费| 亚洲av无码有乱码在线观看| 亚洲一级黄色大片| 亚洲成a人片在线观看无码| 亚洲日韩中文字幕日韩在线| 国产成人无码a区在线观看视频免费| 国产vA免费精品高清在线观看| 亚洲av午夜成人片精品网站| 国产成人精品日本亚洲专区| 亚洲第一区精品日韩在线播放| 三级黄色片免费看| 免费精品视频在线| 国产亚洲精品成人久久网站| 亚洲精品人成网线在线播放va| 中文字幕亚洲一区| 亚洲第一区精品日韩在线播放| 99久在线国内在线播放免费观看| 亚洲人成网站在线在线观看| 亚洲人成小说网站色| 精品亚洲AV无码一区二区| 亚洲首页在线观看| 亚洲精品成人区在线观看| 日韩精品人妻系列无码专区免费| 久久无码av亚洲精品色午夜| 亚洲欧美中文日韩视频| 亚洲中文无码mv| 亚洲精品~无码抽插|