热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux下打造自己的PythonIDE

闲话少说,直接切入主题,之前也是用一下其他的IDE,但是总是在vi和IDE之间来回切换,比较麻烦,于是乎,找了几个插件亲身体验,功能挺不错;1、安装vi7.0vim的官方网站是:www.vmuni


闲话少说,直接切入主题,之前也是用一下其他的IDE,但是总是在vi 和IDE之间来回切换,比较麻烦,于是乎,找了几个插件亲身体验,功能挺不错;


1、安装vi 7.0

vim的官方网站是:www.vmunix.com/vim,不是很稳定,有时上不了。

安装:

./configure /
--prefix=/usr/local/vim7 /       # 安装目录
--with-x --enable-gui=gtk2 /   # 编译gvim
--with-features=big


2、基础设置

设置配置,一般全局设置/etc/vimrc, 账号设置需修改~/.vimrc

a、设置字符集

支持中文,修改全局设置/etc/vimrc

"set fileencodings=utf-8,cp936,big5,euc-jp,euc-kr,latin1,ucs-bom  
set fileencodings=utf-8,gbk
set ambiwidth=double


修改打开默认字符集

encoding=utf8

b、设置tab插入空格,缩进,删除键删除缩进,页面文字宽度,否则会很难用

修改~/.vimrc:

" 允许退格键删除和tab操作  
set smartindent
set smarttab
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set backspace=2
set textwidth=79
c、其他

" 启用鼠标  
set mouse=a

" 启用行号
set nu
" 智能对齐方式

smartindent

" 在编辑过程中,在右下角显示光标位置的状态行

ruler

  
3、设置python 语法高亮显示

需要python.vim插件,vi 7.0 默认已经带了,在/usr/local/vim7/share/vim/vim70/syntax目录下(我默认安装在/usr/local 目录)

如果没有,需要到http://www.vim.org/scripts/script.php?script_id=790下载

next 需要修改全局配置文件/etc/vimrc 并加上

set filetype=python

au BufNewFile,BufRead *.py,*.pyw setf python

效果如下:



4、代码自动折叠

需要下载python_fold.vim插件,下载地址http://www.vim.org/scripts/script.php?script_id=515

cp python_fold.vim  /usr/share/vim/vim70/plugin/ 
修改配置文件~/.vimrc
set foldmethod=indent " 打开文件时默认折叠


5、项目视图

a、安装Tlist_Ctags_Cmd='/usr/local/bin/ctags'

本人安装在/usr/local/bin/ctags

b、下载taglist.vim  tasklist.vim 放到~/.vim/plugin

c、修改配置文件

let Tlist_Ctags_Cmd='/usr/local/bin/ctags'
let Tlist_Show_One_File = 1
let Tlist_Exit_OnlyWindow= 1
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow= 1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Left_Window = 1 "在右侧窗口中显示taglist窗口
let Tlist_Auto_Open=1 设置打开文件时自动打开

效果如下



方法:进入vi 后在命令模式下执行TlistOpen 打开视图窗口,F1查看视图帮助,TlistClose 关闭视图窗口


6、代码补全,有两种方法

a、使用pythoncomplete.vim 插件,vi7.0 默认带了,不需修改

如果没有的话,下载后放到/usr/local/vim7/share/vim/vim70/autoload 目录下

修改配置文件~/.vimrc

filetype plugin on
set ofu=syntaxcomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType python runtime! autoload/pythoncomplete.vim

上面这种方法不怎么喜欢,是通过ctrl+n 来查找


b、python_pydiction.vim插件

下载后又4个文件complete-dict  pydiction.py  python_pydiction.vim  README.txt

将python_pydiction.vim 放到/home/mysql/.vim/after/ftplugin目录下

/home/mysql/.vim/after/ftplugin 没有就直接创建

将其他三个文件放到/home/mysql/.vim/after/ftplugin/pydiction 下面


修改配置文件~/.vimrc

filetype plugin on  
let g:pydiction_location = '/home/mysql/.vim/after/ftplugin/pydiction/complete-dict'
let g:pydiction_menu_height = 20

修改后可以通过直接的tab 键补全


参考

http://www.cnblogs.com/samwei/archive/2011/04/25/2026211.html

http://www.cnblogs.com/renrenqq/archive/2010/09/09/1813669.html


推荐阅读
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 本文介绍Linux中的Diff命令,该命令用于逐行对比两个文本文件,展示它们之间的差异。通过系统性检查,它能有效标识出文件间所有不同的行,无需事先对文件进行排序。 ... [详细]
  • PHP中去除换行符的多种方法及应用场景
    本文将详细介绍在PHP中去除换行符的各种方法,并结合实际应用场景进行说明。通过本文,您将了解如何根据不同操作系统的特点,选择最合适的换行符处理方式。 ... [详细]
author-avatar
招聘HR
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有