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 ############################
