linux之vim配置

代码自动补全和代码跳转阅读,应该是作为程序员最常用的功能之一了,具体二者是指什么我就不解释了。微软的Visual Studio就是靠这两样必杀技牢牢占据着广大windows程序员的心(这里面要有强大的VS插件Visual Assistant X一份功劳)。。。但是Linux程序员其实更幸福,不花钱就能搞定这两大功能。

    从本质上说,这二者的实现都依赖于一样东西:tag。tag就是程序中的关键词,在C++中主要包括:变量、函数名、类名等。代码自动补全 实际上是 tag的匹配(例如,程序员输入cla时,由于存在class这个c++的tag,就可以用class匹配cla);代码跳转阅读实际上是tag的查找 (例如,程序员要查找一个函数func(),只需要在别的文件中寻找这个func这个tag的位置即可)。

    

     【准备】

    我现在的系统是Ubuntu Desktop 10.04 LTS版本。当然,一切工作的前提是你能上网,而且配置好了一个可用的源。

    1. 安装Vim和Vim基本插件

    我们需要首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可:

    sudo apt-get install vim vim-doc vim-scripts

    其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。

    2. Vim配置文件

    Vim强大的功能,其来源基本上就两个地方:插件,以及配置文件。

    上面已经下载了Vim的基本插件,下面说一下Vim的基本配置。Vim本身的系统配置文件夹是在/usr/share/vim/和/etc /vim /两个文件夹下,我们一般不要去改变这些,改了以后不容易恢复。我们需要在用户文件夹下建立自己的配置文件。假设用户的名字是user。进入用户文件夹 (/home/user/)之后,用gedit新建一个名叫.vimrc的文件:

    gedit .vimrc

    之所以用gedit是因为vim里面不能拷贝粘贴,为了方便大段大段的文字粘贴,还是先用gedit吧。。。

    然后把下面的文字拷贝进这个文件之后保存:

    ” This line should not be removed as it ensures that various options are

     ” properly set to work with the Vim-related packages available in Debian.

     runtime! debian.vim

    ” Uncomment the next line to make Vim more Vi-compatible

     ” NOTE: debian.vim sets ‘nocompatible’. Setting ‘compatible’ changes numerous

     ” options, so any other options should be set AFTER setting ‘compatible’.

     set nocompatible

    ” Vim5 and later versions support syntax highlighting. Uncommenting the

     ” following enables syntax highlighting by default.

     if has(“syntax”)

     syntax on

     endif

    ” detect file type

     filetype on

     filetype plugin on

    ” If using a dark background within the editing area and syntax highlighting

     ” turn on this option as well

     set background=dark

    ” Uncomment the following to have Vim jump to the last position when

     ” reopening a file

     if has(“autocmd”)

     au BufReadPost * if line(“‘\\”") > 1 && line(“‘\\”")

     let OmniCpp_MayCompleteScope = 1 ” autocomplete with ::

     let OmniCpp_SelectFirstItem = 2 ” select first item (but don’t insert)

     let OmniCpp_NamespaceSearch = 2 ” search namespaces in this and included files

     let OmniCpp_ShowPrototypeInAbbr = 1 ” show function prototype in popup window

     let OmniCpp_GlobalScopeSearch=1

     let OmniCpp_DisplayMode=1

     let OmniCpp_DefaultNamespaces=["std"]

    (前几行就是提供了C++中的./->/::等操作符的提示和自动完成)。

    6. 自动补全功能的测试

    C++开发中经常会用到C++标准库的代码,因此STL的自动补全很重要。可以下载一份C++标准库的源代码来测试一下自动补全功能。

    sudo apt-get install build-essential

    然后在/usr/include/c++下就可以找到标准库的头文件了。在此文件夹下生成tags文件,并添加到vim的配置文件中(不再重复上面的内容),然后在编程的时候就可以使用自动补全功能了。

    下面展示了一张vector的函数补全的效果图:

    vector_auto_complete

    PS:在自动补全的点,Vim必须知道可能补全的定义。比如说,在namespace std命名空间下的变量和函数,必须要用using namespace std;暴露出来,否则是不能补全的。在.cpp文件中还可以,在.h文件中这样就不是好的做法了。暂时不知道这个问题是由于我自己配置错误还是程序没有 实现。

