转载 - Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)
出处:http://www.cnblogs.com/ifantastic/p/3185665.html
Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)
为什么要用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搜索包:
$ apt-cache search package_name
apt安装包:
$ apt-get install vim-gnome
安装完成后,vi命令会指向vim.gnome。
2. 安装ctags
ctags用于支持taglist,使用ctags可以在变量之间跳跃。
$ apt-get install ctags
3. 安装taglist
首先安装vim-scripts,vim-scripts中带有vim-addon-manager,vim-addon-manager是Ubuntu众多插件管理器之一,用来管理vim插件。通过vim-addon-manager安装taglist。
$ apt-get install vim-scripts
$ vim-addons install taglist
4. 安装pydiction
pydiction用来实现代码补全和语法提示功能。pydiction不能通过apt安装,需要自行下载安装。
下载方法一: 在vim官网下载zip包,然后自行解压。下载地址为:http://www.vim.org/scripts/script.php?script_id=850
下载方法二: 在GitHub下载源码,可以使用Git迁出到本地,或者下载zip包自行解压,地址为:https://github.com/rkulla/pydiction
pydiction可以让vim自动补全Python代码,无论是关键字,标准库还是第三方库。它主要包含3个文件:
python_pydiction.vim: vim插件文件。
complete-dict: 一个字典文件,包含了Python的关键字和模块。插件引用的内容即来自于此。
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目录下):
进入解压后的pydiction目录 $ cp after/ftplugin/python_pydiction.vim ~/.vim/after/ftplugin
$ cp complete-dict ~/.vim
$ cp pydiction.py ~/.vim
5. 编辑配置文件
编辑~/.vimrc文件,如果不存在则创建。添加以下内容:

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 let g:pydiction_location='~/.vim/tools/pydiction/complete-dict'
set autoindent
set tabstop=4
set shiftwidth=4
set expandtab
set number

