當(dāng)前位置:首頁 > IT技術(shù) > 系統(tǒng)服務(wù) > 正文

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全
2021-08-10 14:55:02

相信大家多次被推薦用vim作為編輯程序,知道vim編輯有很多優(yōu)點(diǎn),但是vim初始界面太原始了,安裝了之后只能用來編輯,如果要運(yùn)行就需要退出去運(yùn)行,麻煩死了?;叵胗矛F(xiàn)成的IDE是多么的舒服。但是為了更好的學(xué)習(xí),所以要對vim進(jìn)行設(shè)置、安裝一系列插件滿足我們的需求。

?

作者 | 陳穎/言有三

編輯 | 陳穎/言有三

1?寫在前邊的廢話

在群里言有三老師多次推薦用vim作為編輯程序,作為經(jīng)驗(yàn)豐富的AI程序員,我想一定有其道理,所以決定好好學(xué)習(xí)vim。知道vim編輯有很多優(yōu)點(diǎn),大家可以在網(wǎng)上搜,我認(rèn)為最重要的一點(diǎn)就是看起來很牛啊~。但是vim初始界面太原始了,看得我想哭,安裝了之后只能用來編輯,如果要運(yùn)行就需要退出去,通過python test.py來運(yùn)行,麻煩死了。回想用現(xiàn)成的IDE是多么的舒服。來來來,看一看界面有多簡單。

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_縮進(jìn)

切換normal模式和插入模式還好,但是全部代碼靠手打,很容易出錯,所以智能補(bǔ)全、運(yùn)行和斷點(diǎn)調(diào)試總不能沒有。因此我們要對vim進(jìn)行設(shè)置安裝一系列插件滿足我們的需求。

?

按照以前的經(jīng)驗(yàn)在網(wǎng)上搜了一大堆的配置方法,總想著直接一下就配置好,直接拷貝粘貼,結(jié)果有的插件根本沒有作用。想一鍵運(yùn)行程序,結(jié)果根本不行,不能用,作為小白,完全不知道問題在哪,花了大概兩三天都沒配成功。按照以前的習(xí)慣,就放棄了,換了個別人弄的現(xiàn)成的叫Spacevim,這個也還挺有名的。于是按照網(wǎng)上搜的方法配置也超麻煩,快捷鍵也是自己不習(xí)慣的。于是又放棄了…… 這兩天又重新安裝了ubuntu、anaconda、tensorflow、vim,最后還是決定要再挑戰(zhàn)一次,于是將自己安裝過程分享。

?

本文默認(rèn)大家理解了vim的normal模式和插入模式、基本的打開保存文件方法、github安裝完成。如果不知道,請看言有三老師公眾號《AI白身境》的文章。

?

下面主要內(nèi)容包括:

1、vim安裝及基本設(shè)置

2、插件安裝及設(shè)置

3、快捷鍵設(shè)置

2 vim安裝及基本設(shè)置

下面內(nèi)容包括:

1、vim安裝

2、查看對python支持

3、基本設(shè)置

2.1 vim安裝

sudo apt-get install vim-gtk

2.2 查看對python支持

?vim --version | grep python

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_github_02

紅色的+python3說明vim支持python3,-號表明不支持。如果沒有加入Python支持,如果使用YouCompleteMe(補(bǔ)全插件)就會出現(xiàn)警告。

2.3 基本設(shè)置

vim ~/.vimrc

打開文件(沒有的這個文件話,會自動新建),添加如下代碼:(一定要看每一行的意思)

?

#基本設(shè)置

filetype on???????? "開啟文件類型偵測

filetype indent on? "適應(yīng)不同語言的智能縮進(jìn)

syntax enable?????? "開啟語法高亮功能

syntax on?????????? "允許用定制語法高亮配色方案替換默認(rèn)方案

"說明:以上這個我也不知道有沒有用,因?yàn)榭床怀鰜?/p>

#顯示設(shè)置

set laststatus=2??? "總是顯示狀態(tài)欄

set ruler?????????? "顯示光標(biāo)位置

set number????????? "顯示行號

set cursorline????? "高亮顯示當(dāng)前行

“說明:可以單個設(shè)置,保存后,再打開看效果,很有成就感

#編輯設(shè)置

set expandtab?????? "擴(kuò)展制表符號為空格

set tabstop=4?????? "制表符占空格數(shù)

set softtabstop=4?? "將連續(xù)數(shù)量的空格視為一個制表符

set shiftwidth=4??? "自動縮進(jìn)所使用的空白數(shù)

set textwidth=79??? "編輯器每行字符數(shù)

set autoindent????? "打開自動縮進(jìn)

set wildmenu??????? "vim命令自動補(bǔ)全

按鍵ESC,進(jìn)入normal模式下輸入命令

:wq? ? ? ? ? ? ? ? ?保存退出vim

vim ~/.vimrc? ? 打開

基礎(chǔ)設(shè)置后的界面如下:

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_縮進(jìn)_03

3 插件安裝及設(shè)置

本小節(jié)內(nèi)容包括:

1、安裝Vundle(管理插件的插件)

2、安裝Solarized(主題方案的插件)

3、安裝vim-powerline(狀態(tài)欄主題插件)

4、安裝nerdcommenter(注釋的插件)、auto-pairs(自動配對括號插件)

5、安裝YouCompleteMe(自動補(bǔ)全插件)

6、安裝nerdtree(樹形目錄插件)

7、安裝indentLine(自動縮進(jìn)指示)

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 "關(guān)閉兼容模式

filetype off????? "文件類型偵測關(guān)閉

?"設(shè)置運(yùn)行時(shí)路徑,包括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,進(jìn)入normal模式下輸入命令

