如何将vim打造成Linux下的source insight

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将vim打造成Linux下的source insight相关的知识,希望对你有一定的参考价值。

参考技术A 众所周知,windows下的sourceinsight是阅读项目代码的神器,其神奇之处在于可以根据当前鼠标所指的函数名或者变量,来进行全局搜索该函数或变量的定义,而且还会显示出哪些文件中同样含有该函数定义,另外可以显示当前文件中的变量和函数列表。因此特别适合在windows下用sourceinsight来进行大项目代码阅读和管理。但是Linux下不能安装sourceinsight,而vim和Emacs是linux下编辑代码的神器,其vim的功能可以通过一系列的插件来扩展,很方便,且都是开源的,通过一下午的折腾,终于完成了简单而又强大的vim环境搭建,当然自己为了培养码农能力,并没有安装代码补全的功能插件,折腾之后的效果图如下:我用的ubuntu14.03LTS版本,之所以没有用14.10是因为国内的很多软件源都不支持该版本的升级,当你安装好了ubuntu之后,默认已经安装了vi,这时候,你自己先得安装vim,在终端输入以下命令即可:sudoapt-getinstallvim这时,你可以用以下命令来检测是否安装成功:vim--version然后就是安装插件了,这里主要参考了以下三个博客文章:将你的Vim打造成轻巧强大的IDE改造vim编程sourceinsightVimTaglist插件的安装与配置安装插件之前,首先要安装ctags,因为插件Taglist是以tags文件为基础的,需要ctags来生成tags文件。ubuntu下安装ctags只要在终端输入以下命令即可:sudoapt-getinstallctags然后,我是按照以下顺序来安装vim的插件的:Taglist插件Taglist插件的效果就如上图左上角窗口,该窗口显示当前文件中的变量和函数,首先去网上地址下载Taglist插件,下载之后解压taglist_45.zip,里面有两个目录,分别为doc和plugin,分别将两个目录下的文件复制到vim目录里面的doc和plugin即可,这个操作你需要先找到解压的文件,然后在终端输入:cpdoc/taglist.txt/usr/share/vim/vim74/doc/cpplugin/taglist.vim/usr/share/vim/vim74/plugin/同时你可以设置自己的vim参数,在终端输入:vim~/.vimrc在该文件中输入://语法高亮syntaxon//显示行号setnumber//自动缩进与C语言风格缩进setautoindentsetcindent//缩进宽度settabstop=4setsofttabstop=4setshiftwidth=4//建议开启expandtab选项,会自动将tab扩展很空格,代码缩进会更美观setexpandtab//switchcase对齐风格setcino=g0,:0//设置taglistletTlist_Show_One_File=1//只显示当前文件的tagsletTlist_WinWidth=30//设置taglist宽度letTlist_Exit_OnlyWindow=1//tagList窗口是最后一个窗口,则退出VimletTlist_Use_Left_Window=1//在Vim窗口左侧显示taglist窗口2.SrcExpl插件该插件就是可以进行搜索功能,是如图中下面的框,可以去网上地址进行下载,安装过程跟Taglist插件一样,将两个目录下面的文件复制到vim的doc和plugin下面即可,然后修改自己的vim下的.vimrc文件,该如何修改,该开源插件给出了具体例子,可以参考其官方开源地址。3.Trinity插件该插件含有NERD_tree.vim和trinity.vim。NERD_tree是实现图中最右边的功能框。就是实现文件树这个功能,而这个Trinity的文件下有一个trinity.vim,是实现三个功能框快速开关的功能。可以从网上地址进行下载。把这个文件解压后会有NERD_tree.vimtrinity.vim这两个插件,直接复制到vim安装目录下的plugin文件夹下即可,然后再修改/.vimrc文件。如何修改可以参照其官方的github网址。修改完之后的效果就是F8打开关闭所有的功能框,F9打开关闭SourceExplorer功能框,剩下的都是相关的键控制相关的功能框。可以自己定义功能键。F10另一个功能就是更新ctags的内容,如果更改了代码保存后按下F10更新ctags。当然如果再加上setmouse=a就可以再vim下使用鼠标了。这时你先在工程目录下执行ctags-R后,再用vim打开一个文件,按下F8(打开所有的功能框),试一试是不是和sourceinsight一样了。要去到预览框中的文件直接在预览框中双击鼠标,要返回就按空格键。至此,就可以实现如图所示的效果了。

将Vim打造成简单IDE

简介

Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。 使用vim先知道其设计理念是很重要的,有助于记忆,举一反三。

Bram Moolenaar 在 80 年代末购入他的Amiga计算机时,Amiga 上没有他最常用的编辑器vi。Bram 从一个开源的 vi 复制 Stevie 开始,开发了 Vim 的 1.0版本。最初的目标只是完全复制 vi 的功能,那个时候的 Vim 是Vi IMitation(模拟)的简称。

1991 年 Vim 1.14 版被 “Fred Fish Disk #591” ——Amiga 用的免费软体集收录了。1992 年 1.22 版本的 Vim 被移植到了 UNIX 和MS-DOS上。从那个时候开始,Vim 的全名就变成 Vi IMproved(改良)了。

在这之后,Vim 加入了不计其数的新功能。做为第一个里程碑的是 1994 年的 3.0 版本加入了多视窗编辑模式(分割视窗)。从那之后,同一荧幕可以显示的 Vim 编辑文件数可以不止一个了。1996 年发布的 Vim 4.0 是第一个利用图型接口(GUI)的版本。

1998 年 5.0 版本的 Vim 加入了 highlight(语法高亮)功能。2001 年的 Vim 6.0 版本加入了代码折叠、插件、多国语言支持、垂直分割视窗等功能。

2006 年 5 月发布的 Vim 7.0 版更加入了拼字检查、上下文相关补完,标签页编辑等新功能。

2008 年 8 月发布的 Vim 7.2,该版本合并了 vim 7.1 以来的所有修正补丁,并且加入了脚本的浮点数支持.

2010年08月15日,历时两年的时间,vim又发布了vim 7.3这个版本,这个版本修复了前面版本的一些bug,以及添加了一些新的特征,这个版本比前面几个版本来的要更加优秀 十年以后,Vim 终于发布了一个新的大版本 8.0[2] ,结束了从 2006 年 5 月 7 日开始的 7.0 世代。虽然这十年间,Vim 也一直在不断更新,从 7.0 到三年前的 7.4,每隔一两年或两三年就会有个小版本更新,但是这次跨越大版本更新,带来了不少新的特性,据说有一些是从其它的 Vi 流派吸收来的特性。


我的配置

github地址:

VimProfiles:https://github.com/Renxiuhu/VimProfiles

主要插件

插件的作用请自行查询,如下提供我的配置中的插件,其中有些是我自己的github库

Plug 'majutsushi/tagbar'
Plug 'vim-scripts/EasyGrep'
Plug 'Yggdroot/indentLine'
Plug 'vim-scripts/Mark--Karkat'
Plug 'scrooloose/nerdtree'
Plug 'scrooloose/nerdcommenter'
Plug 'vim-scripts/a.vim'
Plug 'https://github.com/skywind3000/asyncrun.vim.git'
Plug 'jlanzarotta/bufexplorer'
Plug 'jiangmiao/auto-pairs'
Plug 'octol/vim-cpp-enhanced-highlight'
Plug 'aceofall/gtags.vim'
Plug 'vim-scripts/YankRing.vim'
Plug 'Shougo/neocomplcache.vim'
Plug 'kien/ctrlp.vim'
Plug 'Renxiuhu/LeaderF'
Plug 'Renxiuhu/vim-colorscheme'
Plug 'Renxiuhu/SearchOnSelectVim'

基本快捷键

按键 含义
F2 关闭当前buffer
F3 退出vim
F4 保存文件
F5 打开文件浏览器
F6 打开tagbar
F7 查找光标位置的词语
F8 替换光标位置的词语
F11 开关代码缩进线
F12 打开文件历史记录
w v 垂直分割当前窗口
w x 水平分割当前窗口
w c 关闭当前窗口
l n 开关行号
f x 打开quickfix窗口
a s 调用AsyncRun执行异步操作
t vim中打开shell
b u 打开buffer list
f u 打开当前文件函数列表
m 标记光标下词语
y s 打开剪切板,查看历史记录
y c 清空剪切板
Ctrl n 新建buffer
Ctrl c 复制
Ctrl x 剪切
Ctrl v 粘贴
Ctrl a 全选
Ctrl \ 注释、反注释
Ctrl p 打开文件搜索
Ctrl Shift - s 搜索光标下变量名或函数名调用位置(需要gtags支持)

其他

具体的配置请参照github库,很简单的.vimrc配置,都有中文注释,一看就懂了。


以上是关于如何将vim打造成Linux下的source insight的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Vim 打造成一个成熟的 IDE

如何用 bash-support 插件将 Vim 编辑器打造成编写 Bash 脚本的 IDE

打造一个强大的ROS开发IDE

将Vim打造成简单IDE

Vim打造成 炫酷 多功能的IDE

如何将你的 neovim 打造成 vscode 一般的 Python IDE?