macos下vim及插件部署

macos下vim及插件配置

linux/unix/macos下vim编辑器用的挺多的,如果不进行一些配置工作,使用效率远远低于一些通用的ide,磨刀不误砍柴工,稍加配置就可以把vim打造成写代码神器,本文以常见问题为导向组织。

问题背景

在阅读代码的时候发现某个函数或结构,如果想找到它原来定义,或者找到其他调用的地方,ide中可以选中字段右键轻松搞定。在vim中,我之前都是用查找的办法,效率不高,如果当前文件中有很多相同关键字,那么查找很麻烦,而且也只能在当前文件中查找,如果定义在别的文件中,则需要找到包含这个定义的文件,通常是用grep找到包含字段的文件再打开这些文件一个一个查看,很麻烦。
解决这个问题的插件有:

  • cscope
  • ctags

cscope是ctags的增强版,两个都安装就行了,手动安装不方便,网上有插件管理的工具,这时会引入新的问题,找一个可以一键安装所有常用插件的工具:

  • pathogen
  • vbundle

尝试了这两个工具发现需要各种配置也不方便,然后找到了网上别人的通用配置,直接考过来就好了。

插件配置

于是找到了网上某人的vim配置,按照上边的步骤就可以完成基本配置,用taglist可是实现左边栏显示结构和函数列表,需要注意的是ctags如果是安装的GNU ctags安装路径在/usr/bin/ctags,则会报错,网上给出的解释是:

“Q. When I try to open the taglist window, I am seeing the following error message. How do I fix this problem?
Taglist: Failed to generate tags for /my/path/to/file
tags: illegal option — -^@usage: ctags [-BFadtuwvx] [-f tagsfile] file …

A. The taglist plugin will work only with the exuberant ctags tool. You cannot use the GNU ctags or the Unix ctags program with the taglist plugin. You will see an error message similar to the one shown above, if you try use a non-exuberant ctags program with Vim. To fix this problem, either add the exuberant ctags tool location to the PATH environment variable or set the ‘Tlist_Ctags_Cmd’ variable.”

需要下载exuberant ctags,下载源码自行编译安装,打开~/.vimrc加入:

let Tlist_Auto_Open=1                                                           

Tlist侧边栏自动打开。

函数定义和调用跳转

进入你所在的项目目录,编写脚本:

#!/bin/sh 
 find  . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.files
 cscope  -bkq -i cscope.files
 ctags  -R 

运行,用于生成cscope和ctags索引文件,vim打开文件,操作:

  • ctrl+] 跳转到定义
  • ctrl+T 跳回
  • ctrl+ww 光标在侧边栏和代码栏切换

满足了基本需求

打开文件定位到光标上次所指的位置

打开~/.vimrc加入:

au BufReadPost * if line("'\"") > 0|if line("'\"")  <=line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif

至此完成vim基本配置,满足基本需求,还有很多小技巧等着你去尝试,网上有很多相关资料

你可能感兴趣的:(插件,编辑器)