• 搭建vimIDE(ctags+cscope+vundle)


    1、安装vim

    apt-get install vim   # ubuntu
    pacman -S vim         # archlinux
    yum install vim       # centos

    2、sudo yum install ctags

         使用命令 ctags -R * 递归生成标签文件。(必须在你的项目目录中生成)

    3、sudo yum install cscope;

         cscope -Rbkq  (根目录生成)然后vim里面加入:cs add cscope.out

         -R: 在生成索引文件时,搜索子目录树中的代码
         -b: 只生成索引文件,不进入 cscope 的界面
         -k: 在生成索引文件时,不搜索 /usr/include 目录
         -q: 生成 cscope.in.out 和 cscope.po.out 文件,加快 cscope 的索引速度

    进行以上步骤之外你的vim就可以实现基本的函数跳转查询了关于具体的命令请自行百度,一下将安装Vundle用于插件管理。

    Vundle是基于Git的vim插件管理工具,是目前最推荐的工具。

    1、安装git

         sudo yum install git

    2、安装vundle(这样你的Vundle就安装成功了)

      git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

    3、然后在你的.vimrc里面配置一下信息(关于.vimrc一般在你的根目录或者自己在根目录创建一个)

     set nocompatible              " required
     filetype off                  " required
    
     set rtp+=~/.vim/bundle/Vundle.vim
     call vundle#begin()
     Plugin 'gmarik/Vundle.vim'
     call vundle#end()            " required
     filetype plugin indent on    " required

    4、接下来我们以安装项目树来看看怎么使用Vundle

        首先在.vimrc里面加入

      Plugin 'scrooloose/nerdtree'
      " 这个插件可以显示文件的Git增删状态
      Plugin 'Xuyuanp/nerdtree-git-plugin'

    然后在vim中运行:PluginInstall即可(或者在Bash中运行vim +PluginInstall)。以后只需要在添加一行Plugin 'xxx'并运行:PluginInstall即可自动安装插件。

    最后在你的.vimrc里面可以加入下的配置就很完美了
     " Ctrl+N 打开/关闭
     map <C-n> :NERDTreeToggle<CR>
     " 当不带参数打开Vim时自动加载项目树
     autocmd StdinReadPre * let s:std_in=1
     autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
     " 当所有文件关闭时关闭项目树窗格
     autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
     " 不显示这些文件
     let NERDTreeIgnore=['.pyc$', '~$', 'node_modules'] "ignore files in NERDTree
     " 不显示项目树上额外的信息,例如帮助、提示什么的
     let NERDTreeMinimalUI=1

    在你的项目里面打开vim吧将会呈现以下的场景



    5、其他插件利用Vunle也可以这样哦以后只要你换电脑copy你的.vimrc过去执行
    :PluginInstall即可

    是不是很nice

    愉快的使用吧,关于高级的可以看这个哥们的链接有很多的干活:http://easwy.com/blog/archives/advanced-vim-skills-cscope/

    彩蛋几款好用的插件

    折叠

    有些人特喜欢代码折叠,我就在这里列一下如何优雅地折叠代码。首先在.vimrc中添加配置:

    set foldmethod=indent
    au BufWinLeave * silent mkview  " 保存文件的折叠状态
    au BufRead * silent loadview    " 恢复文件的折叠状态
    nnoremap <space> za             " 用空格来切换折叠状态
    

    开启以indent来折叠代码后,打开一个文件会发现有缩进的内容全被折叠起来了。所以我们引入一个SimpleFold来更智能地折叠:

    Plugin 'tmhedberg/SimpylFold'
    

    不要忘了运行:PluginInstall

    自动补全

    自动补全当然是用YCM

    Plugin 'Valloric/YouCompleteMe'
    

    然后进行配置就好了,YCM是通过Vim的omnifunc机制来自动补全的,所以你需要为你想要支持的语言安装一个提供omnifunc接口的Vim插件。

    全局搜索

    安装ctrlp

    Plugin 'kien/ctrlp.vim'
    

    然后按下C-P,便可以全局搜索啦。使用C-jC-k上下翻页,<Enter>打开选中文件。同样,给出一些有用的配置:

    let g:ctrlp_working_path_mode = 'ra'
    set wildignore+=*/tmp/*,*/node_modules/*,*.so,*.swp,*.zip     
    let g:ctrlp_custom_ignore = {'dir':  'v[/].(git|hg|svn)$', 'file': 'v.(exe|so|dll)$'}
    

    剪切板

    剪切板想必是所有Vim用户的痛。但是!在Mac下只需要设置:

    set clipboard=unnamed
    

    你在Vim中copy的所有内容都会上系统剪切板。在Vim中拷贝内容时,可以切换到拷贝模式防止自动缩进和补全。 我的快捷键是<F9>

    set pastetoggle=<F9>
    

    状态栏

    有没有想要炫酷的状态栏安装一个powerline

    status-bar

    Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'}
    

    此外,为了正确显示Powerline的图标,还需要一些设置:

    set guifont=Inconsolata for Powerline:h15
    let g:Powerline_symbols = 'fancy'
    set encoding=utf-8
    set t_Co=256
    set fillchars+=stl: ,stlnc:
    set term=xterm-256color
    set termencoding=utf-8

    此教程完结END
  • 相关阅读:
    邮件发送的原理
    链接
    VS2010安装EntityFramework5.0
    asp.net mvc 使用Ajax
    图解WPF程序打包全过程
    MapReduce,DataJoin,链接多数据源
    Hadoop,MapReduce操作Mysql
    MapReduce,组合式,迭代式,链式
    下一代hadoop(Mapreduce),YARN/MRv2
    HBase 简介
  • 原文地址:https://www.cnblogs.com/sahara/p/6179628.html
Copyright © 2020-2023  润新知