ubuntu16.04制作vim和python3的开发环境
作者:鸿鹄安然
1. 安装vim:
# apt-get install -y vim-gnome
2. 安装ctags,ctags用于支持taglist
# apt-get install ctags
3. 安装taglist
# apt-get install vim-scripts vim-addon-manager
# vim-addons install taglist
4. 安装pydiction 实现代码补全:
#wget https://www.vim.org/scripts/script.php?script_id=850/pydiction-1.2.3.zip
# unzip pydiction-1.2.3.zip
# cd pydiction/after/ftplugin/
# mkdir /usr/share/vim/vim74/pydiction
# cp -rp python_pydiction.vim /usr/share/vim/vim74/ftplugin/
# cp complete-dict pydiction.py /usr/share/vim/vim74/pydiction/
5.安装python_fold自动折叠插件
下载python_fold.vim:
https://www.vim.org/scripts/script.php?script_id=515
# mv python_fold.vim /usr/share/vim/vim74/plugin/
#vim /root/.vimrc
set foldmethod=indent
6. 生成ctag序列:
进入到python脚本所在的目录,在该目录下执行:
# ctags -R *
生成一个 ctags 文件,该文件记录了程序/项目的函数、类等的分析序列记录.
7. 安装taglist插件:
下载插件:
https://www.vim.org/scripts/script.php?script_id=273
# unzip taglist_46.zip
# cp plugin/taglist.vim /usr/share/vim/vim74/plugin/
# cp doc/taglist.txt /usr/share/vim/vim74/doc/
#vim
:helptags /usr/share/vim/vim74/doc "生成taglist帮助文件列表。
: help taglist.txt “查看taglist帮助信息。
8. 安装vim plug:
# mkdir ~/.vim/autoload/
# cd ~/.vim/autoload/
# wget https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
配置vim plug:
#vim /root/.vimrc call plug#begin('~/.vim/autoload') Plug 'Valloric/YouCompleteMe' call plug#end() #vim /root/.vimrc filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/vundle call vundle#begin() " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' Plugin 'vim-scripts/indentpython.vim' Bundle 'Valloric/YouCompleteMe' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required call plug#begin('~/.vim/autoload') Plug 'Valloric/YouCompleteMe' call plug#end() set nocompatible "关闭与vi的兼容模式 set number "显示行号 set nowrap "不自动折行 set showmatch "显示匹配的括号 set scrolloff=3 "距离顶部和底部3行" set encoding=utf-8 "编码 set fenc=utf-8 "编码 "set mouse=a "启用鼠标 set hlsearch "搜索高亮 syntax on "语法高亮 set helplang=cn set encoding=utf-8 "au BufNewFile,BufRead *.py set tabstop=4 set softtabstop=4 set shiftwidth=4 set textwidth=79 set expandtab set autoindent set fileformat=unix set foldmethod=indent set autoindent " 实现自动缩进 set foldmethod=indent set shiftwidth=4 set expandtab set number "Flagging Unnecessary Whitespace highlight BadWhitespace ctermbg=red guibg=darkred let Tlist_Auto_Highlight_Tag=1 let Tlist_Auto_Open=1 let Tlist_Auto_Update=1 let Tlist_Display_Tag_Scope=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Enable_Dold_Column=1 let Tlist_File_Fold_Auto_Close=1 let Tlist_Show_One_File=1 let Tlist_Use_Right_Window=1 let Tlist_Use_SingleClick=1 filetype plugin on let g:pydiction_location = '/usr/share/vim/vim74/pydiction/complete-dict' let g:pydiction_menu_height = 20 autocmd FileType python set omnifunc=pythoncomplete#Complete let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的 let Tlist_Exit_OnlyWindow = 1 "如果 taglist 窗口是最后一个窗口,则退出 vim let Tlist_Use_Right_Window = 1 "在右侧窗口中显示 taglist 窗口 "let Tlist_Auto_Open=1 "在启动 vim 后,自动打开 taglist 窗口 "let Tlist_File_Fold_Auto_Close=1 "只显示当前文件 tag,其它文件的tag折叠 let Tlist_Auto_Highlight_Tag=1 let Tlist_Auto_Open=1 let Tlist_Auto_Update=1 let Tlist_Display_Tag_Scope=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Enable_Dold_Column=1 let Tlist_File_Fold_Auto_Close=1 let Tlist_Show_One_File=1 let Tlist_Use_Right_Window=1 let Tlist_Use_SingleClick=1 nnoremap <silent> <F8> :TlistToggle<CR> filetype plugin on autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascrīpt set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType c set omnifunc=ccomplete#Complete autocmd FileType python set omnifunc=pythoncomplete#Complete
插件安装:
切换到命令行模式,依次输入
PlugStatus
PlugInstall
就可以安装插件了
使用vim plug可以方便的管理插件
查看插件类型:
:PlugStatus
安装插件:
:PlugInstall
更新插件::PlugUpdate
vim-plug本身更新::PlugUpgrade