Python开发如何在ubuntu 15.10 上配置vim


Posted in Python onJanuary 25, 2016

1,安装vim,你可以使用ubuntu 自带的apt-get 工具安装。

apt-get install vim-gnome

2,安装成功后,进行配置

1>首先进行自动提示补全的配置(pydiction)

从官方上下载http://www.vim.org/scripts/script.php?script_id=850最新的即可,解压缩后,进入解压缩后的目录,执行如下命令

# cp python_pydiction.vim /usr/share/vim/vim74/ftplugin
# mkdir /usr/share/vim/vim74/pydiction
# cp complete-dict pydiction.py /usr/share/vim/vim74/pydiction/
# vi ~/.vimrc

讲解:

第一行 就是复制下载的文件 到/usr/share/vim/vim74/ftplugin
第二行 就是在/usr/share/vim/vim74/目录下创建文件夹pydiction
第三行 复制 complete-dict pydiction.py 这两个文件到
第四行 打开 .vimc配置文件

然后把下面的三行代码复制到里面然后保存,应该都会吧。

单击Esc后,执行:wq,保存

let g:pydiction_location = '/usr/share/vim/vim74/pydiction/complete-dict' 
let g:pydiction_menu_height = 20
autocmd FileType python set omnifunc=pythoncomplete#Complete

2>安装python_fold自动折叠插件从官方下载http://www.vim.org/scripts/script.php?script_id=515最新的插件,解压缩后,进入解压缩后的目录,执行如下命令

# cp python_fold.vim /usr/share/vim/vim74/plugin/
# vi ~/.vimrc

讲解:

第一行 就是复制下载的文件 到/usr/share/vim/vim74/plugin
第二行

打开 .vimc配置文件

然后把下面的一行代码复制到里面

set foldmethod=indent

3> 安装自动高亮插件从官方上下载:http://www.vim.org/scripts/script.php?script_id=790,下载最新的插件,解压缩后,进入解压缩后的目录,执行如下命令

mv /usr/share/vim/vim74/syntax/python.vim /usr/share/vim/vim74/syntax/python.vim_backup cp python.vim /usr/share/vim/vim74/syntax

讲解:

第一行 就是将python.vim 备份
第二行 复制python.vim 到/usr/share/vim/vim74/syntax 目录下

4> 生成 ctag 序列

进入到 python 程序脚本(项目)所在的目录,在该目录下执行:

ctags -R *

如果提示没有安装ctags,执行apt-get install ctags即可。

生成一个 ctags 文件,该文件记录了程序/项目的函数、类等的分析序列记录。有关 ctag 的详细用法请阅读 ctag 的 manpage。

5>安装taglist 插件

从官方上下载插件:http://www.vim.org/scripts/script.php?script_id=273 ,用最新的即可,解压缩后,进入解压缩后的目录,执行如下命令。

# cp plugin/taglist.vim /usr/share/vim/vim74/plugin/
# cp doc/taglist.txt /usr/share/vim/vim74/doc/
# vi

执行下面的命令

:helptags /usr/share/vim/vim74/doc
:help taglist.txt 第一行 生成 taglist 帮助文件列表 第二行 查看 taglist 帮助信息配置 vimrc, vi ~/.vimrc,在后面添加如下代码

let Tlist_Show_One_File = 1 
let Tlist_Exit_OnlyWindow = 1 
let Tlist_Use_Right_Window = 1 
let Tlist_Auto_Open=1 
let Tlist_File_Fold_Auto_Close=1

讲解:

第一行 不同时显示多个文件的tag,只显示当前文件的。
第二行 如果 taglist 窗口是最后一个窗口,则退出 vim。
第三行 在右侧窗口中显示 taglist 窗口。
第四行 在启动 vim 后,自动打开 taglist 窗口。
第五行 只显示当前文件 tag,其它文件的tag折叠。

最后的配置结果截图如下:

Python开发如何在ubuntu 15.10 上配置vim

配置文件内容如下:需要的可复制。

set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
set foldmethod=indent
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
let g:pydiction_location = '/usr/share/vim/vim74/pydiction/complete-dict'
let g:pydiction_menu_height = 20
set foldmethod=indent

配置后,文件编辑结果如下:

Python开发如何在ubuntu 15.10 上配置vim

Python 相关文章推荐
web.py获取上传文件名的正确方法
Aug 26 Python
Python写入数据到MP3文件中的方法
Jul 10 Python
Python随机生成带特殊字符的密码
Mar 02 Python
python实现分页效果
Oct 25 Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 Python
对pyqt5之menu和action的使用详解
Jun 20 Python
python 的 scapy库,实现网卡收发包的例子
Jul 23 Python
Python简易版停车管理系统
Aug 12 Python
python是怎么被发明的
Jun 15 Python
pytorch简介
Nov 11 Python
Python机器学习实战之k-近邻算法的实现
Nov 27 Python
进行数据处理的6个 Python 代码块分享
Apr 06 Python
详解Python验证码识别
Jan 25 #Python
Python网站验证码识别
Jan 25 #Python
谈谈Python进行验证码识别的一些想法
Jan 25 #Python
基于Python Shell获取hostname和fqdn释疑
Jan 25 #Python
21行Python代码实现拼写检查器
Jan 25 #Python
Python字符串、元组、列表、字典互相转换的方法
Jan 23 #Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 #Python
You might like
php获取后台Job管理的实现代码
2011/06/10 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
php压缩文件夹最新版
2018/07/18 PHP
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
2020/04/14 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
对于Python装饰器使用的一些建议
2015/06/03 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
python多线程共享变量的使用和效率方法
2019/07/16 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
python性能测试工具locust的使用
2020/12/28 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
《我的第一本书》教学反思
2014/02/15 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
2014年医院工作总结
2014/11/20 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
jQuery实现影院选座订座效果
2021/04/13 jQuery
Python语言中的数据类型-序列
2022/02/24 Python
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android