ubuntu16.04制作vim和python3的开发环境


Posted in Python onSeptember 23, 2018

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

Python 相关文章推荐
Python的内存泄漏及gc模块的使用分析
Jul 16 Python
Python内置函数Type()函数一个有趣的用法
Feb 18 Python
python读取文本中的坐标方法
Oct 14 Python
python re正则匹配网页中图片url地址的方法
Dec 20 Python
python调用其他文件函数或类的示例
Jul 16 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
Aug 23 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
Python图片的横坐标汉字实例
Dec 04 Python
Python 使用threading+Queue实现线程池示例
Dec 21 Python
keras的backend 设置 tensorflow,theano操作
Jun 30 Python
Pycharm连接gitlab实现过程图解
Sep 01 Python
Python用户自定义异常的实现
Dec 25 Python
Python实现注册、登录小程序功能
Sep 21 #Python
用于业余项目的8个优秀Python库
Sep 21 #Python
Python 经典面试题 21 道【不可错过】
Sep 21 #Python
python使用folium库绘制地图点击框
Sep 21 #Python
在python中安装basemap的教程
Sep 20 #Python
python编程使用协程并发的优缺点
Sep 20 #Python
详解Numpy中的广播原则/机制
Sep 20 #Python
You might like
PHP sprintf()函数用例解析
2011/05/18 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
2013/12/25 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
Python的高级Git库 Gittle
2014/09/22 Python
Python功能键的读取方法
2015/05/28 Python
git进行版本控制心得详谈
2017/12/10 Python
python 执行终端/控制台命令的例子
2019/07/12 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
python多进程使用函数封装实例
2020/05/02 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
css3中transition属性详解
2014/09/02 HTML / CSS
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
法务专员岗位职责
2014/01/02 职场文书
保证书范文大全
2014/04/28 职场文书
品牌服务方案
2014/06/03 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
如何用python绘制雷达图
2021/04/24 Python
Python之基础函数案例详解
2021/08/30 Python