简单将vim改造成IDE

  公司服务器上的vim用的异常痛苦,自己写几个小脚本又不想用IDE,于是简单改造下vim,尝试了一次以后发现公司的机器装的是vim6x,很多插件不支持,于是干脆重装成7.x

1.安装vim



  先去下载vim安装包,然后解压,执行安装命令,一般有

./configure
--prefix=/usr/local/  安装目录
--enable-perlinterp  perl集成
--enable-pythoninter  ppython集成
--enable-cscope  csope支持
--enable-multibyte  双字节支持,支持中文的要选这个
--enable-fontset
--with-features=huge  最大特性

然后,完成安装

make
make install

2.定制个人的vim配置



  未定制之前用的是全局配置,现在定制自己的vim配置,主要是用户目录下的.vim目录和.vimrc配置文件  

  在vim里运行

set runtimepath?

查看vim的目录,我这里显示为

 runtimepath=~/.vim,/usr/share/vim/current/vimfiles,/usr/share/vim/current,/usr/share/vim/current/vimfiles/after,~/.vim/after

  一般全局文件是放在/usr/share/vim/current/vimfiles下面,将这个文件夹下面的东西拷贝到.vim下面

  查看syntax下面的python.vim是否存在,然后配置开启syntax

3.Ctags和插件Tasklist


  利用Ctags和插件Tasklist可以在vim中实现项目视图的功能

  下载ctags,然后安装

tar -xzvf ctags-5.6.tar.gz
cd ctags-5.6
make
make install   // 需要root权限

  执行ctags -R可以看下是否安装好以及是否有tags文件生成,再在vim中运行类似命令,填入对应的tags路径用以绑定对应tags,然后就可以使用函数跳转等功能:

  :set tags=/xx/xxx/xx

  安装targlist更容易,解压出来是个plugin目录,然后把它放入plugin目录下,最后使用命令:TlistToggle打开taglist窗口

cp taglist.vim ~/.vim/plugin/

 

4.自动补全pydiction


  pydiction主要用于代码补全,按tab就能自动补全,但感觉上还是比ide弱一点

  下载安装包,解压后包括三个文件:

    python_pydiction.vim #vim插件

    complete-dict #python关键字和模块列表,

    pydiction.py  #python脚本,可以添加更多的模块

  创建目录,然后将对应文件移到对应目录·,

mkdir  -p  ~/.vim/after/ftplugin/pydiction

  复制 python_pydiction.vim 文件到Vim安装路径

  

cp -p python_pydiction.vim  ~/.vim/after/ftplugin/

  复制 complete-dict 和 pydiction.py 到 ~/.vim/after/ftplugin/pydiction目录。(这两个文件可以放在任何目录,对应于 pydiction_location 变量)

  修改 ~/.vimrc文件,若没有则创建,在该文件中添加下面两行:

 

filetype plugin on

let g:pydiction_location=‘~/.vim/after/ftplugin/pydiction/complete-dict‘

5.文件浏览器nerdtree


旧版Nerdtree:

解压出来时个plugin目录,然后把它放入plugin目录下

cp taglist.vim ~/.vim/plugin/

在vim中运行:NERDTreeToggle就可以打开

新版nerdtree

  1. 把zip包中的doc、nerdtree_plugin、plugin三个目录解压到$VIM/vimfiles目录下。
  2. 将doc、plugin目录下的文件copy到~/.vim/下面对应的目录,nerdtree_plugin copy到~/.vim/plugin
  3. 在vimrc下面增加
    "NERDTree plugin
    let NERDTreeWinPos = "right" "where NERD tree window is placed on the screen
    "let NERDTreeWinSize = 31 "size of the NERD tree  

 

6.vimrc文件



将几个插件改造成快捷方式打开/关闭,tab和语法常规优化了下,主要用来写写python脚本

" 设置字符集
set encoding=utf-8
set fencs=utf-8,gbk
" 设置python格式
set filetype=python
au BufNewFile,BufRead *.py,*.pyw setf python
" 侦测文件类型
filetype on
" 载入文件类型插件
filetype plugin on
" 为特定文件类型载入相关缩进文件
let g:pydiction_location=‘~/.vim/after/ftplugin/pydiction/complete-dict‘
let g:pydiction_menu_height = 20
filetype indent on 

" 设置缩进
set autoindent " same level indent
set smartindent " next level indent
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
" 语法高亮
syntax on
set nu

" 高亮显示匹配的括号
set showmatch 

" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=5
"设置ctags
let Tlist_Show_Menu = 1
"TlistUpdate可以更新tags
map <F2> :!ctags -R * <CR> "生成tags
map <F3> :silent! Tlist<CR>  "按下F3就可以呼出Taglist
let Tlist_Ctags_Cmd=‘ctags‘ "因为我们放在环境变量里,所以可以直接执行
let Tlist_Ctags_Cmd=‘/usr/local/bin/ctags‘
let Tlist_Use_Right_Window=0 "让窗口显示在右边,0的话就是显示在左边
let Tlist_Show_One_File=1 "让taglist可以同时展示多个文件的函数列表,如果想只有1个,设置为1
let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
let Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动退出vim
let Tlist_Process_File_Always=0 "是否一直处理tags.1:处理;0:不处理  

"NERDTree plugin
 let NERDTreeWinPos = "right" "where NERD tree window is placed on the screen