filetype plugin on:表示开启插件。
let g:pydiction_location='~/.vim/tools/pydiction/complete-dict' : 写入你存放complete-dict的绝对路径。
如果是Pydiction 1.0以前的版本,要确保vimrc不包含以下代码:
if has("autocm")
autocmd FileType python set complete+=k/path/to/pydiction iskeyword+=.,(
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。
$ mkdir -p ~/.vim/autoload ~/.vim/bundle
其次,拷贝源包中 autoload/pathogen.vim 到 ~/.vim/autoload 目录下。
$ cp autoload/pathogen.vim ~/.vim/autoload/pathogen.vim
然后,在.vimrc文件中写入以下代码:
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 目录下。
$ cp highlight.vim ~/.vim/plugin
高亮搜索结果命令 :set hlsearch,使用命令 :hi Search查看高亮背景色,默认棕黄色,更改高亮背景色命令 :hi Search guibg=LightBlue。
临时关闭高亮命令 :nohlsearch,该命令可简写为 :noh。
可以配置.vimrc,使用空格键临时关闭搜索结果高亮,在.vimrc写入:
:nnoremap <silent> <Space> :nohlsearch<Bar>:echo<CR>
要关闭搜索结果高亮,使用命令 :set nohlsearch。同样可以配置.vimrc来使用快捷键(F4)快速关闭和开启搜索结果高亮,在.vimrc写入:
:noremap <F4> :set hlsearch! hlsearch?<CR>
要默认关闭搜索结果高亮,在.vimrc写入:
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写入:
let Tlist_Auto_Open=0
在正常编辑区域和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写入:
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写入:
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)的更多相关文章
- (转)Vim的Python编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)
为什么要用vim编辑py文件? 因为在Linux命令行中,缺少图形界面的IDE,vim是最佳的文本编辑器,而为了更好的编辑py文本,所以配置vim. 1. 安装完整版vim vi和vim的区别? 在L ...
- Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)
为什么要用vim编辑py文件? 因为在Linux命令行中,缺少图形界面的IDE,vim是最佳的文本编辑器,而为了更好的编辑py文本,所以配置vim. 1. 安装完整版vim vi和vim的区别? 在L ...
- Ubuntu 12.04 LTS为例演示vsftpd虚拟用户 的配置
vsftpd虚拟用户 2012-05-19 15:46:59| 分类: GNU/Linux | 标签:ubuntu vsftpd ftp 虚拟用户 |举报|字号 订阅 我们登录FTP有 ...
- Jexus Web Server 完全傻瓜化图文配置教程(基于Ubuntu 12.04.3 64位)[内含Hyper-v 2012虚拟机镜像下载地址]
1. 前言 近日有感许多新朋友想尝试使用Jexus,不过绝大多数都困惑徘徊在Linux如何安装啊,如何编译Mono啊,如何配置Jexus啊...等等基础问题,于是昨日向宇内流云兄提议,不如搞几个配置好 ...
- ubuntu 12.04 lts安装golang并设置vim语法高亮
安装golang sudo apt-get install golang 设置vim语法高亮 sudo apt-get install vim-gocomplete gocode vim-syntax ...
- 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 ...
- 【转载】Ubuntu 12.04 LTS 中文输入法的安装
原文地址 : http://www.cnblogs.com/zhj5chengfeng/archive/2013/06/23/3150620.html 我装的是英文版的 Ubuntu12.04,如果 ...
- Ubuntu 12.04 LTS 中文输入法的安装 (转载)
第一步:安装语言包 进入 “System Settings” 找到 “Language Support” 那一项,点击进入 选择 “Install/Remove Languages” 找到 “Chin ...
- 【NS2】Ubuntu 12.04 LTS 中文输入法的安装(转载)
本文是笔者使用 Ubuntu 操作系统写的第一篇文章!参考了红黑联盟的这篇文章:Ubuntu 12.04中文输入法的安装 安装 Ubuntu 12.04 着实费力一番功夫,老是在用 Ubuntu 来引 ...
随机推荐
- HDU 1007 平面上最近点对 分治
思路: 分治 套路题 //By SiriusRen #include <cmath> #include <cstdio> #include <algorithm> ...
- 二分图最大匹配(匈牙利算法) URAL 1721 Two Sides of the Same Coin
题目传送门 /* 题意:三种人,statements,testdata,anthing.要求两个人能完成s和t两个工作,且rank相差2 二分图匹配:此题学习建图技巧,两个集和内部一定没有边相连,ra ...
- WordPress熊掌号页面改造,自动发布
写在前面的话: 有很多小伙伴刚进入WordPress,对很多东西还不太了解,比如:有的主题很挑剔,对于有些插件不兼容,但是呢对于这个功能有不可或缺.所以,这时候就需要我们自己手动修改或者添加代码,来实 ...
- Pro ASP.NET Core MVC 第6版翻译 目录页
Pro ASP.NET Core MVC 第6版 目录 第一部分 第一章 ASP.NET Core MVC 的前世今生 第二章 第一个MVC应用程序(上) 第二章 第一个MVC应用程序(下) 第三章 ...
- PHP引用(&)的考察点
引用的概念 在PHP中引用意味着用不同的名字访问同一个变量内容. 定义方式 使用 & 符号来表示 变量的引用 $a = 'ABC'; //开辟一块内存空间存储数据,$a指向该空间 $b = & ...
- CAD从二进流加载数据(com接口VB语言)
主要用到函数说明: MxDrawXCustomFunction::ReadBinStreamEx 从二进流加载数据,详细说明如下: 参数 说明 IMxDrawBinStream* pBinStream ...
- eclipse配置Tomcat服务器server locations的方法
最近放弃了使用Myeclipse,转而使用eclipse作为开发工具,确实Myeclipse集成了太多东西,使得开发人员的配置越来越少,这不是个好事,使用eclipse后,有些地方就得自己去配置,比如 ...
- 10JDBC、CURD、XML、XPath
10JDBC.CURD.XML.XPath-2018/07/20 1.JDBC JDBC:java database connectivity JDBC与数据库驱动的关系:接口与实现的关系. JDBC ...
- Linux下挂载新磁盘
Linux的硬盘识别: 一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘 设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息. 1.关闭服务器加上新硬盘 2.启动服务器,以r ...
- Servlet过滤器的使用
Servlet过滤器的使用 制作人:全心全意 Servlet过滤器:Servlet过滤器与Servlet十分相似,但它具有拦截客户端请求的功能,Servlet过滤器可以改变请求中的内容,来满足实际开发 ...