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

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

            接著說說,我為什么使用Vim,覺得值得學習它,喜歡它的理由吧,純粹以自己的觀點來敘述。

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

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

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

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

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

            安裝

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

            幫助

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

            操作方法

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

            Vim文件夾結構

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

            標簽頁

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

            文件編碼

            具體可參見"Vim實用技術:實用技巧"。我推薦內部編碼使用utf-8,以支持國際化,即encoding=utf-8。這需要在_vimrc中進行設置,網上常有人啟用這一選項后Vim菜單和消息出現亂碼。據我的經驗,需要將這encoding=utf-8寫在_vimrc最開頭,然后設置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是因為windows中的“命令提示符”窗口只能使用gbk編碼,不能像Gnome中的Console那樣用utf-8。不設置的情況下,使用“命令提示符”下的vim,而不是gvim時,會出亂碼。在設置文件中的色彩和字體,可以先在gvim菜單中設置,然后將你所喜好的,添加到_vimrc文件中。看到我的vimrc文件,你是不是感覺特別短。因為我把許多跟文件類型的相關設置放在其對應的腳本里,扔在vimfiles文件夾了。在vimrc里,例如常見的空格,制表符,縮進都沒有在這配置。

            雜項

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

            對一些帶值的配置選項,你可以用:set optionname來查看其當前值,或用:set optionname=val來更改其值.比如:set fileformat查看文件格式,因為dos,unix,mac對于換行是不一樣的。:set filemat=unix的話,換行將用LF,而不是dox\windows下的CR,LF。

            參考鏈接

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

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

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

            FeedBack:
            # re: 可愛的Vim
            2008-05-25 23:03 | dawn.soup
            不錯, 學習學習.  回復  更多評論
              
            # re: 可愛的Vim
            2008-05-25 23:52 | 網友A
            機器我一般都裝3個文本編輯器
            UntralEdit
            EditPlus
            EmEditor

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

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

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

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

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

            <2008年9月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            18岁日韩内射颜射午夜久久成人| 天天综合久久一二三区| 无码人妻久久一区二区三区| 久久久久亚洲av无码专区| 精品久久一区二区三区| 久久久久亚洲av成人无码电影| 久久久久久久久久久久久久| 久久精品嫩草影院| 亚洲AV无码久久精品色欲| 久久亚洲精品中文字幕三区| 久久久久久久久久久精品尤物| 国产国产成人久久精品| 久久久久久毛片免费播放| 久久亚洲AV无码西西人体| 久久精品国产福利国产秒| 国产成人精品综合久久久 | 国产A三级久久精品| 久久精品成人一区二区三区| 97r久久精品国产99国产精| 亚洲国产成人精品91久久久| 99热精品久久只有精品| 国产精品99久久免费观看| 中文字幕无码精品亚洲资源网久久| 国产叼嘿久久精品久久| 久久久久久狠狠丁香| 国产精品久久久久影视不卡| 久久久国产精华液| 精产国品久久一二三产区区别 | 四虎国产永久免费久久| 亚洲国产精品久久久天堂| 一本色道久久88精品综合 | 国产精品久久久久久福利漫画| 久久精品一本到99热免费| 伊人久久大香线蕉AV一区二区 | 久久久久久九九99精品| 久久婷婷五月综合97色直播| 久久人人爽人人爽人人片AV麻豆| 久久久久香蕉视频| 亚洲精品高清一二区久久| 2021最新久久久视精品爱| 久久精品免费一区二区|