1.下载源码

git clone git@github.com:vim/vim.git

2.编译

   1.安装依赖软件

     sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \ libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \ libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \ python3-dev ruby-dev lua5.1 lua5.1-dev git

   2.删除已经安装的vim

     sudo apt-get remove vim-tiny vim-common vim-gui-common vim-nox

    Ubuntu要加上以下的

     sudo apt-get remove vim-tiny vim-common vim-gui-common vim-nox

3.配置vim,其中python路径要具体看,gui非ubuntu为gtk2,ubuntu用gtk2会有警告,看着闹心

    ./configure --with-features=huge \
            --enable-multibyte \
            --enable-rubyinterp \
            --enable-pythoninterp \
            --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \
            --enable-python3interp \
            --with-python3-config-dir=/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu \
            --enable-perlinterp \
            --enable-luainterp \
            --enable-gui=gtk2 --enable-cscope --prefix=/usr --enable-fontset

   4.编译,路径要看readme里的版本号

    make VIMRUNTIMEDIR=/usr/share/vim/vim80

   5.安装vim

    sudo apt-get install checkinstall

    sudo checkinstall

3.安装clang和gcc/g++等软件

    1.安装clang

     去http://apt.llvm.org/看地址,用以下命令安装

sudo wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -

      sudo apt-add-repository "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.9 main" #修改/etc/apt/sources.list.d/additional-repositories.list文件,添加这个地址

      sudo apt-get update

      sudo apt-get install clang-3.9 lldb-3.9 libclang-3.9-dev

     网站上也有完整安装包的命令

      sudo apt-get install clang-4.0 clang-4.0-doc libclang-common-4.0-dev libclang-4.0-dev libclang1-4.0 libclang1-4.0-dbg libllvm-4.0-ocaml-dev libllvm4.0 libllvm4.0-dbg lldb-4.0 llvm-4.0 llvm-4.0-dev llvm-4.0-doc llvm-4.0-examples llvm-4.0-runtime clang-modernize-4.0 clang-format-4.0 python-clang-4.0 lldb-4.0-dev liblldb-4.0-dbg

2.安装gcc/g++

# Install GCC 4.9

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo apt-get update

sudo apt-get install g++-4.9

# Prefer 4.9 to other versions

sudo update-alternatives --remove-all g++

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 50

4.安装universal-ctags

    1.下载

git clone https://github.com/universal-ctags/ctags.git

    2.安装autotools

sudo apt-get install autoconf automake pkg-config

3.配置,编译,安装

     ./autogen.sh

./configure --prefix=/usr

     make

     sudo checkinstall 

4.使用

     1. 默认配置文件是~/.ctags,目前如下,所以直接跑ctags就可以了

# Basic options
--sort=foldcase
--tag-relative=yes
--file-scope=yes
--fields=+l
--exclude=.git
--extra=+qf
--C-kinds=+pqxzL
--recurse=yes
#--langmap=c:.c.h

2. --list-kinds=c可以查看C语言支持的tag类型;--fields=+ 可以添加每个tag项里的拓展字段,说明更多信息

3. vim -t tags打开tag文件; ptag 标签项名打开窗口预览; pclose关闭; :tags显示当前tag栈; :tag跳转到tag栈中下一个项; CTRL+]跳转到定义处; CTRL+t跳转到tag栈中上一个项,gd或gD跳转到局部变量定义处

4. 其他跳转指令: CTRL + o跳转到上一处跳转点; CTRL+I跳转到下一处跳转点; :jumps列出跳转栈; g;跳转到上一个修改点; g,跳转到下一个修改点; :changs列出修改栈

     

5.v,V,CTRL+v选择相应的光标所经过的区域,:disp命令显示寄存器内容;寄存器名字前边都有","%是当前文件名,"*是系统剪切板的数据,“+是选中的数据;插入模式下CTRL+R后接寄存器名称,即可粘贴内容;命令模式中输入CTRL-R";CTRL+^会切换到上一个文件,即"#寄存器的内容

6.移动命令w,e,ge,b分别移动到下一个单词头,当前单词尾,上一个单词尾,上一个单词头。大写的W,E,gE,B则认为空白字符是分隔单词的,而非iskeyword定义的单词字符

7. 正常模式CTRL+R是redo,和U相反;/CTRL+R CTRL+W会搜索当前光标所在的单词,CTRL+R CTRL + W也可以在命令模式下和其他的命令搭配,比如ptag;[[为上一个函数体,]]为下一个函数体;diw或daw会剪切括号内或包含括号的单词

