欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Linux折騰記(二):打造屬于自己的Vim

Linux折騰記(二):打造屬于自己的Vim

熱門標(biāo)簽:新鄭電銷外呼系統(tǒng)線路 電話機(jī)器人哪里有賣的 壽光百度地圖標(biāo)注中心網(wǎng)站 樺甸電銷機(jī)器人 商戶地圖標(biāo)注 怎樣給景區(qū)加百度地圖標(biāo)注 河南智能電話機(jī)器人公司 河北語音電銷機(jī)器人 地球地圖標(biāo)注方法

  Linux系統(tǒng)中很多東西都是以腳本代碼、配置文件的形式存在,使用Linux系統(tǒng)時,需經(jīng)常對這些文件進(jìn)行編輯。很顯然,如果沒有文本編輯器,江湖之路寸步難行。

  我的選擇是Vim。Vim是Linux系統(tǒng)上的最著名的文本/代碼編輯器,也是早年的Vi編輯器的加強(qiáng)版,被譽(yù)為文本/代碼編輯器之中最為優(yōu)秀經(jīng)典的上古神器。 它之所以會獲得如此美譽(yù),我想主要有以下原因:1.它古老而神秘,學(xué)習(xí)曲線陡峭,難以駕馭,但是一旦學(xué)會則受益匪淺。如今被看作是高手、Geek們專用的編輯器。所以盡管 Vim 已經(jīng)是古董級的軟件,但還是有無數(shù)新人迎著困難去學(xué)習(xí)使用。 2.輕便,無需多言,當(dāng)僅僅只需要對某一文本文件(比如腳本代碼、配置文件)進(jìn)行簡單的編輯的時候,所使用的工具當(dāng)然是越輕便越好。Vim同時也是閱讀文本文件的利器。 3.經(jīng)典巧妙的編輯方式及強(qiáng)大的功能。它全程使用鍵盤操作,用戶必須記住一堆快捷鍵、按鍵組合以及各種命令才能開始使用,一旦使用熟練則編輯效率遠(yuǎn)超其余編輯器,而且具有各種插件、語法高亮、代碼補(bǔ)全、配色方案等極其豐富的資源以及靈活的配置;

  我主要在以下情況下使用Vim: 1.用來修改服務(wù)器系統(tǒng)的配置文件; 很多時候, Linux 作為服務(wù)器是不會開啟圖形界面的,當(dāng)需要遠(yuǎn)程操作時,只能利用 SSH “命令字符式”的 Shell 界面對其進(jìn)行操作,這種情況下,Vim自然是首選。 2.用來閱讀內(nèi)核源代碼和系統(tǒng)的腳本; 理由同上。 3.用來寫簡單的程序,一般都是單文件的程序,或多文件但是只有少數(shù)幾個文件的項(xiàng)目,比如學(xué)習(xí)一門編程語言的時候做練習(xí)題,喜歡看到文件夾內(nèi)干干凈凈,不喜歡一大堆類似.project的文件; 4.裝B,花花綠綠的全文本字符界面,很酷。

  不適合Vim使用的場景: 1.大的編程項(xiàng)目,大的項(xiàng)目還是最好使用IDE,如果要遠(yuǎn)程連接沒有圖形界面的服務(wù)器寫大項(xiàng)目,最好還是在服務(wù)器上建立代碼倉庫;理由:VIM沒有好的項(xiàng)目管理功能,VIM的自動補(bǔ)全只建立在文本匹配上,沒有程序語言的語義分析功能。 2.對內(nèi)容的輸入要求不高,但是經(jīng)常需要設(shè)置顯示格式,且每個動作之間本身就有很多的停頓的工作,用其他GUI編輯器(如LibreOffice Writer)效率反而比VIM高。 

  有人說,Vim是“成也插件、敗也插件”。Vim靈活的配置和豐富的插件極大地增強(qiáng)了它的功能,但是也極大地增加了我們管理Vim的難度。首先,在使用Vim之前,必須經(jīng)過適當(dāng)?shù)呐渲茫鳹im的配置又極其繁瑣。所以網(wǎng)上有很多諸如“萬能配置”、“最強(qiáng)配置”的文章,這些都可以參考。但是這些文章中有些存在很多錯誤,甚至前后內(nèi)容重復(fù)、沖突,而且這些文章是“授人以魚,而不是授人以漁”,它們給出的配置雖然可以照抄,但是經(jīng)常會讓人不明所以。 Vim的插件豐富,在網(wǎng)上不乏使用各種插件將Vim配置成強(qiáng)大IDE的文章,但是Vim的插件管理非常困難,因?yàn)槊堪惭b一個插件,都需要將該插件的文件分別放到Vim安裝路徑下的plugin、autoload、syntax、doc等目錄下。好在是Vundle橫空出世,它不僅解決了Vim插件在文件系 統(tǒng)中分散的問題,同時能夠自動搜索和下載插件。

