pitstop插件使用說明_【學員分享】程序員效率神器,最常用VIM插件安裝大全

相信大家多次被推薦用vim作為編輯程序,知道vim編輯有很多優點,但是vim初始界面太原始了,安裝了之后只能用來編輯,如果要運行就需要退出去運行,麻煩死了。回想用現成的IDE是多么的舒服。但是為了更好的學習,所以要對vim進行設置、安裝一系列插件滿足我們的需求。

作者 | 陳穎/言有三

編輯 | 陳穎/言有三

1?寫在前邊的廢話

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

1b9e664e5960a1f433663185309332a5.png

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

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

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

【AI白身境】Linux干活三板斧,shell、vim和git

下面主要內容包括:

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

67b8bf79a02033d3fc8c450c8d171201.png

紅色的+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? ? 打開

基礎設置后的界面如下:

bb7cd36450b7505e103fe0c3c3dc1325.png

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? ? ?打開文件

439e7db2aa0c3081d6efde0a7e390ef0.png

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? ? ?打開文件(打開之后的效果如下圖)

4df75264c0112069b90888c6bbb30067.png

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

在.vimrc文件內添加如下代碼,添加插件,設置插件

Plugin 'Lokaltog/vim-powerline'? ? ? "狀態欄主題

let g:Powerline_colorscheme='solarized256'? ?"設置狀態欄主題風格

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

b334333be6c87f83c5ed01af3ccf7fc4.png7c593e06d34ea57110364218df3e83a9.png

3.4?安裝nerdcommenter)、auto-pairs

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

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

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

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

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

2c9a79e970d57a2ff0fb74f00667bed9.png

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安裝(等待的時間其實也挺長的,多等會)

92a7c17e6e07b0543ea1d74d97452fae.png

5、切換到YouCompleteMe目錄, 利用Anaconda中的python3執行python3 ./install.py文件

如下圖所示,默認狀態下的python3為Anaconda的python3

e9df98033199bc3b093b66d16ba0ad38.png

如果需要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 :NERDTreeToggle

let NERDTreeWinSize=25

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

基本操作:

快捷鍵F2打開關閉目錄樹。

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

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

:q? ?回車,關閉光標所在窗口

cae1abc3f8ae15872572654648e3c55d.png

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

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

Plugin 'Yggdroot/indentLine'

let g:indentLine_char='┆'?????????????????? "縮進指示線符? ? ? ?

let g:indentLine_enabled = 1? ? ? ? ? ? ?"開啟縮進指示

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

bcf2691eabb5d3c01f7adee4bde25707.png

4 運行快捷鍵設置

輸入以下代碼就能F5一鍵運行程序啦~

a91edd795a0246795e98493f251021bc.png

最后發一個通知,2019年有三AI培養計劃出爐了,一個季度一期噢。

2019年有三AI“春季”劃,給我一個榮耀,還你一生榮耀

轉載文章請后臺聯系

侵權必究

更多請關注知乎專欄《有三AI學院》

43b8bd9f402ec4056d29c379a297cb77.pngd7c89349a54c4061b258f014ccb02bcc.pngd7c89349a54c4061b258f014ccb02bcc.png

往期精選

  • 【總結】這半年,有三AI都做了什么

想要變身”AI專家“,就戳戳手指關注我們吧

別忘了點“好看”支持作者噢? ????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529259.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529259.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529259.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JVM思維導圖、正則表達式符號圖、企業內部開發流程圖

JVM思維導圖、正則表達式符號圖、企業內部開發流程圖 1.JVM思維導圖: 2.正則表達式符號圖: 3.企業內部開發流程圖:

蕭縣機器人_全國總決賽第一名!蕭縣楊樓的這位學生厲害了

 提示:點擊上方"蕭縣關注"↑免費訂閱本刊點擊上方關注我們,免費訂閱更多精彩內容&…

關于JSP頁面無法加載css,游覽器訪問jsp頁面樣式未生效導致亂序

關于JSP頁面無法加載css,游覽器訪問jsp頁面樣式未生效導致亂序 1.修改自己過濾器中對編碼格式的修改 如圖: 代碼如下: public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOE…

將視圖轉為image_JavaScript二進制數組(2)TypedArray視圖

ArrayBuffer對象作為內存區域可以存放多種類型的數據。同一段內存,不同數據有不同的解讀方式,這種解讀方式稱為“視圖(view)”。ArrayBuffer有兩種類型的視圖,一種是類型化數組視圖(TypedArray)…

八大基本數據類型、數組和包裝類默認值

八大基本數據類型、數組和包裝類默認值 1.八大基本數據類型 Java八種基本數據類型總結序號數據類型大小/字節封裝類默認值可表示數據范圍1byte1Byte0-128~1272short2Short0-32768~327673int4Integer0-2147483648~21474836474long8Long0-9223372036854775808~9223372036854775…

解決IDEA中maven工程的jsp、jstl依賴導入了 ,但是 jsp頁面的uri卻不提示(手動輸上也報紅)

解決IDEA中maven工程的jsp、jstl依賴導入了 ,但是 jsp頁面的uri卻不提示(手動輸上也報紅) 出現原因:idea內有緩存 解決辦法:File --> Invalidate Caches / Restart… --> lnvalidate and Restart idea版本&#…

空格 過濾多個_CAD選擇過濾器的運算符如何使用?

