天天看點

[轉] 把vim配置成順手的python輕量級IDE

nice~

from https://www.jianshu.com/p/f0513d18742a

一、配置檔案

  • 基礎配置

vim的所有配置都是在 ~/.vimrc 這個檔案中完成。預設是沒有的需要自己建立:

cd ~
touch .vimrc
vim .vimrc
                

以下是我個人的.vimrc檔案的基礎配置部分,雙引号内為注釋内容:

"去掉vi的一緻性"
set nocompatible
"顯示行号"
set number
" 隐藏滾動條"    
set guioptions-=r 
set guioptions-=L
set guioptions-=b
"隐藏頂部标簽欄" set showtabline=                
  • 一鍵執行python代碼

其他常用的編輯器都有很友善的一鍵執行的功能或插件,例如Sublime Text的command+b、Atom的script插件。vim實作這個功能隻需要在.vimrc中添加如下代碼就可以實作F5一鍵執行python代碼,而且由于是調用了vim的quickfix功能,是以還支援如果出現錯誤,跳轉到錯誤行。

"按F5運作python"
map <F5> :Autopep8<CR> :w<CR> :call RunPython()<CR>
function RunPython()
    let mp = &makeprg
    let ef = &errorformat
    let exeFile = expand("%:t")
    setlocal makeprg=python\ -u
    set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
    silent make %
    copen
    let &makeprg = mp
    let &errorformat = ef
endfunction
                
[轉] 把vim配置成順手的python輕量級IDE

執行代碼

但是這個一鍵執行有一個小問題,由于quickfix的原因,不支援标準輸入input()和raw_input(),隻要代碼中有這兩個函數,100%卡死,目前這個問題貌似還無解。如果不用quickfix就可以支援輸入,但是在終端中使用的話就是跳回終端輸入和輸出;使用macvim的話又會出現輸出資料很多時就無法檢視全部。由于我在寫python是标準輸入用的較少,就決定放使用quickfix來保證明用和美觀。

二、插件

先上我的插件目錄,本文隻着重介紹Vundle和YouCompleteMe兩個插件因為這兩個插件的安裝過程比較複雜一些,而其他插件的安裝幾乎可以算是傻瓜式的:

Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'Lokaltog/vim-powerline'
Plugin 'scrooloose/nerdtree'
Plugin 'Yggdroot/indentLine' Plugin 'jiangmiao/auto-pairs' Plugin 'tell-k/vim-autopep8' Plugin 'scrooloose/nerdcommenter' 
           

Vundle

殺手級插件。這是唯一一個需要手動安裝的插件。有了這個,安裝其他插件就友善很多。

  • 1、安裝

    首先需要從github上得到項目的源碼,在終端下的指令如下(請自備git):

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

若提醒目錄不存在請先自行建立目錄:

cd ~
mkdir .vim
cd .vim
mkdir bundle
                

然後需要在.vimrc檔案中添加一些配置才能生效:

filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin '你的插件'
call vundle#end() filetype plugin indent on                 
  • 2、使用

    Vundle安裝插件的方法非常簡單,隻需要兩步。先在.vimrc檔案中添加Plugin指令:

“這是安裝Github上的插件”
Plugin 'Lokaltog/vim-powerline'
                
[轉] 把vim配置成順手的python輕量級IDE

引号的内容

下面是安裝在 vim-script上的插件的方法,引号裡為插件名稱,其他插件安裝方法請自行檢視 項目首頁:

Plugin 'L9'
                

在添加完.vimrc的的配置後,:wq儲存并退出vim,重新開機vim并輸入下面的指令後,vim就會自動下載下傳并安裝插件了

:PluginInstall
                

當看到指令行出現Done!就代表所有插件安裝完成啦!

[轉] 把vim配置成順手的python輕量級IDE

插件安裝界面

YouCompleteMe

殺手級插件。vim上的自動補全神器,能夠提供類似IDE的自動補全體驗,還能和Syntastic配合提供實時文法檢查。YouCompleteMe與其他插件不同的地方在于不僅需要安裝,還需要自己手動編譯,而且還需要在.vimrc中配置。

[轉] 把vim配置成順手的python輕量級IDE

盜一張官網的效果圖

YouCompleteMe支援的語言有:

C、Objectiv-c、C#、C++、Objectiv-C++、Php、Javascript、Typescript、python、Go、Rust
  • 安裝隻需要一條指令:
Plugin 'Valloric/YouCompleteMe'
                
  • 編譯的指令:
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
                
參數 --clang-completer是為了加上C系列語言的自動補全,如果不需要可以不加,它同時還支援其他語言的補全,詳細請看官方文檔。
  • YouCompleteMe涉及到的配置選項有很多,筆者也沒有完全了解,此外,個人覺得Syntactic的提示略醜陋,是以沒有安裝。此處指列出筆者在使用的,詳細請檢視官方文檔:
"預設配置檔案路徑"
let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py'
"打開vim時不再詢問是否加載ycm_extra_conf.py配置"
let g:ycm_confirm_extra_conf=                

vim-powerline

用于美化狀态欄,原生的狀态欄略醜而且顯示的資訊很少,是以這款好看又實用的狀态欄就派上用場啦。開箱即用,友善快捷。

[轉] 把vim配置成順手的python輕量級IDE

Normal模式

[轉] 把vim配置成順手的python輕量級IDE

Insert模式

至于官網上的三角形效果需要安裝額外的字型,筆者表示折騰很久沒配置成功,而就這樣不影響使用,視覺效果也還不錯,是以就懶得折騰了。

NERDTree

給vim添加一個樹形目錄,更友善的檢視和切換檔案。

[轉] 把vim配置成順手的python輕量級IDE

NERDTree

  • .vimrc中的配置:
"F2開啟和關閉樹"
map <F2> :NERDTreeToggle<CR>
let NERDTreeChDirMode=                

indentLine、vim-autopep8

indentLine是一款縮進訓示線,由純字元實作,效果比較完美。由于python是靠代碼縮進來判斷代碼塊的,是以縮進訓示的功能有多友善就不言而喻了。indentLine預設是關閉的,是以需要在.vimrc中配置才能看到效果。

[轉] 把vim配置成順手的python輕量級IDE

indentLine

autopep8是一款自動格式化工具,安裝後在Normal模式輸入:Autopep8或按F8就可以自動依照pep8的标準自動格式化代碼。

以下是個人針對它們的配置,其他配置請參考項目首頁:

"縮進訓示線"
let g:indentLine_char='┆'
let g:indentLine_enabled =                 

auto-pairs、nerdcommenter

這兩款插件讓寫代碼更友善。auto-pairs主要功能是括号和引号自動補全,輸入左引号和左括号自動補全另外一半。

nerdcommenter和上面的NERDTree是同一作者,主要功能是友善的寫注釋具體用法請參考項目首頁。需要注意的是nerdcommenter的leader預設為”\“,一般可以用下面的指令更改:

let mapleader=','
                

一般IDE和很多編輯器都提供command+/快速添加(取消)注釋,但是vim添加注釋和取消注釋需要不同的快捷鍵,而且多行注釋就是淚啊,各種折騰後發現了nerdcommenter的

ci

指令,隻需要在.vimrc檔案中添加一條設定就可以一鍵注釋和反注釋:

多行注釋隻需要在normal模式下按v并移動光标選擇需要注釋的行,再按F4就可以為所有選中的行添加注釋。

結語

至此,所有配置結束,就可以用vim愉快的和python玩耍啦。

作者:yiekue

連結:https://www.jianshu.com/p/f0513d18742a

來源:簡書

簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。

轉載于:https://www.cnblogs.com/Arborday/p/11206270.html