• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 24,  comments - 62,  trackbacks - 0

            Vim是功能強(qiáng)大的文本編輯器,但是每個(gè)工具都有其針對(duì)的適用群體。如果你只是偶爾做些文本編輯工作的話,那靈活而又顯得繁瑣的設(shè)置,以及特別的操作方式可能不適合你。但是你是跟我一樣,是個(gè)平平凡凡的程序員,每天要花費(fèi)大量時(shí)間在寫代碼,把弄著各式各樣的程序語言:C\C++,Python,Tcl,Html,Xml,...,那么你可能需要像Vim這樣的工具,即使你要在它上面花費(fèi)些時(shí)間去熟悉和適應(yīng)它。

            先講述一下,我跟Vim相處的過程,這是個(gè)從認(rèn)識(shí),到拋棄,到再認(rèn)識(shí),到再學(xué)習(xí),到喜歡的過程。最早接觸到Vim是在Solaris上,需要修改編輯一些配置文件,看著其他工程師們手指隨意地在鍵盤上敲擊,就完成內(nèi)容的修改,根本沒有動(dòng)用到什么鼠標(biāo),那是好生羨慕。嚴(yán)格意義來說,那時(shí)候碰到還不是Vim,只是VI而已。在終端上工作,沒有什么Notepad之類的程序,只好把指令抄在紙上,查查網(wǎng)上的資料,學(xué)會(huì)了h,j,k,l,w,q,e,這幾個(gè)簡單指類來進(jìn)行簡單的文本查看工作,僅此而己。后來在Windows上安裝了VIM,但是掙騰了幾下,沒有適應(yīng)過來,也就只好使用UltraEdit了。UltraEdit對(duì)一般的純文本,按Windows習(xí)慣來說是蠻好使的。再后來,玩了會(huì)兒ruby,又裝起了Vim,但是那時(shí)候的對(duì)Vim的使用也只是限于上面的簡單的指令,再加上Vim的插件,來完成語法高亮,ruby中的MVC文件的方便跳轉(zhuǎn)而已,還是沒有習(xí)慣Vim,有時(shí)候還是不經(jīng)意用UltraEdit來打開查看編輯文件。直到最近,需要編寫Docbook,以及用Python,才真正花費(fèi)了大量時(shí)間來學(xué)習(xí)使用Vim,才真正認(rèn)識(shí)到到它的可愛。

            接著說說,我為什么使用Vim,覺得值得學(xué)習(xí)它,喜歡它的理由吧,純粹以自己的觀點(diǎn)來敘述。

            ?跨平臺(tái)性,無論在Windows,Linux,Solaris,FreeBSD等等操作系統(tǒng)上,以及一些名都沒有聽過的系統(tǒng)上,你都可以找到它。這樣就保證了你的學(xué)習(xí)投資的保值性,就拿UltraEdit做對(duì)比吧,即使你在UltraEdit上學(xué)會(huì)靈活運(yùn)用許多功能,到了Linux上,你在這部分學(xué)習(xí)投資就沒有價(jià)值了,你可能需要找其他稱手的編輯器,然后再進(jìn)行學(xué)習(xí)一些功能。特別在一些古老的大型機(jī)上的系統(tǒng)上,即使沒有Vim,一般來說,還有Vi的,這樣一般簡單的操作命令還是可復(fù)用的。如果你確定你一直只呆在Windows上可忽略這一點(diǎn)。

            開源免費(fèi),Vim是開源軟件,意味著你可以自由使用,修改,查看它的代碼。我對(duì)FreeSoftware,Open Source,Copyright,這些都是持中間立場(chǎng)的。對(duì)于自由查看,修改程序代的保證,有總比沒有好。對(duì)于盜版軟件,你有能力還是不要使用的好。正是這一特性,也是促使我放棄UE,投向Vim的重要原因。如果你對(duì)于使用盜版軟件蠻不在乎,或你有財(cái)力購買正版軟件,也可忽視這一條。

            支持多種編程語言,Vim是程序員的編輯器,當(dāng)然對(duì)程序員是非常友好的。它對(duì)C,C++,Python,Perl,Tcl,Ruby,PHP等等,以及一大堆我沒有聽過見過的語言,以語法著色,代碼縮進(jìn)等基本支持,還有一些其他特性。比如,我在編輯XML時(shí),它能提供自動(dòng)封閉標(biāo)記的支持。因此如果你有對(duì)多種格式的文本編輯需要,那么你就有了一個(gè)編輯的大平臺(tái),不需用再裝一大堆針對(duì)某個(gè)格式特定的編輯器了。正如跨平臺(tái)性一樣,你只要一次投資,多次回報(bào)。如果你專注于某一格式文件的工作,那這一點(diǎn)同樣對(duì)于你來說是沒有用的。

            高效地編輯,Vim的操作方式相對(duì)于Windows上呆久了的人來說,是蠻奇特的,這一點(diǎn)我深有體會(huì)。但是正如很多人講的那樣,你掌握了其操作后,發(fā)現(xiàn)它會(huì)大大增進(jìn)你的編輯速度。你的雙手根本不用離開鍵盤,就完成了許多事情,可以讓鼠標(biāo)歇會(huì)兒了。如果你特別鐘愛鼠標(biāo),或只偶爾打打字,那么我說的這點(diǎn),同樣對(duì)你沒有用。

            靈活的設(shè)置,Vvim可自定義的地方太多了,你可以自定義鍵盤映射,語法著色,縮進(jìn),格式等等。所以你在網(wǎng)上可以看到許多人貼著自己的vimrc配置文件,配置著自己喜歡的作業(yè)環(huán)境。如果你需要開盒即用的工具,那么這點(diǎn)對(duì)你的吸引力就不大了。

            安裝

            可到VIM官網(wǎng),選擇Self-install executable形式的安裝包下載安裝。

            幫助

            幫助非常重要,VIM帶有我認(rèn)為非常好的幫助系統(tǒng),可以獲取你需要的任何有關(guān)VIM的詳細(xì)信息。使用幫助非常簡單,只需要:help安裝即可。安裝后程序帶的是英文幫助,如果你對(duì)英文不是特別適應(yīng)的話,可以去http://vimcdoc.sourceforge.net/下載安裝中文幫助,或像我一樣直接使用在線的中文幫助

            操作方法

            對(duì)于基本操作方法,通過Vim的教程,你應(yīng)該能很好的掌握了。一些常見的設(shè)置,關(guān)于特定類型的配置,因人而異,不想多述。我會(huì)列出一些認(rèn)為比較好的參考文章,置于文尾供參考。但在下面,我還是在Windows下的Vim的使用做點(diǎn)說明,或許你現(xiàn)在用不上。

            Vim文件夾結(jié)構(gòu)

            安裝完Vim后,你在其安裝目錄下應(yīng)有vim$ver($ver是版本號(hào))和vimfiles兩個(gè)文件夾。其中vim$ver是vim的程序運(yùn)行時(shí)目錄,在里面會(huì)看到gvim.exe(vim的GUI),vim.exe,xxd.exe等程序,一大堆的dll動(dòng)態(tài)鏈接庫,還有就是color(語法著色),doc(幫助說明),indent(縮進(jìn))等文件夾。在vimfiles內(nèi),也會(huì)看到color,doc,indent等類似的文件夾,但它們里面沒有文件。vim$ver和vimfiles兩者有什么區(qū)別呢,vim$ver是運(yùn)行時(shí)文件目錄,vimfiles相當(dāng)于個(gè)人配置目錄,常常有文章說在linux下將什么插件放進(jìn).vim下的plugin等等之類的,其.vim在windows下就相當(dāng)于vimfiles。

            標(biāo)簽頁

            Tabpage是Vim后增的功能,類似于UltraEdit的標(biāo)簽頁。也想在Windows下使用Untraledit一樣,在同一個(gè)VIM實(shí)例中打開多個(gè)文件的話,需要做些小修改。在注冊(cè)表中刪除"HKCR\*\shellex\ContextMenuHandlers\gvim\"主鍵,然后在Shell下新項(xiàng)"Vim 編輯",再在其下新建command項(xiàng),然后修改其值為$vimruntime\gvim.exe -p --remote-tab-silent "%1",其中$vimruntime修改為你系統(tǒng)中VIM實(shí)際運(yùn)行目錄。如果你不知道$vimruntime的值,可以打開gvim,輸入:echo $vimruntime。你想雙擊關(guān)聯(lián)文件,也在同一實(shí)例打開的話,查找注冊(cè)表中g(shù)vim相關(guān)項(xiàng),將$vimruntime\gvim.exe改為上述的值即可,主要是HKLM\software\classes\application\gvim.exe\shell\edit\command下的值。

            文件編碼

            具體可參見"Vim實(shí)用技術(shù):實(shí)用技巧"。我推薦內(nèi)部編碼使用utf-8,以支持國際化,即encoding=utf-8。這需要在_vimrc中進(jìn)行設(shè)置,網(wǎng)上常有人啟用這一選項(xiàng)后Vim菜單和消息出現(xiàn)亂碼。據(jù)我的經(jīng)驗(yàn),需要將這encoding=utf-8寫在_vimrc最開頭,然后設(shè)置language message,可參見我的_vimrc文件。

            vimrc文件

            Vim使用中,配置文件vimrc是非常重要的,用:echo $myvimrc,來查看你的vimrc在哪里。
            如果這為空的話,你可以在$vim目錄,建一新的_vimrc文件。
            我的vimrc文件

            set encoding=utf-8
            set termencoding=gbk
            set nocompatible          " We're running Vim
            set nobackup		"We don't need the backup file
            set showmatch		"Show where the bracket match
            set showcmd
            set ruler		"Show the line and column number 
            set hlsearch		"Highlight the search key
            set backspace=indent,eol,start
            set fileencodings=ucs-bom,utf-8,chinese
            set guifont=courier_new:h10
            set autoindent
            syntax on           " Enable syntax highlighting
            filetype plugin indent on " Enable filetype-specific indenting and plugins
            language message zh_CN.utf-8 " Use chinese message
            color zellner		" Color theme

            其中termencoding=gbk是因?yàn)閣indows中的“命令提示符”窗口只能使用gbk編碼,不能像Gnome中的Console那樣用utf-8。不設(shè)置的情況下,使用“命令提示符”下的vim,而不是gvim時(shí),會(huì)出亂碼。在設(shè)置文件中的色彩和字體,可以先在gvim菜單中設(shè)置,然后將你所喜好的,添加到_vimrc文件中。看到我的vimrc文件,你是不是感覺特別短。因?yàn)槲野言S多跟文件類型的相關(guān)設(shè)置放在其對(duì)應(yīng)的腳本里,扔在vimfiles文件夾了。在vimrc里,例如常見的空格,制表符,縮進(jìn)都沒有在這配置。

            雜項(xiàng)

            Vim中一些內(nèi)置的變量,你都可以通過:echo varname來查看值,比如::echo $myvimrc
            這些變量,注意大小寫,常用的有
            $VIM Vim的安裝目錄
            $vimruntime Vim運(yùn)行時(shí)目錄
            $myvimrc 用戶的_vimrc文件
            $home 用戶的主目錄
            我常常使用:e $myvimrc來編輯我的vimrc文件,非常方便。

            對(duì)一些帶值的配置選項(xiàng),你可以用:set optionname來查看其當(dāng)前值,或用:set optionname=val來更改其值.比如:set fileformat查看文件格式,因?yàn)閐os,unix,mac對(duì)于換行是不一樣的。:set filemat=unix的話,換行將用LF,而不是dox\windows下的CR,LF。

            參考鏈接

            IBM開發(fā)中心非常實(shí)在的Vim實(shí)用技術(shù)系列:
            Vim實(shí)用技術(shù)(1)-實(shí)用技巧
            Vim實(shí)用技術(shù)(2)-常用插件
            Vim實(shí)用技術(shù)(3)-定制Vim

            Easwy的博客,里面有用的信息,更多的Vim資源鏈接
            Vim專欄

            posted on 2008-05-25 20:19 len 閱讀(5726) 評(píng)論(13)  編輯 收藏 引用 所屬分類: IT技術(shù)

            FeedBack:
            # re: 可愛的Vim
            2008-05-25 23:03 | dawn.soup
            不錯(cuò), 學(xué)習(xí)學(xué)習(xí).  回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2008-05-25 23:52 | 網(wǎng)友A
            機(jī)器我一般都裝3個(gè)文本編輯器
            UntralEdit
            EditPlus
            EmEditor

            沒有聽過Vim怎么樣。  回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2008-05-26 10:16 | 愛好編程
            @網(wǎng)友A
            vim主要是linux下用,linux基本上是最常用的編輯器吧 呵呵  回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim[未登錄]
            2008-05-26 10:56 | hdqqq
            vim 是控制臺(tái)程序,所以可以遠(yuǎn)程登錄后進(jìn)行文件編輯,這點(diǎn)上windows下的編輯器根本沒這個(gè)功能.

            vim用熟了,鼠標(biāo)根本用不著,很靈活.  回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2008-05-26 15:42 | mm
            問一下,vim不同文件之間的復(fù)制粘貼支持嗎?怎么用
            我只知道本文件內(nèi)是可以的  回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2008-05-26 16:02 | kuchao
            定位要復(fù)制的內(nèi)容
            v進(jìn)入visual模式
            y復(fù)制
            :vsplit or :split
            開另一個(gè)窗口
            ctrl+w ctrl+w
            切換到另外一個(gè)窗口
            :e anothe.txt
            定位到要咱貼的位置
            p  回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2008-05-26 21:27 | len
            @網(wǎng)友A
            如果你沒有裝過的話,強(qiáng)烈建議你用一下
            可能開始的時(shí)候,會(huì)有點(diǎn)難,但是你常常做文本工作的話,非常物有所值.:)  回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2008-05-26 21:28 | len
            @愛好編程
            windows下一樣可以用,呵呵,用得也非常好
            我就是在windows下用  回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2008-05-26 21:32 | len
            @mm
            kuchao介紹的可能是指都在緩沖區(qū)了

            照我的意思理解,你想的是在windows,從其他的文件復(fù)制過來吧.
            完全可以,只是大家習(xí)慣了ctrl-C,ctrl-V了,呵呵.
            應(yīng)該這樣Ctrl-C,然后在Vim里輸入"+p

            如果你覺得"+p還麻煩的話,完全可以做個(gè)鍵映射到Ctrl-V,這樣跟Windows下就一樣了
              回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2008-05-27 11:33 | 路過
            lz一定不小心打錯(cuò)了 ultraedit 不是 Utraledit
            改軟件不能處理二進(jìn)制 ... 寫代碼提示功能不如相應(yīng)的編輯工具
            沒事兒玩玩的路過...

              回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2008-05-27 14:19 | 不懂
            @路過
            支持  回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2008-05-27 21:20 | len
            @路過
            汗自己,不是不小心,是英語不行,自以為是了  回復(fù)  更多評(píng)論
              
            # re: 可愛的Vim
            2009-04-25 11:06 | 石康志
            @路過
            vim支持二進(jìn)制,代碼提示我覺得除了比java+netbeans|eclipse差外,還沒找到比他強(qiáng)的c/c++代碼提示(我用vim+ctags+cscope還有各種補(bǔ)全的插件)。vim可配置性極強(qiáng),它本身就是一個(gè)腳本引擎,各種插件就是它的腳本而已,和你自己寫的配置一樣,說她不好基本上都是沒配置好  回復(fù)  更多評(píng)論
              

            <2008年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            高清免费久久午夜精品| 一级做a爰片久久毛片看看| 亚洲?V乱码久久精品蜜桃| 99久久人妻无码精品系列蜜桃| 久久人人爽人人人人片av| 日本精品一区二区久久久| 国产综合免费精品久久久| 国产欧美久久久精品| 夜夜亚洲天天久久| 国产成人精品久久一区二区三区av| 久久久精品一区二区三区| 久久青青草原精品影院| 亚洲狠狠综合久久| 久久综合久久性久99毛片| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 久久综合综合久久综合| 亚洲精品乱码久久久久久蜜桃不卡 | 久久噜噜电影你懂的| 超级碰久久免费公开视频| 亚洲色欲久久久久综合网| 久久亚洲精品无码aⅴ大香| 久久夜色精品国产噜噜亚洲AV| 91精品国产91久久综合| 精品乱码久久久久久夜夜嗨| 精品国产日韩久久亚洲| 成人综合伊人五月婷久久| 国产精品VIDEOSSEX久久发布| 一级做a爰片久久毛片看看| 精品久久无码中文字幕| 久久精品成人免费观看97| 色综合久久久久综合体桃花网| 狠色狠色狠狠色综合久久| 亚洲欧美一级久久精品| a级成人毛片久久| 四虎亚洲国产成人久久精品| 久久av无码专区亚洲av桃花岛| 精品久久久久久国产三级| 精品熟女少妇a∨免费久久| 色偷偷91久久综合噜噜噜噜| 国产精品久久影院| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 |