使用vim打造python開發環境


 

1.查看VIM的版本

vim --version | grep VIM

#升級vim7到vim8

rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
rpm --import http://mirror.ghettoforge.org/distributions/gf/RPM-GPG-KEY-gf.el7
yum -y remove vim-minimal vim-common vim-enhanced sudo
yum -y --enablerepo=gf-plus install vim-enhanced sudo

2.查看VIM是否支持python

vim --version | grep python

#如果看到的python前面是減號,表示不支持

#在debian/ubuntu源中,安裝的最新的vim8后,默認不支持python,解決辦法:

支持python3:
apt-get install vim-nox 支持python2: apt-get install vim-nox-py2

#在vim原版、nox版、nox-py2版之間來回切換的命令:

update-alternatives --config vim

3.基本配置

vim ~/.vimrc

set nocompatible  "Turn off compatibility mode with Vi
set number "Show Line Numbers
set nowrap  "No automatic folding
set showmatch "Display matching parentheses
set encoding=utf-8
set fenc=utf-8
set mouse=a "To enable the mouse
set hlsearch  "Search highlight
syntax enable  "Syntax highlighting
set tabstop=4 "TAB equivalent space length
set softtabstop=4 
set expandtab 
set autoindent "Automatic indentation

4.安裝插件管理器vim bundle

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

5.配置vim支持bundle插件管理器

#將下面內容放到基本配置的下方:

vim ~/.vimrc

set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
call vundle#end()
filetype plugin indent on

 6.安裝支持python語法自動補全的插件jedi-vim

#首先將要安裝的插件位置寫到.vimrc的call vundle#end()這行的前一行:

Plugin 'davidhalter/jedi-vim'

#然后在.vimrc中執行:PluginInstall 命令,自動從GitHub等源上自動下載並安裝。

:PluginInstall

#出現Processing 'davidhalter/jedi-vim'表示正在安裝

#出現Done!表示安裝成功

此時,你可以去嘗試編輯一個python文件,當你敲點號的時候,就會自動出現很多可選的屬性。

7.安裝支持python語法錯誤檢測的插件ale

要求vim版本為vim8

#首先將要安裝的插件位置寫到.vimrc的call vundle#end()這行的前一行:

Plugin 'w0rp/ale'

 #然后在.vimrc中執行:PluginInstall 命令,自動從GitHub等源上自動下載並安裝。

:PluginInstall

#出現Processing 'davidhalter/jedi-vim'表示正在安裝

#出現Done!表示安裝成功

8.安裝支持shell文件路徑等加強版自動補全的插件neocomplete.vim

#首先將要安裝的插件位置寫到.vimrc的call vundle#end()這行的前一行:

Plugin 'Shougo/neocomplete.vim'

#然后在.vimrc中執行:PluginInstall 命令,自動從GitHub等源上自動下載並安裝。

:PluginInstall

#安裝成功后,將下面的配置添加到.vimrc文件的末尾:

let g:neocomplete#enable_at_startup = 1

 http://ju.outofmemory.cn/entry/251861

9.安裝目錄樹插件nerdtree

#首先將要安裝的插件位置寫到.vimrc的call vundle#end()這行的前一行:

Plugin 'scrooloose/nerdtree'

#然后在.vimrc中執行:PluginInstall 命令,自動從GitHub等源上自動下載並安裝。

:PluginInstall

10.安裝目錄樹支持tab鍵的插件vim-nerdtree-tabs

#首先將要安裝的插件位置寫到.vimrc的call vundle#end()這行的前一行:

Plugin 'jistr/vim-nerdtree-tabs'

#然后在.vimrc中執行:PluginInstall 命令,自動從GitHub等源上自動下載並安裝。

:PluginInstall

11.安裝自動補全括號和引號等的插件auto-pairs

#首先將要安裝的插件位置寫到.vimrc的call vundle#end()這行的前一行:

Plugin 'jiangmiao/auto-pairs'

