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实现批量改文件名称的方法
May 25 Python
python flask中静态文件的管理方法
Mar 20 Python
python读取文本绘制动态速度曲线
Jun 21 Python
Django 日志配置按日期滚动的方法
Jan 31 Python
wxPython多个窗口的基本结构
Nov 19 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
Feb 07 Python
信号生成及DFT的python实现方式
Feb 25 Python
Python基于requests库爬取网站信息
Mar 02 Python
浅谈Python中threading join和setDaemon用法及区别说明
May 02 Python
python 用pandas实现数据透视表功能
Dec 21 Python
Django实现WebSocket在线聊天室功能(channels库)
Sep 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 中文处理函数集合
2008/08/27 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
零基础php编程好学吗
2019/10/11 PHP
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
javascript实现的图片切割多块效果实例
2015/05/07 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
详解vue父子组件间传值(props)
2017/06/29 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
express.js中间件说明详解
2019/03/19 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
[01:22:29]真视界:2019年国际邀请赛总决赛
2020/01/29 DOTA
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python制作简单的网页爬虫
2015/11/22 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
python批量修改ssh密码的实现
2019/08/08 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
python爬取招聘要求等信息实例
2020/11/20 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
最新的咖啡店创业计划书
2013/12/30 职场文书
出生证明范本
2015/06/15 职场文书