安裝和配置Vim

  使用Vim之前當(dāng)然需要先安裝,不過在Ubuntu中這都不算個事,一條 sudo aptitude install命令就可以搞定。由于Vundle搜索和下載插件需要git,所以需要同時安裝vim、gvim和git,如下:


復(fù)制代碼
代碼如下:

sudo aptitude install vim
sudo aptitude install gvim
sudo aptitude install git


  然后,在用戶的主目錄中建立 .vim 目錄,在 .vim 目錄中建立 bundle 目錄,以后Vundle自動下載的插件都保存在這里。然后,進(jìn)入 Bundle 目錄,使用 git clone 命令下載vundle。

  下面開始展示我的配置文件(主目錄下的 .vimrc 文件)。我的配置不同于網(wǎng)上流傳的“萬能配置”、“最強(qiáng)配置”。我的配置是能夠達(dá)到我想要的效果的 “最簡單配置”。下圖是第1到17行,這里配置了Vundle,使用Vundle來管理插件。在網(wǎng)上的一些配置中,常把Vundle的配置放到配置文件的最后,這是不對的。Vundle的配置必須放到最前面。(如果不用Vundle,用Pathogen插件也一樣要把配置放到最前面。)這是因?yàn)椋挥?Vundle插件運(yùn)行以后,Vim才會到 ~/.vim/bundle 目錄下加載其它的插件,如果Vundle沒有先運(yùn)行,Vim當(dāng)然找不到下載的插件了。

  第18到44行,如下圖,這是在GVim中截的圖,順便展示一下GVim的效果:

  第45到68行:

  第69到86行:

  從截圖中可以看出,我的配置文件很簡潔,并且將各種設(shè)置初略地分了類,并進(jìn)行了簡單的注釋。該配置文件只對Vim進(jìn)行最基本的設(shè)置,不包含任何鍵盤映射,也不包含任何腳本代碼。我把Vim和GVim使用了不同的配色方案,Vim使用經(jīng)典的desert,而GVim則是網(wǎng)上被眾多人推崇的solarized,而且該配色方案是使用Vundle自動下載的。

使用Vundle管理插件

  Vundle可以自動下載和安裝插件,只需要在“My Bundles Here”注釋后面使用 Bundle 命令把所需要的插件列出來,每個插件一行,然后運(yùn)行 :BundleInstall 命令即可。Vundle支持 github.com 和Vim的官網(wǎng) vim.org 。前面的配置文件中,solarized配色方案就是Vundle從 github.com 上下載的插件。下面,看看怎么從 vim.org 下載一個模擬黑客帝國的插件。如下圖,在 .vimrc 中增加一行配置:

  保存該配置文件,并重新啟動Vim后,使用 :BundleInstall 命令,可以看到自動下載和安裝插件:

  輸入 :Matrix 命令,可以看到如下效果:

  當(dāng)然,該插件純屬娛樂。娛樂過后還是刪除掉比較好。要刪除一個插件,首先要從配置文件中將 Bundle 'matrix.vim--Yang' 這一行刪掉或注釋掉,如下圖:

  然后保存配置文件,重新啟動Vim,運(yùn)行 :BundleClean 命令,如下圖,刪除一個插件后的效果:

怎么學(xué)習(xí)使用Vim

  使用Vim之前必須得先做點(diǎn)功課,否則根本玩不轉(zhuǎn),Vim只會滴滴滴亂響,讓人一頭霧水。好在Vim有一個非常棒的幫助系統(tǒng),通過該幫助系統(tǒng), 可以非常方便地學(xué)習(xí)Vim。比如前面展示的配置文件,我并沒有做過多的解釋,因?yàn)槿绻肓私饽硹l設(shè)置的作用,只需要 :help 一下即可。下面以 guioptions 設(shè)置為例,來了解該幫助系統(tǒng)的用法。從我的截圖中可以看到,我的GVim是去掉了工具欄、狀態(tài)欄、菜單、滾動條的,只保留了編輯界面,要達(dá)到該效果,需要使用 set guioptions=... 來設(shè)置。要想對 guioptions 有更深入的了解,可以使用 :help guioptions 命令,如下圖:

  彈出的幫助文檔:

  如果想對Vim進(jìn)行系統(tǒng)的學(xué)習(xí),可以使用不帶參數(shù)的 :help 命令,如下圖:

  Vim的命令非常多,幾乎鍵盤上的每一個按鍵都有特定的用途,學(xué)習(xí)Vim的時候一定要做筆記哦。下面,我給大家分享一個Vim的鍵盤布局圖:

  (該圖片非常大,可以保存下來觀看,或者在新的窗口中打開觀看。)

  VIM的使用技巧,看這里http://vim.wikia.com/wiki/Vim_Tips_Wiki