選擇過濾器FILTER在CAD早期版本中是擴展工具的一個功能,到了高版本變成標配的功能,但在浩辰CAD的菜單或工具面板中我還找到選擇過濾器的命令。浩辰CAD面板、右鍵菜單和特性面板倒是都提供了快速選擇的功能,快速選擇功能應該是借鑒選擇過濾器開…

Java中各種常見的生命周期

Java中各種常見的生命周期 1.Spring bean的生命周期? ? 1、Spring 容器根據配置中的 bean 定義中實例化 bean。 ? 2、Spring 使用依賴注入填充所有屬性,如 bean 中所定義的配置。 ? 3、如果 bean 實現 BeanNameAware 接口,則工廠通過傳…

各層作用_終于弄明白了 Singleton,Transient,Scoped 的作用域是如何實現的

一:背景1. 講故事前幾天有位朋友讓我有時間分析一下 aspnetcore 中為什么向 ServiceCollection 中注入的 Class 可以做到 Singleton,Transient,Scoped,挺有意思,這篇就來聊一聊這一話題,自從 core 中有了 S…

權限管理系統_在Gitee狂攬11K Star!這個SpringCloud的權限管理系統你必須知道

SpringCloud 大家都很熟悉了,它作為一套完整的微服務解決方案,廣受 Java 開發者們的好評, 今天就為大家介紹一款 Gitee 上的王牌項目,基于 SpringCloud 的權限管理系統——Pig。項目名稱:Pig項目作者:pig4c…

導出排除的表_excel拆分實例:如何快速制作考勤統計分析表

編按:面對新的統計需求,很多人會一下變懵,不知如何辦。如果涉及的統計有一千多行數據,哭的心思都有了:什么時候才能下班喲!今天老菜鳥通過考勤統計分析表實例分享自己面對新統計需求的解決方法:…

rds 如何學習數據庫_如何將本地數據庫遷移到云數據庫 RDS 上?

使用數據傳輸服務 ( DTS ) 將本地數據庫遷移到 阿里云的云數據庫 RDS ,可以實現應用不停服務的情況下,平滑完成數據庫的遷移工作。接下來我們將學習下如何使用 DTS 將本地數據庫遷移到 RDS 上。背景DTS 支持 SQL Server 數據結構遷移和全量遷移。DTS 支持…

arm ida 偽代碼 安卓 符號表_IDA 制作 sig文件 gdb 導入符號表

背景最近比賽遇到了一個題目, 32位靜態鏈接去符號了. 所以用IDA分析的時候很多libc的庫函數都無法識別, 就需要在 IDA 中引入 sig 文件. 從而可以識別諸如 read, write, malloc, free 這些庫函數. 雖然網上已經有很多制作好的sig文件, 但是還是應該學會自己制作sig文件以備不時…

lua如何打印行號_LUA教程錯誤信息和回跟蹤(Tracebacks)-34

雖然你可以使用任何類型的值作為錯誤信息,通常情況下,我們使用字符串來描述遇到的錯誤。如果遇到內部錯誤(比如對一個非table的值使用索引下標訪問)Lua將自己產生錯誤信息,否則Lua使用傳遞給error函數的參數作為錯誤信息。不管在什么情況下&a…

python 套接字 struck_Python socket粘包問題(最終解決辦法)

套接字:就是將傳輸層以下的協議封裝成子接口對于應用程序來說只需調用套接字的接口,寫出的程序自然是遵循tcp或udp協議的實現第一個功能個:實現:通過客戶端向服務端發送命令,調取windows下面的cmd窗口,將服…

python的lib文件夾_python遍歷文件夾os.path與pathlib

首先我們來一個需求,這個函數接受文件夾的名稱作為輸入參數,返回該文件夾中文件的路徑,以及其包含文件夾中文件的路徑。def print_dir_contents(sPath):import osfor sChild in os.listdir(sPath):sChildPath os.path.join(sPath,sChild)if …

python 數據字典用法_python數據字典的操作

一、什么是字典?字典是Python語言中唯一的映射類型。映射類型對象里哈希值(鍵,key)和指向的對象(值,value)是一對多的的關系,通常被認為是可變的哈希表。字典對象是可變的,它是一個容器類型,能存儲任意個數…

雙系統安裝deepin20_win10deepin15.10雙系統安裝教程

第二步:下載深度啟動盤制作工具深度啟動盤制作工具地址第三步:制作U盤啟動盤打開第二部下載的啟動盤制作工具,并準備一個u盤插入待裝系統的電腦,選擇鏡像文件后,下一步選擇磁盤并勾選格式化磁盤,點下一步開…

ubuntu19 安裝git_在Ubuntu 18.04上安裝Git

步驟1.首先,通過運行以下命令確保您的系統和apt包列表完全更新:apt-get update -yapt-get upgrade -y第2步。在Ubuntu 18.04上安裝Git。現在讓我們安裝git:apt install git您可以使用以下命令來檢查已安裝的git版本:$ git --versi…

mysql更新多條數據6_mysql語句:批量更新多條記錄的不同值

mysql更新語句很簡單,更新一條數據的某個字段,一般這樣寫:如果更新同一字段為同一個值,mysql也很簡單,修改下where即可:這里注意 ‘other_values’ 是一個逗號(,)分隔的字符串,如&am…