vim

  • 安裝

          最小化安裝Linux,那將會默認安裝vi,以下:前端

          

 

         僅此還不夠,須要安裝增強版,以下:python

         


  •  插件

            只針對C系語言開發的環境,其餘暫不記錄。git

1、插件管理工具: vundle github

     1>、簡介vim

         vundle是vim bundle的簡稱,是vim的插件管理器,能夠配置、安裝、卸載、更新vim插件。後端

     2>、安裝架構

         git clone https://github.com/VundleVim/Vundle.vim.git      ~/.vim/bundle/Vundle.vim框架

     3>、配置模塊化

            (1) .vimrc文件工具

                 rc即run command的簡寫,一般表明程序啓動階段運行命令,.vimrc文件就是vim啓動階段運行的一個腳本。 

           (2) .vimrc.bundles文件

                本身建立的插件配置文件,須要安裝或卸載的插件都在這裏配置,放置於HOME目錄,可是須要在.vimrc中進行以下配置:

                

           (3). 參考vundle的github說明配置.vimrc.bundles,注意vundle插件是必須包含的,插件列表也要放置在特定位置。

    4>、使用

           (1).安裝插件

                

                按照格式:Plugin   插件路徑  填寫好須要安裝的插件,而後sq,再執行vim命令:PluginInstall

                等待,直到提示:Done!表示所有插件安裝成功,此時能夠退出!

               注意:插件路徑有多種方式,好比git、本地路徑、URL等,具體可參考官網。

           (2).卸載插件

                i)、註釋掉.vimrc.bundle中配置的插件;

                ii)、執行:PluginClean

           (3).更新插件

                PluginUpdate或者PluginInstall!(最後是感嘆號)

           (4).搜索插件

                PluginSearch

           (5).列出插件

                PluginList

 

2、樹形目錄 (NERD Tree)

       1>、安裝

              使用插件管理工具vundle安裝;

       2>、使用

               在.vimrc中加入一行:map <F5> :NERDTreeToggle<CR> 

               這樣,F5即是控制NERD Tree開啓關閉的快捷鍵了,F5也能夠修改成其餘鍵。

 

3、代碼補全--YouCompleteMe

      1>、說明

             相似Visual studio的Visual AssistX的插件,安裝和配置的步驟稍多。

      2>、安裝

             (1).安裝條件

                  vim: 必須至少是7.4.1578

                  python: 至少支持2或者3的一種 (方法: 在vim輸入命令 :echo has('python') || has('python3') 若是結果是1,則OK)

             (2).安裝

                   用vundle安裝YCM.

             (3).安裝libclang

                   libclang是clang編譯器的庫。

             (4).編譯ycm_core庫

                  ycm_core庫是YCM用來快速補全的C++引擎所須要的。

      3>、關於YCM

              (1).完成引擎

                   YCM有多個完成引擎,其中一個是基於標識符的完成引擎,該引擎將會蒐集當前文件和所訪問的其餘文件中的標識符,當鍵入字詞時,將會有搜索標識符集;UltiSnips引擎用於完成文件路徑。

              (2).語義引擎

                   基於libclang的C家族語義完成器,基於Jedi的Python語義完成器,等等。

              YCM自動檢測哪一個引擎最適合當前場景,有時會採用多個引擎的結果,合併起來並呈現給使用者。

             (3).C/S架構

                   YCM的server端隨着vim的開啓及關閉自動啓動和中止。

      4>、使用

            TAB

            Shift-TAB

            Ctrl+Space

 

  • 附加知識

          一、LLVM

                LLVM是Low Level Virtual Machine的簡寫,是一個可重用、模塊化的編譯框架,使用LLVM能夠定製一個編譯工具。框架以下圖所示↓↓↓↓↓↓↓

                

                 

                若是要定製一個編譯工具,則只須要修改前端和後端,由於優化器是通用的。

 

          2.Clang

             Clang是LLVM框架的前端之一,參考其官網介紹可知,是一個基於LLVM的C系語言編譯器的前端。

相關文章
相關標籤/搜索