相信大家多次被推薦用vim作為編輯程序,知道vim編輯有很多優點,但是vim初始界面太原始了,安裝了之后只能用來編輯,如果要運行就需要退出去運行,麻煩死了。回想用現成的IDE是多么的舒服。但是為了更好的學習,所以要對vim進行設置、安裝一系列插件滿足我們的需求。
作者 | 陳穎/言有三
編輯 | 陳穎/言有三
1 寫在前邊的廢話
在群里言有三老師多次推薦用vim作為編輯程序,作為經驗豐富的AI程序員,我想一定有其道理,所以決定好好學習vim。知道vim編輯有很多優點,大家可以在網上搜,我認為最重要的一點就是看起來很牛啊~。但是vim初始界面太原始了,看得我想哭,安裝了之后只能用來編輯,如果要運行就需要退出去,通過Python test.py來運行,麻煩死了。回想用現成的IDE是多么的舒服。來來來,看一看界面有多簡單。
切換normal模式和插入模式還好,但是全部代碼靠手打,很容易出錯,所以智能補全、運行和斷點調試總不能沒有。因此我們要對vim進行設置安裝一系列插件滿足我們的需求。
按照以前的經驗在網上搜了一大堆的配置方法,總想著直接一下就配置好,直接拷貝粘貼,結果有的插件根本沒有作用。想一鍵運行程序,結果根本不行,不能用,作為小白,完全不知道問題在哪,花了大概兩三天都沒配成功。按照以前的習慣,就放棄了,換了個別人弄的現成的叫Spacevim,這個也還挺有名的。于是按照網上搜的方法配置也超麻煩,快捷鍵也是自己不習慣的。于是又放棄了…… 這兩天又重新安裝了ubuntu、anaconda、tensorflow、vim,最后還是決定要再挑戰一次,于是將自己安裝過程分享。
本文默認大家理解了vim的normal模式和插入模式、基本的打開保存文件方法、github安裝完成。
下面主要內容包括:
1、vim安裝及基本設置
2、插件安裝及設置
3、快捷鍵設置
2 vim安裝及基本設置
下面內容包括:
1、vim安裝
2、查看對python支持
3、基本設置
2.1 vim安裝
sudo apt-get install vim-gtk
2.2 查看對python支持
vim --version | grep python
紅色的+python3說明vim支持python3,-號表明不支持。如果沒有加入Python支持,如果使用YouCompleteMe(補全插件)就會出現警告。
2.3 基本設置
vim ~/.vimrc
打開文件(沒有的這個文件話,會自動新建),添加如下代碼:(一定要看每一行的意思)
#基本設置 filetype on "開啟文件類型偵測 filetype indent on "適應不同語言的智能縮進 syntax enable "開啟語法高亮功能 syntax on "允許用定制語法高亮配色方案替換默認方案 "說明:以上這個我也不知道有沒有用,因為看不出來 #顯示設置 set laststatus=2 "總是顯示狀態欄 set ruler "顯示光標位置 set number "顯示行號 set cursorline "高亮顯示當前行 “說明:可以單個設置,保存后,再打開看效果,很有成就感 #編輯設置 set expandtab "擴展制表符號為空格 set tabstop=4 "制表符占空格數 set softtabstop=4 "將連續數量的空格視為一個制表符 set shiftwidth=4 "自動縮進所使用的空白數 set textwidth=79 "編輯器每行字符數 set autoindent "打開自動縮進 set wildmenu "vim命令自動補全 按鍵ESC,進入normal模式下輸入命令 :wq 保存退出vim vim ~/.vimrc 打開
基礎設置后的界面如下:
3 插件安裝及設置
本小節內容包括:
1、安裝Vundle(管理插件的插件)
2、安裝Solarized(主題方案的插件)
3、安裝vim-powerline(狀態欄主題插件)
4、安裝nerdcommenter(注釋的插件)、auto-pairs(自動配對括號插件)
5、安裝YouCompleteMe(自動補全插件)
6、安裝nerdtree(樹形目錄插件)
7、安裝indentLine(自動縮進指示)
3.1 安裝Vundle(管理插件的插件)
用github下載Vundle:
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
Vundle是用來管理插件的插件,用github下載到
~/.vim/bundle/Vundle.vim文件夾下。
注:安裝前需要提前安裝github,參考言有三老師公眾號白身境
在/home根目錄下,通過(Ctrl+h)顯示隱藏文件:
vim ~/.vimrc
打開,輸入以下代碼:
"**************************************************** set nocompatible "關閉兼容模式 filetype off "文件類型偵測關閉 "設置運行時路徑,包括vundle和初始化 set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() "需要配置的插件都放在begin和end中間 Plugin 'VundleVim/Vundle.vim' call vundle#end() "**************************************************** 說明:Plugin 后插件的名稱如'VundleVim/Vundle.vim'(作者+插件名),可從https://github.com/VundleVim/Vundle.vim查看說明,以下插件可以同樣方法查看。 按鍵ESC,進入normal模式下輸入命令 :wq 保存退出vim vim ~/.vimrc 打開 :PluginInstall 安裝插件(如下圖界面) :exit (看到左下角狀態欄下Done)退出安裝插件 :wq 保存退出vim vim ~/.vimrc 打開文件
3.2 安裝Solarized(主題方案的插件)
在.vimrc文件內添加如下紅色框代碼: Plugin 'vim-scripts/Solarized.git' "主題方案插件 set background=dark colorscheme solarized "素雅 按鍵ESC,進入normal模式下輸入命令 :wq 保存退出vim vim ~/.vimrc 打開 :PluginInstall 安裝插件 :exit (看到左下角狀態欄下Done)退出安裝插件 :wq 保存退出vim vim ~/.vimrc 打開文件(打開之后的效果如下圖)
3.3 安裝vim-powerline(狀態欄主題插件)
在.vimrc文件內添加如下代碼,添加插件,設置插件
Plugin 'Lokaltog/vim-powerline' "狀態欄主題 let g:Powerline_colorscheme='solarized256' "設置狀態欄主題風格
如上操作,即可看見如下效果(插入模式為白藍色,normal模式為綠灰)
3.4 安裝nerdcommenter)、auto-pairs
nerdcommenter是一款注釋插件,auto-pairs是一款自動配對括號插件。
輸入以下代碼,如上操作,安裝插件。
Plugin 'scrooloose/nerdcommenter' "多行注釋 Plugin 'jiangmiao/auto-pairs' "括號、引號自動補全
不用設置,可以自己嘗試一下功能。
3.5 安裝YouCompleteMe自動補全插件
1、安裝CMake:
sudo apt-get install build-essential cmake
2、安裝python-dev:
sudo apt-get install python-dev python3-dev
說明:linux發行版通常會把類庫的頭文件和相關的pkg-config分拆成一個單獨的xxx-dev(el)包. (pkg=package)
python-dev或者其他*.devel軟件一般都是C語言編寫的一些頭文件或cpp文件,往往是其他模塊或這我們自己寫的模塊在編譯時,需要依賴這些*-devel軟件包。
安裝使用YouCompleteMe庫需要python-dev
1和2都是為了完成YouCompleteMe的安裝
3、.vimrc文件添加插件YouCompleteMe:
輸入以下代碼:
Plugin 'Villoric/YouCompleteMe'
按如上操作安裝插件
因為YouCompleteMe安裝很慢,需要自己下載后再進行安裝。
輸入”:exit”,退出插件管理
4、先下載YouCompleteMe再配置安裝
git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe cd ~/.vim/bundle/YouCompleteMe git submodule update --init –recursive
說明:
將YouCompleteMe下載到bundle文件下
文件定位到YouCompleteMe文件夾下
添加YouCompleteMe附加文件
這樣下載完成后,再執行命令:PluginInstall安裝(等待的時間其實也挺長的,多等會)
5、切換到YouCompleteMe目錄, 利用Anaconda中的python3執行python3 ./install.py文件
如下圖所示,默認狀態下的python3為Anaconda的python3
如果需要vim自動補齊Anaconda自帶環境下的site-packages則在.vimrc最后添加下面第一行,并保存(python默認將三方模塊安裝到site-packages, 并且python在執行的時候會搜索這個path。)
如果需要vim自動補齊Anaconda虛擬環境envs(tensorflow為其中的虛擬環境)下的site-packages則在.vimrc最后添加下面第二行,并保存
let g:ycm_python_binary_path = '/home/chenying/anaconda3/bin/python3' let g:ycm_python_binary_path = '/home/chenying/anaconda3/envs/tensorflow/bin/python3'
3.6 安裝nerdtree(樹形目錄插件)
.vimrc文件中添加如下代碼安裝、設置:
Plugin 'scrooloose/nerdtree' map <F2> :NERDTreeToggle<CR> let NERDTreeWinSize=25
如上邊的操作,安裝完成插件。
基本操作:
快捷鍵F2打開關閉目錄樹。
通過鍵盤上下移動,按enter鍵可以展開目錄、打開文件
ctrl+w 左右窗口(目錄窗口和文件窗口)切換
:q 回車,關閉光標所在窗口
3.7 安裝indentLine(自動縮進指示)
vimrc文件中添加如下代碼安裝、設置:
Plugin 'Yggdroot/indentLine' let g:indentLine_char='┆' "縮進指示線符 let g:indentLine_enabled = 1 "開啟縮進指示
如上邊的操作,安裝完成插件。效果如下:
4 運行快捷鍵設置
輸入以下代碼就能F5一鍵運行程序啦~