linux之vim配置

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

代码自动补全和代码跳转阅读,应该是作为程序员最常用的功能之一了,具体二者是指什么我就不解释了。微软的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文件中这样就不是好的做法了。暂时不知道这个问题是由于我自己配置错误还是程序没有 实现。

相关文章
|
2月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
243 7
|
3月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
3月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
102 9
|
3月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
107 5
|
4月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
133 2
|
4月前
|
Unix Linux 开发工具
Linux Vim的 命令大全
Linux Vim的 命令大全
56 0
|
4月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
1025 3
|
4月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
4月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
161 0
|
4月前
|
存储 运维 搜索推荐