新环境配置与使用Vim指南的更多相关文章

  1. OpenCV On Android环境配置最新&最全指南(Android Studio篇)

    本文是从本人简书上搬运而来,属本人原创,如有转载,请注明出处:http://www.jianshu.com/p/6e16c0429044 简介 本文是<OpenCV On Android环境配置 ...

  2. OpenCV On Android环境配置最新&最全指南(Eclipse篇)

    简介 本教程是经过本人多次踩坑,并参考网上众多OpenCV On Android的配置教程总结而来,尽希望能帮助学习移动图像处理的朋友们少走弯路.这也是本人第一次在简书上发布文章,如有不足,希望各位d ...

  3. wordpress nginx详细环境配置安装命令和相关问题解决

    很详细的有关WordPress和nginx的环境配置安装操作步骤 指南,适合新手一步步按照命令操作安装WordPress并运行在生产环境中. 操作步骤转载自: Heap Stack blog(ping ...

  4. Windows下OpenFOAM开发及使用环境配置指南 (2)【转载】

    转载自:http://openfoam.blog.sohu.com/158751915.html *************************************************** ...

  5. 第6天【egrep、bash环境配置及脚本、vim编辑器】

    bash环境配置及脚本(02)_recv bash环境配置及脚本(02)_recv bash环境配置文件: 按生效范围划分,存在两类: 全局配置: /etc/profile /etc/bashrc 个 ...

  6. 【vim环境配置】解决ubuntu上 由YouCompleteMe插件配置不当引起的 自动补全失效的问题

    背景: 由于不可抗拒的原因,学习环境由之前centos的一台机器上,变成了ubuntu的一台机器上.因此,需要在新的ubuntu的机器上再配置一次vim环境.算起来这已经是第三次配置vim环境了(ma ...

  7. 【vim环境配置】详细实录

    [写在前面] 以下的所有内容主要参照: https://github.com/yangyangwithgnu/use_vim_as_ide . 原blog作者写的非常用心,建议大家都去看看.(个人觉得 ...

  8. 【原创】LoadRunner Java Vuser开发环境配置指南

    1 编写目的 本文主要介绍Java运行环境的配置,同时通过编写HelloWorld程序,讲解在LoadRunner下如何开发简单的Java Vuser脚本.关于Java语言的深入学习,大家可以参考其他 ...

  9. myeclipse 环境配置优化,不断跟新整理中

    myeclipse 环境配置,不断跟新整理中1.General --->Workspace ---> UTF-8 工作环境编码2.General --->Editors --> ...

随机推荐

  1. 【HDOJ】【3530】Subsequence

    DP/单调队列优化 题解:http://www.cnblogs.com/yymore/archive/2011/06/22/2087553.html 引用: 首先我们要明确几件事情 1.假设我们现在知 ...

  2. Ubuntu 字体修改以及字体的相关知识 分类: ubuntu 2014-06-19 21:46 81人阅读 评论(0) 收藏

    Ubuntu chrome 字体修改 打开任意一张含有输入框的网页,比如Google首页,然后右键点击"搜索框"会拉出一个菜单,我们这样选: 拼音检查选项==>语言设置==& ...

  3. 【转载】C++编译出现 error C2664: 不能将参数 2 从“const char [5]”转换为“LPCTSTR”解决办法。

    编译程序的时候出现这样的错误,原因是在新建MFC项目的时候,设置字符集Unicode的属性. 解决方法一: 在VC2010的解决方案管理器窗口内,右击你的项目“项目”,然后选“属性”(最后一项),再点 ...

  4. livevent的几个问题

    关于libevent的几个问题 1.他到底是如何保证这个套接字有效的 主线程去断开关闭套接字,主线程去调用buffwrite,在子线程收到客户端断开时,主线程延迟1分钟释放,这样保证子线程操作完该so ...

  5. 怪物AI(复习)

    怪物AI执行 //-----------------------------------------------主动攻击---------------------------------------- ...

  6. 社区O2O,才是未来10年移动互联网最赚钱的项目

    原文:http://blog.sina.com.cn/s/blog_70e76a920102uyoi.html 8月12日  上海  晴 从深圳回来后,一直和郭老师探讨一个问题:新媒体营销未来最大的市 ...

  7. Python中的元类和__metaclass__

    1.什么是元类 元类让你来定义某些类是如何被创建的,从根本上说,赋予你如何创建类的控制权.可以把元类想成是一个类中类,或是一个类,它的实例是其它的类.当某个类调用type()函数时,你就会看到它到底是 ...

  8. pthread_barrier_init,pthread_barrier_wait简介

    pthread_barrier 系列函数在<pthread.h>中定义,用于多线程的同步,它包含三个函数: --pthread_barrier_init() --pthread_barri ...

  9. 关于trello的分享

    https://www.the5fire.com/trello-share.html 昨天在公司跟同事分享了关于trello的使用,这里也分享给大家.比较简单,重点是让你知道有这么个东西.tangle ...

  10. git的安装使用和代码自动部署

    1.安装 http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html http://www.cnblogs.com/zhcncn ...