为什么要用vim编辑py文件?

因为在Linux命令行中,缺少图形界面的IDE,vim是最佳的文本编辑器,而为了更好的编辑py文本,所以配置vim。

1. 安装完整版vim

  vi和vim的区别?

  在Linux自带有vi编辑器,而vim是指vi improved,即vi升级版。区别在于vi指令和功能较vim简单,正因如此才有了vi improved。

  Ubuntu自带的vi编辑器是vim.tiny,也就是vim最基本功能,几乎等同于vi。而在Ubuntu中vi命令指向的是vim。

  如何使用apt安装vim?

  Linux分支之Debian及其衍生版本中可以通过apt管理包,apt是advanced packaging tools的缩写。Ubuntu作为Debian分支,使用apt命令管理包是很方便的。

  使用apt-get命令安装包时会发现有几个包可供选择:vim,vim-gnome,vim-gtk,vim-tiny。据说vim包其实就是vim.basic,该版本不支持GUI。建议安装的是vim-gnome。

  apt搜索包:

  1. $ apt-cache search package_name

  apt安装包:

  1. $ apt-get install vim-gnome

  安装完成后,vi命令会指向vim.gnome。

2. 安装ctags

  ctags用于支持taglist,使用ctags可以在变量之间跳跃。

  1. $ apt-get install ctags

3. 安装taglist

  首先安装vim-scripts,vim-scripts中带有vim-addon-manager,vim-addon-manager是Ubuntu众多插件管理器之一,用来管理vim插件。通过vim-addon-manager安装taglist。

  1. $ apt-get install vim-scripts
  2. $ vim-addons install taglist

4. 安装pydiction

  pydiction用来实现代码补全和语法提示功能。pydiction不能通过apt安装,需要自行下载安装。

  1.   下载方法一:
  2.  
  3.     vim官网下载zip,然后自行解压。下载地址为:http://www.vim.org/scripts/script.php?script_id=850
  4.   下载方法二:
  5.  
  6.     GitHub下载源码,可以使用Git迁出到本地,或者下载zip包自行解压,地址为:https://github.com/rkulla/pydiction

  pydiction可以让vim自动补全Python代码,无论是关键字,标准库还是第三方库。它主要包含3个文件:

  1. python_pydiction.vim: vim插件文件。
  2.  
  3. complete-dict: 一个字典文件,包含了Python的关键字和模块。插件引用的内容即来自于此。
  4.  
  5. pydiction.py: 一个py脚本,运行此文件可以增加新的模块到complete-dict字典中。

  

  如何安装?

  Linux/Unix系统:将python_pydiction.vim文件复制到 ~/.vim/after/ftplugin 目录下。如果该目录不存在,则创建它,vim会自动在此目录下搜索。

  Windows系统:将python_pydiction.vim文件复制到 C:\vim\vimfiles\ftplugin 目录下(假设你的Vim安装路径为C:\vim)

  除此之外的另两个文件complete-dict和pydiction.py可以放置到任何你想放置的位置,但在ftplugin目录下最好只存放python_pydiction.vim而不应该还有其他文件。

  以下为pydiction.zip解压后执行的安装命令(我的complete-dict和pydiction.py放置在~/.vim目录下):

  1. 进入解压后的pydiction目录
  2.  
  3. $ cp after/ftplugin/python_pydiction.vim ~/.vim/after/ftplugin
  4. $ cp complete-dict ~/.vim
  5. $ cp pydiction.py ~/.vim

