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模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 Python
python中的reduce内建函数使用方法指南
Aug 31 Python
使用Django的模版来配合字符串翻译工作
Jul 27 Python
Python判断值是否在list或set中的性能对比分析
Apr 16 Python
Python 在字符串中加入变量的实例讲解
May 02 Python
python语言基本语句用法总结
Jun 11 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
PyCharm如何导入python项目的方法
Feb 06 Python
Python IDLE或shell中切换路径的操作
Mar 09 Python
区分python中的进程与线程
Aug 13 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 01 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
基于jQuery实现点击同时更改两个iframe的网址
2010/07/01 Javascript
js 上传图片预览问题
2010/12/06 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
jQuery/JS监听input输入框值变化实例
2019/10/17 jQuery
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
python制作花瓣网美女图片爬虫
2015/10/28 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
pandas-resample按时间聚合实例
2019/12/27 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
计算机操作自荐信
2013/12/07 职场文书
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
销售人员求职的自我评价分享
2014/03/15 职场文书
颁奖典礼主持词
2014/03/25 职场文书
詹天佑教学反思
2014/04/30 职场文书
工资证明格式模板
2015/06/12 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书