使用Vim閱讀Linux內(nèi)核源代碼

  實(shí)戰(zhàn)演示如何使用Vim閱讀Linux內(nèi)核源代碼。工欲善其事、必先利其器,所以在開始工作前需要先安裝合適的插件。我前面講到了使用 Vundle可以自動管理插件,但是沒有講到Vim中究竟有哪些插件可用。可以到Vim的官網(wǎng)看看哪些插件的下載率比較靠前。地址這里:http://www.vim.org/scripts/script_search_results.php?order_by=downloads

  上圖是排名前15名的插件的截圖。如果只是閱讀源代碼的話,我覺得taglist.vim和The NERD tree這兩個插件就夠了,The NERD tree是瀏覽目錄樹的利器,taglist.vim是瀏覽代碼的利器,可以非常方便地顯示源代碼中定義的各種類型、變量、函數(shù)等信息,也可以非常方便地在各個符號之間跳轉(zhuǎn)。taglist.vim必須配合tags文件使用,Linux的內(nèi)核源代碼是C語言的,可以使用 ctags 命令生成tags文件。如果是想把Vim打造成強(qiáng)勁的IDE,還需要別的功能,比如自動補(bǔ)全、自動生成代碼塊、自動注釋、自動Make、自動運(yùn)行/調(diào)試等,以后需要用到相關(guān)功能的時候我再介紹相應(yīng)的插件。在這里,只是Read Only,我覺得taglist.vim和The-NERD-tree足以。

  首先,使用前文《玩轉(zhuǎn)Linux系統(tǒng)的方法論》中介紹的方法,找到Linux的內(nèi)核源代碼,并安裝:

  然后找出它們都在文件系統(tǒng)的什么地方:

  taglist.vim需要tags文件的支持,而tags文件需要使用tags命令生成,所以需要安裝exuberant-ctags,如下圖:

  再然后,為Vim安裝插件。從下面的圖中可以看出,除了taglist.vim和The-NERD-tree,我還安裝了a.vim,該插件可以方便地實(shí)現(xiàn)在.c文件和.h文件之間跳轉(zhuǎn)。當(dāng)插件名稱中含有空格的時候,以“-”代替,如The NERD tree插件,在配置文件中需寫成“The-NERD-tree”。配置插件如下圖:

  安裝插件如下圖:

  再然后,進(jìn)入Linux內(nèi)核源代碼包的安裝目錄,解壓Linux內(nèi)核源代碼,并生成tags文件,如下圖:(這兩個步驟都需要有點(diǎn)耐心,因?yàn)榻鈮汉蜕蓆ags這兩個操作都很花時間。)

  閱讀代碼前,需要告訴Vim使用哪一個tags文件,在這里,就是剛剛使用 ctags 生成的文件,可以通過 :set tags=/usr/src/linux-source-3.13.0/tags 來設(shè)置。為了方便起見,我把該設(shè)置放到了 .vimrc 配置文件中,如下圖:

  最后,啟動Vim,找到相應(yīng)的代碼進(jìn)行瀏覽。如果編輯的是一個目錄的話(如下面的 :e . 命令,表示編輯當(dāng)前目錄),會自動跳出The-NERD-tree的界面,在目錄之間導(dǎo)航非常方便,如下圖:

  這里以Linux內(nèi)核中紅黑樹的實(shí)現(xiàn)為例。使用The-NERD-tree定位到 lib 目錄下的 rbtree.c 文件,按Enter鍵即可打開代碼。輸入 :TlistToggle 命令可以打開Taglist窗口,如下圖:

  在源文件中瀏覽時,使用Ctrl+]快捷鍵,可以非常方便地在符號的使用和定義之間跳轉(zhuǎn)。上面的截圖是將控制臺全屏后的效果,是不是很拉風(fēng)?

  再看看在GVim中閱讀內(nèi)核代碼的效果:

  上圖是將GVim窗口最大化后的效果,Solarized的深色主題和Ubuntu自己的紫色主題之間似乎不是很和諧,所以我在系統(tǒng)設(shè)置中將Ubuntu左側(cè)的launcher隱藏了。Ubuntu不僅可以隱藏左側(cè)的launcher,而且Gvim的菜單和系統(tǒng)的狀態(tài)欄合并到了一起,增加了工作區(qū)域,閱讀代碼那是非常舒服的。

  關(guān)于The NERD tree和taglist.vim這兩個插件,如果想知道關(guān)于它們的更高級的用法的話,可以使用 :help NERD_tree.txt 和 :help taglist.txt 命令查看它們自己的幫助文檔,如下兩圖:


  以上截圖全是圖形界面下的效果。如果在全字符界面下會是什么樣子的呢?

  在CentOS 5.10的全字符界面下截圖。如果是默認(rèn)的80×25的字符界面,工作區(qū)域就太小了,經(jīng)常不能完整顯示一整行代碼。所以我開啟了Framebuffer, 在1024×768的分辨率下工作。下圖的配色方案為desert,background=dark的效果:

  還是很漂亮的,不是嗎?這也是我曾經(jīng)最喜歡的工作環(huán)境。可是現(xiàn)在已經(jīng)很難再找到1024×768的4:3的顯示器了。對于現(xiàn)在的高清寬屏顯示器,點(diǎn)距太小,屏幕太大,眼睛就會很吃力。

  下圖是使用solarized配色方案,background=dark時的效果:

  對比度比desert要更強(qiáng)烈一些,也還過得去。

  如果在solarized配色方案中設(shè)置background=light,則根本沒法看:

  由此可見,solarized是一個專為GUI設(shè)計的配色方案。同一個配色方案,在圖形界面下和在字符界面下,其效果是不同的。

  除了經(jīng)典的desert,還有一個經(jīng)典的配色方案,那就是evening,效果見下圖:

