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中将单词首字母大写的capitalize()方法
May 18 Python
Python中functools模块的常用函数解析
Jun 30 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
Jan 24 Python
使用python实现BLAST
Feb 12 Python
python中返回矩阵的行列方法
Apr 04 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
Python OpenCV对本地视频文件进行分帧保存的实例
Jan 08 Python
python读取并定位excel数据坐标系详解
Jun 26 Python
Django与pyecharts结合的实例代码
May 13 Python
Django生成数据库及添加用户报错解决方案
Oct 09 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
Nov 13 Python
python中time tzset()函数实例用法
Feb 18 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
长波知识介绍
2021/03/01 无线电
生成sessionid和随机密码的例子
2006/10/09 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
checkbox 复选框不能为空
2009/07/11 Javascript
javascript天然的迭代器
2010/10/29 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
初步理解Python进程的信号通讯
2015/04/09 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
Python笔试面试题小结
2019/09/07 Python
Python使用进程Process模块管理资源
2020/03/05 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
PHP高级工程师面试问题推荐
2013/01/18 面试题
高中毕业生自我鉴定
2013/11/03 职场文书
工业设计专业个人求职信范文
2013/12/28 职场文书
员工保密承诺书
2014/05/28 职场文书
经营目标责任书
2015/05/08 职场文书
2016大学军训心得体会
2016/01/11 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
灵能百分百第三季什么时候来?
2022/03/15 日漫