Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用。一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能。一般流程都是下载需要的工具,然后在vimrc文件中配置加载工具选项,一直这么用也没觉得啥。但最近发现通过vundle工具可以很方便的管理多个插件,非常方便,介绍给大家。

1.安装vim

./configure --prefix=/usr \
--with-features=huge \
--enable-pythoninterp \
--enable-rubyinterp --enable-luainterp \
--enable-multibyte --enable-sniff --enable-fontset \
--with-features=huge \
--enable-pythoninterp \
--enable-rubyinterp \
--enable-luainterp \
--enable-multibyte \
--enable-sniff \
--enable-cscope make
sudo make install

2.安装配置vundle
(1).vundle代码全部托管在git上,首先下载源码

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

(2).配置.vimrc文件

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
Bundle 'Valloric/YouCompleteMe'
Bundle 'ctrlpvim/ctrlp.vim'

每个Bundle声明一个要用Vundle安装的插件,上面的内容配置了插件YouCompleteMe和ctrlp.vim。
(3).使用vundle
通过命令:BundleList可以查看我们配置的插件,通过命令:BundleInstall,可以安装所有BundleList显示的插件,这个过程是全部由vundle代劳。如果需要删除插件,先在~/.vimrc中移除插件声明,然后执行命令:BundleClean即可。vundle管理插件的命令如下:
:BundleList -列举出列表中(.vimrc中)配置的所有插件
:BundleInstall -安装列表中全部插件
:BundleInstall! -更新列表中全部插件
:BundleSearch foo -查找foo插件
:BundleClean -清除列表中没有的插件

3.配置cscope/ctags/taglist
(1).安装配置Ctags
下载源码安装,在源码目录通过命令ctags -R * 生成索引文件,如果只针对部分文件类型,可以先通过find命令输出文件列表,然后通过ctags -L参数来生成标签,比如:

find . -name "*.h" -o -name "*.c" -o -name "*.cc" -o -name "*.ic" > tags.files
ctags -L tags.files

(2).安装配置Taglist
Taglist依赖于ctags,实质只包含几个配置文件,将taglist.txt和taglist.vim拷贝到指定目录

$cd taglist/
$cp doc/taglist.txt ~/.vim/doc
$cp plugin/taglist.vim ~/.vim/plugin/

(3).关联ctags和taglist
在.vimrc中加入如下代码:

let Tlist_Ctags_Cmd="/usr/bin/ctags"

vim中执行:Tlist可以在tag列表则表示安装ok了。

(4).安装配置cscope

find . -name "*.h" -o -name "*.c" -o -name "*.cc" -o -name "*.ic" > cscope.files
cscope -bkq -i cscope.files

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

(5).常用快捷键

cs add path/cscope.out (加载cscope索引文件)
cs find c|d|e|f|g|i|s|t name

s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
t: 查找指定的字符串
e: 查找egrep模式,相当于egrep功能,但查找速度快多了
d: 查找本函数调用的函数
c: 查找调用本函数的函数
f: 查找并打开文件,类似vim的find功能
i: 查找包含本文件的文件

(6).设置快捷键映射

nmap ffs :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap ffg :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap fft :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap ffe :cs find e <C-R>=expand("<cword>")<CR><CR>

