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除法运算小技巧
Apr 05 Python
Python用for循环实现九九乘法表
May 31 Python
Python lxml解析HTML并用xpath获取元素的方法
Jan 02 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
python根据文本生成词云图代码实例
Nov 15 Python
pytorch加载自定义网络权重的实现
Jan 07 Python
tensorflow模型保存、加载之变量重命名实例
Jan 21 Python
对Tensorflow中tensorboard日志的生成与显示详解
Feb 04 Python
python中wx模块的具体使用方法
May 15 Python
python爬虫智能翻页批量下载文件的实例详解
Feb 02 Python
使用tkinter实现三子棋游戏
Feb 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
javascript 常用代码技巧大收集
2009/02/25 Javascript
用JS写的一个TableView控件代码
2010/01/23 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
让人蛋疼的JavaScript语法特性
2014/09/30 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
python使用wxpython开发简单记事本的方法
2015/05/20 Python
Django对models里的objects的使用详解
2019/08/17 Python
Python time库基本使用方法分析
2019/12/13 Python
selenium如何定位span元素的实现
2021/01/13 Python
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
村庄绿化方案
2014/05/07 职场文书
商场周年庆活动方案
2014/08/19 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
体育教师个人工作总结
2015/02/09 职场文书
保送生自荐信
2015/03/06 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python