• 配置 vim Python IDE 开发环境


    http://www.inanu.net/post/285.html

    在 Linux 下对 vim 进行一些配置,使之支持如下特性:

    1. 加强的 Python 语法高亮显示;

    2. 对脚本、项目生成 ctag 序列;

    3. 在 vim 中显示 ctag 序列列表;

    4. Python 函数、类的自动补全;

    5. Python 代码自动折叠;

    一、准备

    本文以 CentOS 5.6 为例对系统默认自带的 vim 进行配置。在开始之前需要确认系统已经安装了以下 RPM 包:vim-enhanced、ctags。

    1. 配置 vim alias,使 vim 成为默认的 vi 编辑器:

    # echo alias vi=\'vim\' >> ~/.bashrc
    # source ~/.bashrc

    2. 复制默认的 .vimrc 初始化文件:

    # cp /usr/share/vim/vim70/vimrc_example.vim  ~/.vimrc
    # vi ~/.vimrc

    可以添加一些配置:

    1
    2
    3
    4
    5
    6
    set tabstop=4
    set softtabstop=4
    set shiftwidth=4
    set expandtab
    set autoindent
    set number

    这样,我们就完成了对 vim 的一些前期准备。下面开始进行 vim Python IDE 环境的配置。

    二、Python IDE 环境配置

    1. 加强 Python 语法高亮显示
    下载增强的 Python 语法高亮脚本最新版本:http://www.vim.org/scripts/script.php?script_id=790 下载后得到 python.vim。

    # mv /usr/share/vim/vim70/syntax/python.vim  /usr/share/vim/vim70/syntax/python.vim.ori
    # cp python.vim  /usr/share/vim/vim70/syntax/

    2. 对脚本/项目生成 ctag  序列
    进入到 python 程序脚本(项目)所在的目录,在该目录下执行:

    # ctags -R *

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

    3. 在 vim 中显示 ctag 序列列表
    下载 taglist 插件:http://www.vim.org/scripts/script.php?script_id=273 下载后得到 taglist_45.zip。

    # unzip taglist_45.zip
    解压后得到两个文件:plugin/taglist.vim(taglist 插件)、doc/taglist.txt(taglist 帮助文件)

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

    启动一个 vi 编辑器,并输入以下命令:

    1
    2
    :helptags  /usr/share/vim/vim70/doc    "生成 taglist 帮助文件列表
    :help  taglist.txt    "查看 taglist 帮助信息

    为了更方便的使用 tablist,我们还可以在 vim 中做一些设置:

    # vi ~/.vimrc

    添加如下指令:

    1
    2
    3
    let Tlist_Show_One_File = 1            "不同时显示多个文件的tag,只显示当前文件的。
    let Tlist_Exit_OnlyWindow = 1          "如果 taglist 窗口是最后一个窗口,则退出 vim。
    let Tlist_Use_Right_Window = 1         "在右侧窗口中显示 taglist 窗口。

    当编辑程序代码文件时,可以在 vi 中输入 :Tlist 来启动 taglist 窗口。

    下面是一些 .vimrc 中有关 taglist 的配置参数:

    Tlist_Auto_Open=1    "在启动 vim 后,自动打开 taglist 窗口。
    Tlist_File_Fold_Auto_Close=1    "taglist 只显示当前文件 tag,其它文件的tag折叠。
    Tlist_WinHeight & Tlist_WinWidth    "可以设置taglist窗口的高度和宽度。
    Tlist_Use_Horiz_Window=1    "设置taglist窗口横向显示。

    在 taglist 窗口中,可以使用以下操作指令:

    : 跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
    o: 在一个新打开的窗口中显示光标下tag
    : 显示光标下tag的原型定义
    u: 更新taglist窗口中的tag
    s: 更改排序方式,在按名字排序和按出现顺序排序间切换
    x: taglist窗口放大和缩小,方便查看较长的tag
    +: 打开一个折叠,同 zo
    -: 将tag折叠起来,同 zc
    *: 打开所有的折叠,同 zR
    =: 将所有 tag 折叠起来,同 zM
    [[: 跳到前一个文件
    ]]: 跳到后一个文件
    q: 关闭 taglist 窗口
    : 显示帮助

    4. Python 函数、类的自动补全
    CentOS 5.6 自带的 vim7.0 已经支持了 PHP、Python、Ruby 等多种语言的自动补全,只需进行开启即可。

    开启 Python 自动补全支持:

    # echo 'autocmd FileType python set omnifunc=pythoncomplete#Complete' >> ~/.vimrc

    这样,当编写 python 脚本时,使用 + x    + o 即可打开自动补全菜单,在顶部,还有对应的说明帮助信息 (docstring)。

    vim 自带的 pythoncomplete.vim 虽然很方便,还支持 docstring,但是有时并不能方便的列出一些函数的自动补全。所以,懒人可以继续安装 Pydiction 插件:

    下载 Pydiction 插件:http://www.vim.org/scripts/script.php?script_id=850 下载后得到 pydiction-1.2.zip。

    # unzip  pydiction-1.2.zip
    # cp python_pydiction.vim  /usr/share/vim/vim70/ftplugin
    # mkdir  /usr/share/vim/vim70/pydiction
    # cp complete-dict  pydiction.py  /usr/share/vim/vim70/pydiction/
    # vi ~/.vimrc

    增加如下两行:

    1
    2
    let g:pydiction_location = '/usr/share/vim/vim70/pydiction/complete-dict'
    let g:pydiction_menu_height = 20

    打开 python 脚本文件,在编写 python 程序时,按 TAB 键即可激活自动补全菜单。

    5. Python 代码自动折叠
    下载 python_fold 插件:http://www.vim.org/scripts/script.php?script_id=515 下载后得到 python_fold.vim。

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

    添加:

    set foldmethod=indent

    这样,再编辑 python 文件时会发现代码已经作了折叠处理。下面是有关折叠的一些命令:

    zo: 打开光标位置的折叠代码;
    zc: 折叠光标位置的代码;
    zr: 将文件中所有折叠的代码打开;
    zm: 将文件中所有打开的代码折叠;
    zR: 作用和 zr 类似,但会打开子折叠(折叠中的折叠);
    zM: 作用和 zm 类似,但会关闭子折叠;
    zi: 折叠与打开操作之间的切换命令;
  • 相关阅读:
    8月30日图雄网站隆重推出三维地图服务系统!!!
    电子地图真的是百花齐放了——百度地图即将发布
    GIS应对新挑战——空间信息网格技术探寻
    C盘和其他盘中间有恢复分区,C盘无法扩展的解决办法之一
    osg绘制ifc工字钢的端面
    protobuf编译
    osg绘图的形式
    colors
    SpeechSynthesisUtterance
    kinova jaco2 控制机械臂动作
  • 原文地址:https://www.cnblogs.com/adodo1/p/4327448.html
Copyright © 2020-2023  润新知