4.vim常用的快捷键
(1)跳转
% 跳转到相配对的括号
$ 跳转至行尾
0 数字0,跳转至行首
[] 跳往上一个函数的结束大括号 (在函数中间时,调到函数头)
][ 跳往下一个函数的结束大括号 (在函数中间时,调到函数尾)
ctrl+b 向后翻一页
ctrl+f 向前翻一页
gg 跳转到文件头
GG 跳转到文件尾

(2).编辑
set cursorline (显示横线,方便看清楚在哪一行)
set shiftwidth=2 (块操作,选中块,按下>表示向右移动2列,按下<表示向左移动2列)
Ndd (N为数字,表示删除N行,类似剪切功能)
Nyy (N为数字,表示复制N行)

(3).多标签
:vsplit (垂直切分窗口,可以参考代码)
ctrl+w (窗口切换)

(4).常用快捷键
Ngt (切换到第几个标签)
:tabc (关闭当前的tab)
:tabo (关闭所有其他的tab)
:tablast (最后一个tab)
:tabfirst (第一个tab)
:tabnext (下一个tab)
:tabpre (上一个tab)
gt,gT (在tab之间切换)

(5).快捷键映射

nmap ff1 1gt
nmap ff2 2gt
nmap ff3 3gt
nmap ff4 4gt
nmap ff5 5gt
nmap ff6 6gt
nmap ff7 7gt
nmap ff8 8gt
nmap ff9 9gt
nmap ffc :tabc<CR>
nmap ffo :tabo<CR>
nmap fff :tabfirst<CR>
nmap ffl :tablast<CR>
nmap ffn :tabnext<CR>
nmap ffp :tabpre<CR>

(6).其它
:so ~/.vimrc (动态加载vimrc修改)
:shell (vim与shell切换)
:exit (返回vim)

vim+vundle配置的更多相关文章

  1. Vim Vundle 插件管理器

    /********************************************************************** * Vim Vundle 插件管理器 * 说明: * 话 ...

  2. Vim 基本配置

    1.关闭vi的一致性模式 set nocompatible 2.配置backspace的工作方式 set backspace=indent,eol,start 3.显示行号 set number 4. ...

  3. vim环境配置

    ctags ctags对浏览代码非常的方便,可以在函数.变量之间跳来跳去等等. 下载 下载路径:http://ctags.sourceforge.net/ 我已经下载过了,路径:/home1/fuju ...

  4. Vim Vundle YouCompleteMe

    /************************************************************************************** * Vim Vundle ...

  5. vim 基础配置

    最近在使用 python 搞服务, 简单配置了一个 vim, 配置了自动补全以及背景色 .(ps:搜狗输入法快捷键占用真是太坑爹,改用谷歌输入法,世界安静了) 具体配置如下: 一. 安装插件 1.克隆 ...

  6. VIM的配置以及插件管理

    VIM的配置详细说明参考:http://www.ruanyifeng.com/blog/2018/09/vimrc.html 此外VIM的插件管理比如 Vundle可以参考这个博客: https:// ...

  7. 源码安装Vim并配置YCM自动补全插件

    Compiling Vim from source is actually not that difficult. Here's what you should do: 1. Install all ...

  8. [转] vim自定义配置 和 在ubnetu中安装vim

    Ubuntu 12.04安装vim和配置   问题: ubuntu默认没有安装vim,出现: jyg@ubuntu:~$ vim test.cThe program 'vim' can be foun ...

  9. 为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 alias vi='vim'此时,经过上面配置已经可以显示语法高亮了

    为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 aliasvi='vim'此时,经过上面配置已经可以显示语法高亮了

随机推荐

  1. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  2. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  3. 清空Github上某个文件的历史版本

    title: 清空Github上某个文件的历史版本 author: 青南 date: 2015-01-08 16:04:53 categories: [经验] tags: [Github,histor ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(55)-Web打印

    系列目录 前言 1.本次主要弥补工作流,用户表单数据的打印 2.使用JQprint做为web打印插件 3.兼容:FireFox,Chrome,IE. 4.没有依赖也没有配置,使用简单 代码下载:htt ...

  5. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 3.安装Clus ...

  6. FFmpeg + SoundTouch实现音频的变调变速

    本文使用FFmpeg + SoundTouch实现将音频解码后,进行变调变速处理,并将处理后的结果保存为WAV文件. 主要有以下内容: 实现一个FFmpeg的工具类,保存多媒体文件所需的解码信息 将解 ...

  7. C#制作简易屏保

    前言:前段时间,有个网友问我C#制作屏保的问题,我瞬间懵逼了(C#还可以制作屏保!).于是我去查阅相关资料,下面把C#如何制作屏保的过程及我学习过程的心得也记录下来,希望对需要的人能有帮助. 基本思路 ...

  8. 15个C++项目列表

    实验楼上有很多C++的实战项目,从简单到进阶,学习每个项目都可以掌握相应的知识点. 如果你还是C++新手的话,那么这个C++的项目列表你可以拿去练手实战开发,毕竟学编程动手实践是少不了的! 如果你不知 ...

  9. mac好用的markdown编辑器

    在刚开始接触markdown的时候,就被吸引了.此后一直在找贴心的好用的markdown编辑器.印象笔记和马克飞象配合着用也是挺好的,唯一的缺点就是比较封闭,发个笔记的链接给同学,还得注册才能看,导致 ...

  10. Hibernate 系列 学习笔记 目录 (持续更新...)

    前言: 最近也在学习Hibernate,遇到的问题差不多都解决了,顺便把学习过程遇到的问题和查找的资料文档都整理了一下分享出来,也算是能帮助更多的朋友们了. 最开始使用的是经典的MyEclipse,后 ...