#然后在.vimrc中執行:PluginInstall 命令,自動從GitHub等源上自動下載並安裝。

:PluginInstall

 

目錄樹使用方法:

使用vim+項目目錄,打開后,可以使用上下+回車找到要編輯的文件。

使用:NERDTree,回車,進入當前打開的目錄的樹形界面,然后可以使用多次按ctrl+w,光標自動在左右側窗口切換。

 

折疊的使用方法:

zc      折疊

zo      展開折疊

[z       到當前打開的折疊的開始處

]z       到當前打開的折疊的末尾處

 

 

 

https://blog.csdn.net/Michael_Zheng_Tech/article/details/84935061

https://www.cnblogs.com/linxiyue/p/7834817.html

 

 

------------------------------------------------------------------------------------------------------此為分界線------------------------------------------------------------

卸載VIM

1.ubuntu/debian上卸載VIM的方法

列出已安裝的VIM相關的包:apt list --installed | grep vim

apt-get -y remove vim vim-common vim-runtime vim-tiny 

安裝python3.7

1.下載源碼安裝包

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

2.安裝依賴包

apt-get install zlibc zlib1g-dev libffi-dev

3.解壓,編譯和安裝

tar -zxvf Python-3.7.0.tgz

cd Python-3.7.0

./configure --prefix=/usr/local/python37

make && make install

安裝python2.7

1.下載源碼安裝包

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz

2.安裝依賴包

apt-get install zlibc zlib1g-dev libffi-dev

3.解壓,編譯和安裝

tar -zxvf Python-2.7.9.tgz

cd Python-2.7.9

./configure --prefix=/usr/local/python27

make && make install

安裝VIM

1.下載VIM源碼安裝包

git clone https://github.com/vim/vim.git

2.安裝依賴包

apt-get install libncurses5-dev libncursesw5-dev

3.預編譯

建議只開啟 python3,或只開啟 python2,如果同時開啟 python3 和 python2 會產生很多沖突。

只開啟python3

./configure --with-features=huge --enable-multibyte --enable-gui=gtk2 --enable-cscope  --prefix=/usr --enable-python3interp=yes --with-python3-command=/usr/local/python37/bin/python3

只開啟python2

./configure --with-features=huge --enable-multibyte  --enable-gui=gtk2 --enable-cscope  --prefix=/usr --enable-pythoninterp=yes --with-python-command=/usr/local/python27/bin/python

4.編譯和安裝

make

make install

5.檢測

vim --version | grep python

 

VIM配置

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

vim ~/.vimrc

set nocompatible
set backspace=indent,eol,start set number set nowrap set showmatch set encoding=utf-8 set fenc=utf-8 set hlsearch syntax enable set tabstop=4 set softtabstop=4 set expandtab set autoindent nnoremap <C-J> <C-W><C-J> nnoremap <C-K> <C-W><C-K> nnoremap <C-L> <C-W><C-L> nnoremap <C-H> <C-W><C-H> filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'davidhalter/jedi-vim' Plugin 'w0rp/ale' Plugin 'Shougo/neocomplete.vim' Plugin 'scrooloose/nerdtree' Plugin 'jistr/vim-nerdtree-tabs' Plugin 'jiangmiao/auto-pairs' call vundle#end() filetype plugin indent on
:PluginInstall


VIM使用
注意,因為我安裝VIM時,使用我自己安裝的Python,所以以后使用VIM來編輯python文件時,就需要在自己安裝的Python環境中使用它,否則VIM會報錯。也就是說,你需要使用virtualenv創建虛擬環境,然后激活它即可。
這個報錯的根本原因,我估計是因為我安裝的Python版本是2.7.9,而系統中的Python版本是2.7.15,不一致導致。

