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 http://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: http://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插件: 下载插件: http://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 http://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 :TlistToggle 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