"let NERDTreeWinSize = 31 "size of the NERD tree
map <F4> :NERDTreeMirror<CR>
map <F4> :NERDTreeToggle<CR>
"运行python
nmap <F5> :!python %  
时间: 2024-10-13 17:00:44

简单将vim改造成IDE的相关文章

将vim改造成C/C++开发环境(IDE) 2011

[参考资料]吴垠的“手把手教你把Vim改装成一个IDE编程环境”在Fedora下成功将Vim打造成适用于C/C++的IDE用Vim搭建C/C++开发环境 Ubuntu下vim+ctags的配置(转) Vim下的代码自动补全和代码跳转阅读(转) omnicppcomplete - a Vim plugin 我的vim IDE界面: 1.安装Vim和Vim基本插件 首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:[email protected]:~/arm$sudo apt-g

【转】谁说Vim不是IDE?(一)

谁说Vim不是IDE?(一) 话说操作系统.编程语言和编辑器似乎是程序员永恒的吐槽话题,技术发展了几十年,大家讨论起这几个“之争”还是充满愤怒.津津乐道.有人描述过Emacs和VI程序员,大家沿着不同的道路和目标前进,但总是会在某个点交叉相遇,互相扔石头,砸到对方鼻青脸肿,然后收拾心情又继续前行. 前一阵子我在微博上写了一条微博回复,是关于Vim和IDE讨论的:Vim和那些IDE的应用场景还是有区别的,在我看来Vim也是IDE,是程序员的必备技能之一.这基本表达了我的观点. 原微博是@玉伯也叫射

谁说Vim不是IDE?

话 说操作系统.编程语言和编辑器似乎是程序员永恒的吐槽话题,技术发展了几十年,大家讨论起这几个"之争"还是充满愤怒.津津乐道.有人描述过Emacs和 VI程序员,大家沿着不同的道路和目标前进,但总是会在某个点交叉相遇,互相扔石头,砸到对方鼻青脸肿,然后收拾心情又继续前行. 前一阵子我在微博上写了一条微博回复,是关于Vim和IDE讨论的:Vim和那些IDE的应用场景还是有区别的,在我看来Vim也是IDE,是程序员的必备技能之一.这基本表达了我的观点. 原微博是@玉伯也叫射雕发 布的,这条

【转】谁说Vim不是IDE?(三)

谁说Vim不是IDE?(三) 常用插件 之所以说Vim形成了自己的生态环境,就是因为Vim具备开放的插件体系,开发者为了提升开发效率,为Vim编写了数以万计的插件,我们可以根据需要任意选择,也可以基于Vimscript语言开发自己的专属插件. 每个插件都是以Vim为后缀的脚本文件,编写插件的语言一般采用Vimscript.Vimscript是Vim自己的编程语言,我们在后续会介绍到它.尽管Vimscript几乎为可以Vim做任何事,但还是会存在一些场景,用其他语言更好更快.考虑到这一点,Vim的

【转】谁说Vim不是IDE?(二)

谁说Vim不是IDE?(二) 环境配置 “如果你认为Vim只是一个文本编辑器,你就输了”——来自Vim老鸟 Vim以简洁的方式提供了丰富的配置功能,主要配置体系由一个文件和文件夹组成.在一台安装了Vim的OS X/Linux/Unix机器上,进入用户主目录,可以找到.vimrc文件和.vim文件夹,这就是Vim所有的配置信息. (1).vimrc介绍 用户目录下的.vimrc文件就是Vim针对当前用户的主配置文件,该文件不是必备的,没有的话就创建它.文件位于当前用户的主目录下,可以用~/.vim

Asp.Net+Oracle+EasyUI简单增删查改

Asp.Net+Oracle+EasyUI简单增删查改 概要:网上有很多关于EasyUI前端框架的资料,本人在学习的基础上,基于自己之前搭建的框架(Oracle+Ado.Net),配合EasyUI实现一套简单的增删查改. 正文: 在实体层新建一个EMP.cs,继承至BaseModel 1 namespace myOracle.Model 2 { 3 public class Emp:BaseModel 4 { 5 public Emp() 6 { 7 base.PrimaryKey = "emp

Asp.Net Mvc+MongoDB简单增删查改

                                   Asp.Net Mvc+MongoDB简单增删查改 概要:现在很多企业都在使用非关系型的NoSql数据库,其中MongoDB是相当热门的,最近有空就研究了一下,本文写了一套基于Asp.Net Mvc和MongoDB的简单增删查改,本文部分内容是借用其他博文,最后我会贴出出处. 正文: 在控制器的Models中新建一个UserModel模型(其中相当于另开一个类库,类似Dal层) using System; using Syst

学以致用十四-----打造一个简单的vim IDE

一.安装dircolors git clone https://github.com/seebi/dircolors-solarized.git cd dircolors-solarized/ mv dircolors.ansi-dark ~/.dircolors vim .bash_profile 注意 "="之间不要有空格,否则每次启动的时候会报错 二.编辑.vimrc 可以上网收集一些好的模板,然后自己修改 原文地址:https://www.cnblogs.com/liongon

如何将vim打造成IDE

如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利.不管是Java.C还是Python,当IDE会帮你检查语法.后台编译,或者自动导入你需要的库时,写代码就变得容易许多.另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便.所以,你可能会想从Vim中也获取这些IDE特性. 事实上,很少有方法可以帮你做到.有些人可能会想到试着把Vim打造成C语言IDE的,比如c.vim:也有把Vim集成到Eclipse里的 Eclim .但是我想要告诉你的是一个更加