时间: 2024-05-09 06:12:37

linux之vim配置的相关文章

超级强大的vim配置(vimplus)

From : http://www.cnblogs.com/highway-9/p/5984285.html From : http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html From : http://www.cnblogs.com/youxia/p/linux002.html From : http://blog.csdn.net/namecyf/article/details/7787479 最近在重新配置Vim,也在

Linux系统Vim编辑器如何安装YouCompleteMe插件?

Linux系统Vim编辑器如何安装YouCompleteMe插件?  编译配置选项: /configure --with-features=huge --enable-pythoninterp --enable-python3interp --enable-luainterp --enable-multibyte --enable-sniff --enable-fontset 在我的机器上装有python2.7.5 和 python3.3, 但加了enable-python3interp参数依然

Linux系统静态网络配置

  Linux系统静态网络配置 启动Linux系统后,首先查看机器的网络配置: 1.ifconfig了解网卡信息,查看ethX 2.sudo vim /etc/network/interfaces 配置网络参数,如: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address (ip地址) netmask (子网掩码) geteway (网关) 3.然后配置DNS:sudo vim /etc/resolv.con

whitespace-关于linux中vim插件的问题.

问题描述 关于linux中vim插件的问题. 本人使用了bronson/vim-trailing-whitespace和nicoraffo/conque两个插件. 一个是标记无效空格,一个是在vim中调出终端. 于是就出现调出终端后会在终端分屏中红色高亮无效空格. 请问如何不在终端中标记无效空格.并且标记无效空格的插件我还非常想用. 在whitespace中有g:extra_whitespace_ignored_filetypes选项. 此选项可以对相应的文件类型忽略.但是我不知道conque调

Vim配置和插件管理

这篇文章主要是记录vim配置中各个配置项的含义并且收藏一些常用的插件及其使用方法. 1. Vim配置 目前我的vimrc配置放置在:https://github.com/javachen/snippets/blob/master/dotfiles/.vimrc,其中大多数用英文注释. 2. 插件管理 使用 pathogen来管理插件 项目地址: https://github.com/tpope/vim-pathogen 安装方法: $ mkdir -p ~/.vim/autoload ~/.vi

TaoBeier 的 Vim 配置,支持 Python、Javascript、Golang 等

这是 TaoBeier 精心打造的 Vim 环境配置,支持 Python.Javascript.Vue.js.Golang 和 Markdown. 安装 你需要一个有 Python 支持的 Vim 版本.请使用 vim --version | grep +python 来检查确认. 依赖 Debian/Ubuntu 平台 sudo apt-get install python vim exuberant-ctags git sudo pip install dbgp pep8 flake8 py

为Bash和VIM配置一个美观奢华的状态提示栏

为Bash和VIM配置一个美观奢华的状态提示栏 本文将详细介绍在Mac环境下安装powerline的方式 什么是powerline 如果你不是通过搜索引擎搜到这篇文章的话,也许你还没有听说过powerline.而你又恰巧是个*UNIX党,或者VIM党的话,那么强烈建议你了解并使用powerline.powerline是一个stateless status line,即一个全局状态/提示栏.如果你成功为你的bash,Terminal,iTerm2,VIM配置上powerline的话,那么效果将会是

PHP工程师VIM配置分享_php技巧

关于我的vim配置 经常在服务器上写代码,一个朋友提供了关于他的vim配置,在此分享给大家. 界面效果图: .vimrc 内容如下  "========================================================================= set nocompatible " be iMproved, required filetype off " required " git clone https://github.c

Linux系统下配置多个IP及检测IP冲突的方法

配置一系列IP 在linux下,配置多个IP的话,通常是eth0.0.. eth0.1 ..eth0.x等等, 那么如果要配置大量的IP呢,这么配置也是可以的,但是繁琐,虽说这种情况很少. 对于添加大量IP,有一定规定的,RHCE / CentOS 系统提供绑定一个IP范围快速的方法让我们不再需要创建大量的文件,节省时间.如: 代码如下: # vim /etc/sysconfig/network-scripts/ifcfg-eth0-range0 IPADDR_START=10.1.0.100