5. 编辑配置文件

  编辑~/.vimrc文件,如果不存在则创建。添加以下内容:

  1. let Tlist_Auto_Highlight_Tag=
  2. let Tlist_Auto_Open=
  3. let Tlist_Auto_Update=
  4. let Tlist_Display_Tag_Scope=
  5. let Tlist_Exit_OnlyWindow=
  6. let Tlist_Enable_Dold_Column=
  7. let Tlist_File_Fold_Auto_Close=
  8. let Tlist_Show_One_File=
  9. let Tlist_Use_Right_Window=
  10. let Tlist_Use_SingleClick=
  11. nnoremap <silent> <F8> :TlistToggle<CR>
  12.  
  13. filetype plugin on
  14. autocmd FileType python set omnifunc=pythoncomplete#Complete
  15. autocmd FileType javascrīpt set omnifunc=javascriptcomplete#CompleteJS
  16. autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
  17. autocmd FileType css set omnifunc=csscomplete#CompleteCSS
  18. autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
  19. autocmd FileType php set omnifunc=phpcomplete#CompletePHP
  20. autocmd FileType c set omnifunc=ccomplete#Complete
  21.  
  22. let g:pydiction_location='~/.vim/tools/pydiction/complete-dict'
  23. set autoindent
  24. set tabstop=
  25. set shiftwidth=
  26. set expandtab
  27. set number

  filetype plugin on:表示开启插件。

  let g:pydiction_location='~/.vim/tools/pydiction/complete-dict' : 写入你存放complete-dict的绝对路径。

  如果是Pydiction 1.0以前的版本,要确保vimrc不包含以下代码:

  1. if has("autocm")
  2. autocmd FileType python set complete+=k/path/to/pydiction iskeyword+=.,(
  3. endif " has("autocmd")

6. 进击的.vimrc

  以上针对Python配置的vim算是基本完成,但事情可以做得更完善一点,进一步将你的vim变得更好用。(以下进击不仅针对Python,而是对vim自身的完善。)

  6.1. 安装pathogen.vim

    简介:pathogen.vim是一个方便操作"runtimepath", "path", "tags"等的插件,安装了pathogen.vim后,可以非常方便地下载安装其他vim插件。

    下载:http://www.vim.org/scripts/script.php?script_id=2332 或 https://github.com/tpope/vim-pathogen

    安装:

      首先,在vim runtime目录下创建两新目录 ~/.vim/autoload 和 ~/.vim/bundle。

  1. $ mkdir -p ~/.vim/autoload ~/.vim/bundle

      其次,拷贝源包中 autoload/pathogen.vim 到 ~/.vim/autoload 目录下。

  1. $ cp autoload/pathogen.vim ~/.vim/autoload/pathogen.vim

      然后,在.vimrc文件中写入以下代码:

  1. execute pathogen#infect()

      至此,pathogen.vim便安装完成了。此后所有vim插件目录可以解压到 ~/.vim/bundle 中, 它会被自动追加到"runtimepath"中。

  6.2. 代码高亮

    简介:对代码进行高亮显示。

    下载:http://www.vim.org/scripts/script.php?script_id=1599

    安装:

      将下载的highlight.vim拷贝到 ~/.vim/plugin 目录下。

  1. $ cp highlight.vim ~/.vim/plugin

      高亮搜索结果命令 :set hlsearch,使用命令 :hi Search查看高亮背景色,默认棕黄色,更改高亮背景色命令 :hi Search guibg=LightBlue。

      临时关闭高亮命令 :nohlsearch,该命令可简写为 :noh。

      可以配置.vimrc,使用空格键临时关闭搜索结果高亮,在.vimrc写入:

  1. :nnoremap <silent> <Space> :nohlsearch<Bar>:echo<CR>

      要关闭搜索结果高亮,使用命令 :set nohlsearch。同样可以配置.vimrc来使用快捷键(F4)快速关闭和开启搜索结果高亮,在.vimrc写入:

  1. :noremap <F4> :set hlsearch! hlsearch?<CR>

      要默认关闭搜索结果高亮,在.vimrc写入:

  1. set viminfo^=h

      (更多参考 http://vim.wikia.com/wiki/Highlight_all_search_pattern_matches

        (如何高亮单行 http://vim.wikia.com/wiki/Highlight_current_line

  6.3. taglist

  简介:显示标签列表。

  下载:参看前述。

  安装:参看前述。

    默认关闭taglist,在.vimrc写入:

  1. let Tlist_Auto_Open=

    在正常编辑区域和tags区域切换命令 :ctrl+w+w。

    TlistToggle:开关taglist。

    <CR>:跳转至tag定义处。

    o:在新窗口中显示光标下的tag。

    u:更新taglist窗口中的tag。

    s:更改排序方式,名字排序或行号排序。

    X:taglist窗口放大缩小。

    +:打开折叠,等同zo。

    -:关闭折叠,等同zc。

    *:打开所有折叠,等同zR。

    =:将所有tag折叠,等同zM。

    [[:跳转至前一个文件。

    ]]:跳转至后一个文件。

    q:关闭taglist窗口。

    <F1>:显示帮助。

 

  6.4. 折叠代码

  简介:将Python代码折叠,Python的class,function,以及在{{{,}}}标记的内容将被折叠。

  下载:http://vim.sourceforge.net/scripts/script.php?script_id=515

  安装:

    将下载的python_fold.vim拷贝到 ~/.vim/plugin 目录下。

    关闭开启时默认折叠命令,在.vimrc写入:

  1. set nofoldenable

    zo: 展开单个折叠区。

    zc: 聚合单个折叠区。

    zn: 展开全部折叠区。

    zN: 聚合全部折叠区。

   

  6.5. NERDTree目录树

  简介:打开文件目录树,相当于文件浏览器。

  下载:http://www.vim.org/scripts/script.php?script_id=1658

  安装:

    将整个解压后的源包拷贝到 ~/.vim 目录下,需要确保 NERD_tree.vim 位于 ~/.vim/plugin 目录下, NERD_tree.txt 位于 ~/.vim/doc 目录下。

    使用<F7>作为快捷键开关目录树,在.vimrc写入:

  1. map <F7> :NERDTreeToggle<CR>

  

  6.6. 自动补全 

  简介:可以对常用词进行提示补全。

  下载:http://www.vim.org/scripts/script.php?script_id=1879 或 https://bitbucket.org/ns9tks/vim-autocomplpop/get/tip.zip

  安装:

    拷贝acp.vim 到 ~/.vim/plugin 目录下,拷贝acp.txt到~/.vim/doc 目录下。

  【注意】 该插件有一个依赖对象l9.vim,所以还需要安装l9.vim插件。

  6.7. l9.vim 

  简介:自动补全AutoComplPop的依赖库。

  下载:http://www.vim.org/scripts/script.php?script_id=3252

  安装:

    将源包目录置于vim运行时目录下,确保 l9.vim 处于 ~/.vim/plugin 目录下, l9.txt 处于 ~/.vim/doc 目录下。

    

    

Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)的更多相关文章

  1. 转载 - Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)

    出处:http://www.cnblogs.com/ifantastic/p/3185665.html Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LT ...

  2. (转)Vim的Python编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)

    为什么要用vim编辑py文件? 因为在Linux命令行中,缺少图形界面的IDE,vim是最佳的文本编辑器,而为了更好的编辑py文本,所以配置vim. 1. 安装完整版vim vi和vim的区别? 在L ...

  3. Ubuntu 12.04 LTS为例演示vsftpd虚拟用户 的配置

    vsftpd虚拟用户   2012-05-19 15:46:59|  分类: GNU/Linux |  标签:ubuntu  vsftpd  ftp  虚拟用户  |举报|字号 订阅 我们登录FTP有 ...

  4. Jexus Web Server 完全傻瓜化图文配置教程(基于Ubuntu 12.04.3 64位)[内含Hyper-v 2012虚拟机镜像下载地址]

    1. 前言 近日有感许多新朋友想尝试使用Jexus,不过绝大多数都困惑徘徊在Linux如何安装啊,如何编译Mono啊,如何配置Jexus啊...等等基础问题,于是昨日向宇内流云兄提议,不如搞几个配置好 ...

  5. ubuntu 12.04 lts安装golang并设置vim语法高亮

    安装golang sudo apt-get install golang 设置vim语法高亮 sudo apt-get install vim-gocomplete gocode vim-syntax ...

  6. Ubuntu 12.04 LTS 下配置 apache支持SPDY, 使用wireshark 抓包分析SPDY 协议

    1.安装apache sudo apt-get install apache2 root@ubuntu:/etc/apache2/mods-enabled# apache2 -v Server ver ...

  7. Ubuntu 14.04 LTS 安装和配置Bochs

    Ubuntu 14.04 LTS 安装和配置Bochs       系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 ...

  8. Tomcat7.0.22在Windows下详细配置过程

    Tomcat7.0.22在Windows下详细配置过程 一.JDK1.7安装 1.下载jdk,下载地址:http://www.oracle.com/technetwork/java/javase/do ...

  9. 转载 - Struts2 拦截器详细配置过程

    出处:http://www.blogjava.net/zzzlyr/archive/2009/10/12/297998.html Struts2 拦截器详细配置过程 1:所有拦截器的超级接口Inter ...

