• <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年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲国产精品嫩草影院久久| 一级做a爰片久久毛片看看| 人妻中文久久久久| 99久久精品国产综合一区| 久久综合香蕉国产蜜臀AV| 久久人与动人物a级毛片| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲欧美日韩精品久久亚洲区 | 久久久久久毛片免费播放| 久久久久久精品免费免费自慰| 一本一本久久a久久精品综合麻豆| 久久久久香蕉视频| 久久人人爽人人澡人人高潮AV| 久久久99精品成人片中文字幕 | 7777精品伊人久久久大香线蕉| 亚洲天堂久久久| 婷婷五月深深久久精品| 狠狠色丁香久久综合婷婷| 91秦先生久久久久久久| 久久久网中文字幕| 久久久久久久久久久| 欧美喷潮久久久XXXXx| 97精品国产91久久久久久| 亚洲精品高清国产一久久| 久久久久久毛片免费看| 亚洲中文字幕久久精品无码APP | 久久香蕉国产线看观看猫咪?v| 欧美久久久久久精选9999| 国内精品伊人久久久影院| 色欲综合久久中文字幕网| 品成人欧美大片久久国产欧美| 2021国产精品久久精品| 日韩人妻无码精品久久免费一| segui久久国产精品| 中文字幕无码久久久| 69久久精品无码一区二区| 久久综合视频网站| 99久久精品午夜一区二区| 久久天天躁狠狠躁夜夜avapp | 伊人久久五月天| 国产一区二区精品久久岳|