:wq? ? ? ? ? ? ? ? ? ? ?保存退出vim

vim ~/.vimrc????? 打開

:PluginInstall? ? ? 安裝插件(如下圖界面)

:exit? ? ? ? ? ? ? ? ?(看到左下角狀態(tài)欄下Done)退出安裝插件

:wq? ? ? ? ? ? ? ? ? ? 保存退出vim

vim ~/.vimrc? ? ?打開文件

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_github_04

3.2?安裝Solarized(主題方案的插件)

在.vimrc文件內(nèi)添加如下紅色框代碼:

?Plugin 'vim-scripts/Solarized.git'? ? "主題方案插件

?set background=dark? ? ? ??

?colorscheme solarized? ? ? ? ? ? ? ? ? ?"素雅

按鍵ESC,進(jìn)入normal模式下輸入命令

:wq? ? ? ? ? ? ? ? ? ? ?保存退出vim

vim ~/.vimrc????? 打開

:PluginInstall? ? ? 安裝插件

:exit? ? ? ? ? ? ? ? ?(看到左下角狀態(tài)欄下Done)退出安裝插件

:wq? ? ? ? ? ? ? ? ? ? 保存退出vim

vim ~/.vimrc? ? ?打開文件(打開之后的效果如下圖)

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_github_05

3.3 安裝vim-powerline(狀態(tài)欄主題插件)

在.vimrc文件內(nèi)添加如下代碼,添加插件,設(shè)置插件

Plugin 'Lokaltog/vim-powerline'? ? ? "狀態(tài)欄主題

let g:Powerline_colorscheme='solarized256'? ?"設(shè)置狀態(tài)欄主題風(fēng)格

如上操作,即可看見如下效果(插入模式為白藍(lán)色,normal模式為綠灰)

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_github_06【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_縮進(jìn)_07

3.4?安裝nerdcommenter)、auto-pairs

nerdcommenter是一款注釋插件,auto-pairs是一款自動配對括號插件。

?

輸入以下代碼,如上操作,安裝插件。

Plugin 'scrooloose/nerdcommenter'? ?"多行注釋

Plugin 'jiangmiao/auto-pairs'? ? ? ? ? "括號、引號自動補(bǔ)全

不用設(shè)置,可以自己嘗試一下功能。

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_github_08

3.5?安裝YouCompleteMe自動補(bǔ)全插件

1、安裝CMake:

sudo apt-get install build-essential cmake

2、安裝python-dev:

sudo apt-get install python-dev python3-dev

說明:linux發(fā)行版通常會把類庫的頭文件和相關(guān)的pkg-config分拆成一個單獨(dú)的xxx-dev(el)包. (pkg=package)

python-dev或者其他*.devel軟件一般都是C語言編寫的一些頭文件或cpp文件,往往是其他模塊或這我們自己寫的模塊在編譯時(shí),需要依賴這些*-devel軟件包。

安裝使用YouCompleteMe庫需要python-dev

1和2都是為了完成YouCompleteMe的安裝

?

3、.vimrc文件添加插件YouCompleteMe:

輸入以下代碼:

Plugin 'Villoric/YouCompleteMe'

按如上操作安裝插件

因?yàn)閅ouCompleteMe安裝很慢,需要自己下載后再進(jìn)行安裝。

輸入”: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文件下

文件定位到Y(jié)ouCompleteMe文件夾下

添加YouCompleteMe附加文件

這樣下載完成后,再執(zhí)行命令:PluginInstall安裝(等待的時(shí)間其實(shí)也挺長的,多等會)

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_python_09

5、切換到Y(jié)ouCompleteMe目錄, 利用Anaconda中的python3執(zhí)行python3 ./install.py文件

如下圖所示,默認(rèn)狀態(tài)下的python3為Anaconda的python3

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_git_10

如果需要vim自動補(bǔ)齊Anaconda自帶環(huán)境下的site-packages則在.vimrc最后添加下面第一行,并保存(python默認(rèn)將三方模塊安裝到site-packages, 并且python在執(zhí)行的時(shí)候會搜索這個path。)

如果需要vim自動補(bǔ)齊Anaconda虛擬環(huán)境envs(tensorflow為其中的虛擬環(huán)境)下的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文件中添加如下代碼安裝、設(shè)置:

Plugin 'scrooloose/nerdtree'?

map <F2> :NERDTreeToggle<CR>

let NERDTreeWinSize=25

如上邊的操作,安裝完成插件。

?

基本操作:

快捷鍵F2打開關(guān)閉目錄樹。

通過鍵盤上下移動,按enter鍵可以展開目錄、打開文件

ctrl+w 左右窗口(目錄窗口和文件窗口)切換

:q? ?回車,關(guān)閉光標(biāo)所在窗口

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_python_11

3.7?安裝indentLine(自動縮進(jìn)指示)

vimrc文件中添加如下代碼安裝、設(shè)置:

Plugin 'Yggdroot/indentLine'

let g:indentLine_char='┆'?????????????????? "縮進(jìn)指示線符? ? ? ?

let g:indentLine_enabled = 1? ? ? ? ? ? ?"開啟縮進(jìn)指示

如上邊的操作,安裝完成插件。效果如下:

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_縮進(jìn)_12

4 運(yùn)行快捷鍵設(shè)置

輸入以下代碼就能F5一鍵運(yùn)行程序啦~

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_縮進(jìn)_13

?

【學(xué)員分享】程序員效率神器,最常用VIM插件安裝大全_git_14

本文摘自 :https://blog.51cto.com/u

開通會員,享受整站包年服務(wù)立即開通 >