標(biāo)簽:淄博 遼陽 迪慶 楚雄 阜陽 來賓 荊州 忻州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux折騰記(二):打造屬于自己的Vim》,本文關(guān)鍵詞  Linux,折騰,記,二,打造,屬于,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux折騰記(二):打造屬于自己的Vim》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux折騰記(二):打造屬于自己的Vim的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    日韩欧美一区中文| 椎名由奈av一区二区三区| 亚洲第一电影网| 下面一进一出好爽视频| 青草影院在线观看| 国产精品天干天干在观线| 国产乱对白刺激视频不卡| 欧美另类z0zx974| 久久免费精品国产久精品久久久久| 免费在线看成人av| 37p粉嫩大胆色噜噜噜| 日韩欧美国产成人一区二区| 青青草国产精品亚洲专区无| 99久久人妻无码中文字幕系列| 91精品一区二区三区久久久久久 | 国产又粗又猛又爽又黄91精品| 亚洲最大成人网站| 精品国产乱码久久久久久夜甘婷婷 | 99亚偷拍自图区亚洲| 少妇久久久久久被弄高潮| 国产精品福利电影一区二区三区四区| 粉嫩av一区二区三区在线播放| 一本一本久久a久久| 国产精品伦一区| jlzzjlzz亚洲女人18| 欧美影片第一页| 亚洲一二三四区不卡| www.啪啪.com| 欧美mv日韩mv国产| 国产尤物一区二区| 黄色a级片在线观看| 亚洲精品视频自拍| xxxxxx黄色| 亚洲精品在线观看网站| 国产激情视频一区二区在线观看 | 欧美男生操女生| 日本怡春院一区二区| 中文字幕人妻一区二区三区在线视频| 亚洲精品一区二区三区99| 国产精品88av| 在线一区二区三区做爰视频网站| 亚洲二区在线视频| 一区二区三区四区免费| 国产精品视频线看| 国产无套精品一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 蜜桃久久av一区| 久草福利资源在线| 一区二区三区在线免费播放 | 91麻豆精品国产91久久久久久 | 成人在线视频一区| 欧美日韩中文一区| 老司机精品视频一区二区三区| 开心激情五月网| 夜夜爽夜夜爽精品视频| 欧美激情aaa| 亚洲女女做受ⅹxx高潮| 内射中出日韩无国产剧情| 国产日韩欧美精品在线| 国产免费无码一区二区| 久久久欧美精品sm网站| 国产男女无遮挡猛进猛出| 精品国产123| 91视频在线观看| 欧美精品一区二区三区在线播放 | 精油按摩中文字幕久久| 色综合久久中文字幕| 日本道免费精品一区二区三区| 亚洲不卡av一区二区三区| 又色又爽的视频| 亚洲国产婷婷综合在线精品| 美女100%露胸无遮挡| 亚洲一区二区在线视频| www.黄色com| 天天操天天色综合| 超碰手机在线观看| 另类调教123区| 欧美影院一区二区| 国产传媒日韩欧美成人| 宅男噜噜噜66一区二区66| 成人av手机在线观看| 欧美mv日韩mv国产| 欧美成人精品一区二区综合免费| 国产拍揄自揄精品视频麻豆| 国产老熟女伦老熟妇露脸| 亚洲色图都市小说| 国产一区二区三区四区在线| 日韩精品一卡二卡三卡四卡无卡| 色狠狠色狠狠综合| 国产乱码精品一品二品| 日韩精品在线看片z| 一区二区三区人妻| 国产精品美女久久久久高潮| 成人免费网站黄| 亚洲成人av电影在线| 好吊色视频在线观看| 国产精品影视网| 欧美电影免费提供在线观看| 99久久er热在这里只有精品66| 久久精品亚洲乱码伦伦中文| 爱情岛论坛亚洲自拍| 国产高清精品网站| 日韩精品一区二区三区在线观看 | 中文字幕一区二| 国产一区二区三区四区五区六区| 亚洲一区二区三区四区在线观看 | 国产精品亲子伦对白| b站大片免费直播| 午夜欧美一区二区三区在线播放| 日本道免费精品一区二区三区| 国产69精品久久777的优势| 久久色中文字幕| 久久久久久久久久久国产精品| 亚洲高清视频中文字幕| 欧洲精品一区二区| 99国内精品久久| 亚洲婷婷在线视频| 日本中文字幕免费在线观看| 国产高清在线观看免费不卡| 久久久久国产精品免费免费搜索 | 亚洲成av人影院| 欧美在线999| 男人操女人下面视频| 1区2区3区国产精品| 乱h高h女3p含苞待放| 国产999精品久久| 日本一区二区久久| 亚洲一二三四五六区| 国产传媒日韩欧美成人| 国产精品视频一二三| 中文字幕国产专区| av网站免费线看精品| 欧美视频一区二区在线观看| 99久久99久久精品免费观看| 亚洲欧美福利一区二区| 色老汉av一区二区三区| 成人国产精品免费观看动漫| 亚洲人妖av一区二区| 欧洲精品中文字幕| 美女搡bbb又爽又猛又黄www| 天堂一区二区在线| 日韩久久久精品| 呻吟揉丰满对白91乃国产区| 国产精品99久| 亚洲欧美日韩国产手机在线| 欧洲一区二区av| 中文字幕人妻一区| 青青草国产成人99久久| 久久亚洲免费视频| 免费成人深夜夜行网站| 99在线精品视频| 亚洲成年人网站在线观看| 日韩一级黄色片| 九九九视频在线观看| 粉嫩高潮美女一区二区三区| 亚洲精品一二三| 91精品国产91久久久久久最新毛片| 一本加勒比北条麻妃| 国产一区二区主播在线| 亚洲欧洲在线观看av| 欧美日韩你懂的| 公侵犯人妻一区二区三区| 国产精品白丝jk黑袜喷水| 亚洲精品ww久久久久久p站| 欧美肥妇毛茸茸| 男人的天堂av网| 99精品视频在线播放观看| 亚洲成av人片一区二区| 26uuu色噜噜精品一区二区| 久久国产高清视频| 色哟哟网站在线观看| 久久黄色级2电影| 中文字幕在线不卡视频| 欧美日韩国产片| 99国产精品免费| 亚洲成人av免费观看| 青草国产精品久久久久久| 国产精品视频你懂的| 欧美人动与zoxxxx乱| 亚洲黄色网址大全| 韩国三级与黑人| 国产在线国偷精品免费看| 亚洲毛片av在线| 精品久久人人做人人爽| 91激情五月电影| 小早川怜子久久精品中文字幕| 不卡的av网站| 美女视频黄 久久| 亚洲欧美日韩国产一区二区三区| 欧美成人aa大片| 色8久久精品久久久久久蜜| 国产精品久久久久无码av色戒| 91亚洲国产成人精品一区二三| 秋霞电影网一区二区| 亚洲女与黑人做爰| 久久久国产一区二区三区四区小说| 欧美亚洲综合久久| 在线观看免费黄色网址| 午夜剧场免费看| gogogo免费视频观看亚洲一|