随机推荐

  1. 超频,如何超频CPU和显卡?

    首先是良好的硬件体制,CPU.内存和显卡都必须是健康的,在100%负荷下工作也能拥有合理的温度和功耗.其次就是硬件准备,超频需要一块强大的主板做支撑,特别是主板供电部分,考虑到CPU和内存超频后功耗大 ...

  2. Mybatis set标签

    set - 更新语句 当 update 语句中没有使用 if 标签时,如果有一个参数为 null,都会导致错误. 当在 update 语句中使用if标签时,如果前面的if没有执行,则或导致逗号多余错误 ...

  3. 参考论坛:Mali kernel driver TX011-SW-99002-r5p1-00rel0 for firefly

    最近手头有一块firefly_rk3288_reload的开发板,想实现在linux 下用openGL ES来做视频显示. 找到opengGL相关移植,参考论坛(http://bbs.t-firefl ...

  4. 远程桌面连接工具 Remote Desktop Manager 9.1.2.0 Enterprise 多国语言绿色版附注册码 简单使用

    1:修改成中文简体 2: 注册破解  (记得一定要先断网)   admin admin@admin.com 31GKI-OK1HY-59H35-Y8GPB-8WDY6 3 : 创建连接   搞定

  5. windows下winscp连接ubuntu

    在ubuntu下安装ssh: sudo apt-get install openssh-server 即可解决.

  6. 前端图片压缩(纯js)

    html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  7. 几个免费IP地址查询API接口

    转:http://blog.csdn.net/ishxiao/article/details/52670242 -------------------------------------------- ...

  8. 关于ARM NEON学习的一些资料

    在对基于ARM-v7处理器及以上的程序进行优化时,可以使用neon优化技术来加速程序.不过搞这个的人比较少,所以网上有用的资料很稀少.我翻了半天国内国外的博客,发现还是ARM公司的帮助网站最有用: h ...

  9. [Learn AF3]第五章 App Framework 3组件之Drawer——Side Menu

    Drawer——Side menu 组件名称:Drawer     说明:af3中的side menu和af2中有很大变化,af3中的side menu实际上是通过插件$.afui.drawer来实现 ...

  10. 【WP8】ResourceDictionary

    WP8中引用资源字典 当我们定义的样式太多的时候,我们可以把样式分别定义在不同的文件中,然后通过 MergedDictionaries 应用到其他资源字典中,看下面Demo 我们可以把样式定义在多个文 ...