热门标签 | 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


推荐阅读
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
  • 本文详细介绍如何使用 Python 集成微信支付的三种主要方式:Native 支付、APP 支付和 JSAPI 支付。每种方式适用于不同的应用场景,如 PC 网站、移动端应用和公众号内支付等。 ... [详细]
  • Python3 中使用 lxml 模块解析 XPath 数据详解
    XPath 是一种用于在 XML 文档中查找信息的路径语言,同样适用于 HTML 文件的搜索。本文将详细介绍如何利用 Python 的 lxml 模块通过 XPath 技术高效地解析和抓取网页数据。 ... [详细]
  • 解决Windows下创建子进程时代码重复执行的问题
    在Windows系统中,当启动子进程时,主进程的文件会被复制到子进程中。由于导入模块时会执行该模块中的代码,因此可能导致某些代码在主进程和子进程中各执行一次。本文探讨了这一现象的原因及其解决方案。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 本文介绍如何在 Visual Studio Code 中使用 Jupyter Notebook 插件,包括创建、编辑和运行笔记本的基本操作。 ... [详细]
  • 本文介绍如何在Linux系统中卸载预装的OpenJDK,安装指定版本的JDK 1.8,并配置防火墙以确保系统安全性和软件兼容性。 ... [详细]
  • 利用SSH隧道实现外网对局域网机器的安全访问
    本文探讨了一种常见的网络配置问题及其解决方案,即如何在外网环境下安全地访问位于局域网内的计算机。特别介绍了使用SSH反向隧道技术来实现这一目标的具体步骤和注意事项。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
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社区 版权所有