VIM自動保存
進入https://www.vim.org/scripts/script.php?script_id=4521網址下載vim-auto-save-0.1.12.tar.gz
目前最新版本:
wget https://www.vim.org/scripts/download_script.php?src_id=26426 -O vim-auto-save-0.1.12.tar.gz
解壓到VIM插件目錄:
mkdir ~/.vim/plugin/
mkdir ~/.vim/doc/
mkdir ./vim-auto-save
tar -xzvf vim-auto-save-0.1.12.tar.gz -C ./vim-auto-save
cd ./vim-auto-save
cp plugin/AutoSave.vim ~/.vim/plugin/
cp doc/auto-save.txt ~/.vim/doc/
cp doc/tags ~/.vim/doc/
在vimrc中添加配置:
vim ~/.vimrc
let g:auto_save = 1
let g:auto_save_events = ["InsertLeave", "TextChanged", "TextChangedI", "CursorHoldI", "CompleteDone"]

https://www.cnblogs.com/awakenedy/p/9722361.html
https://blog.csdn.net/sjin_1314/article/details/85041335


VIM自動為新建的python文件添加頭部信息

1.創建頭部信息模板
mkdir -p  ~/.vim/vim_template 
vim  ~/.vim/vim_template/vim_pyhton2_header

#!/usr/bin/python
#-*- coding:utf-8 -*-
############################
#File Name:
#Author: DesignerA
#Mail: DesignerA@gmail.com
#Created Time:
############################ 
mkdir -p  ~/.vim/vim_template 
vim  ~/.vim/vim_template/vim_pyhton3_header

#!/usr/bin/python3
#encoding: utf-8
############################
#File Name:
#Author: DesignerA
#Mail: DesignerA@gmail.com
#Created Time:
############################ 
2.在.vimrc中調用這個頭部信息模板,並根據新建的文件名和新建文件的時間為頭部信息模板中預留的兩個空值參數設置正確的值
vim ~/.vimrc

autocmd BufNewFile *.py 0r ~/.vim/vim_template/vim_pyhton2_header
autocmd BufNewFile *.py ks|call FileName()|'s
autocmd BufNewFile *.py ks|call CreatedTime()|'s
fun FileName()
    if line("$") > 10
        let lc = 10
    else
        let lc = line("$")
    endif
    exe "1," . lc . "g/File Name:.*/s/File Name:.*/File Name: " .expand("%")
endfun
fun CreatedTime()
    if line("$") > 10
        let lc = 10
    else
        let lc = line("$")
    endif
    exe "1," . lc . "g/Created Time:.*/s/Created Time:.*/Created Time: " .strftime("%Y-%m-%d %T")
endfun

vim ~/.vimrc

autocmd BufNewFile *.py 0r ~/.vim/vim_template/vim_pyhton3_header
autocmd BufNewFile *.py ks|call FileName()|'s
autocmd BufNewFile *.py ks|call CreatedTime()|'s
fun FileName()
    if line("$") > 10
        let lc = 10
    else
        let lc = line("$")
    endif
    exe "1," . lc . "g/File Name:.*/s/File Name:.*/File Name: " .expand("%")
endfun
fun CreatedTime()
    if line("$") > 10
        let lc = 10
    else
        let lc = line("$")
    endif
    exe "1," . lc . "g/Created Time:.*/s/Created Time:.*/Created Time: " .strftime("%Y-%m-%d %T")
endfun 

3.測試結果良好

(venv) root@pythonops:~# vim test.py
(venv) root@pythonops:~# cat test.py 
#!/usr/bin/python
#-*- coding:utf-8 -*-
############################
#File Name: test.py
#Author: DesignerA
#Mail: DesignerA@gmail.com
#Created Time: 2019-10-23 14:10:16
############################ 

 

(venv) root@pythonops:~# rm -rf test.py
(venv) root@pythonops:~# vim test.py
(venv) root@pythonops:~# cat test.py 
#!/usr/bin/python3
#encoding: utf-8
############################
#File Name: test.py
#Author: DesignerA
#Mail: DesignerA@gmail.com
#Created Time: 2019-10-23 14:26:07
############################ 

 

 

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM