首页 > centos下将vim配置为强大的源码阅读器

centos下将vim配置为强大的源码阅读器

每日杂事缠身,让自己在不断得烦扰之后终于有了自己的清静时光来熟悉一下我的工具,每次熟悉源码都需要先在windows端改好,拖到linux端,再编译。出现问题,还得重新回到windows端,这个过程太耗费时间。

vim作为唯一能够和windos 下的source insight一争高低的linux端的源码阅读器,只要将它短时间内合理利用起来还是能够为今后代码调试节省很多时间:

先展示一下最终效果图

在这里插入图片描述

改配置能够支持80%的我们在source insight中的功能呢,因为这里我还有部分插件未完全安装(代码自动补全,书签添加,编译调试配置)

这里主要安装插件如下

  • ctags 为整个源码目录增加tag,这样我们可以在代码内跳转至变量以及函数的定义和声明

    安装 centos下通过yum install ctags,ubuntu下通过sudo apt-get install ctags,或者通过源码编译安装,下载https://sourceforge.net/projects/ctags/源码包,解压后进入目录执行make && make install

    进入源码目录,执行ctags -R *会对当前源码目录中的文件递归生成tag

    快捷键使用

    ctrl + ]跳转至函数,变量定义或者声明

    ctrl + w + ]新开一个窗口,并跳转至函数、变量定义或声明

    ctrl + o或者ctrl + t返回上次浏览的标签位置

    ]]调到下一个标签

    [[调到上一个标签

  • taglist 管理文件的变量符号,同时可以直接跳转过去

    安装 直接下载taglist 放置到~/.vim目录下,直接执行unzip filename就可以

    然后在~/.vimrc文件中加入配置如下(这里~/.vimrc是每个用户目录下会拥有一个这样的配置文件)

     19 set tags=tags20 set tags+=./tags "add current directory's generated tags file21 let Tlist_Show_One_File=122 let Tlist_Use_Right_Window=023 let Tlist_Exit_OnlyWindow=124 let Tlist_Process_File_Always=1
    

    最后的配置效果如下,在一般模式下输入:Tlist即可显示,通过ctrl+w进行窗口跳转。选择到了变量按回车之后,右侧代码栏可以直接跳转到指定变量处在这里插入图片描述

  • winManager管理器配置

    主要用来管理文件目录树

    安装直接下载winManager,放到~/.vim目录下,直接执行unzip winmanager.xxx.zip

    然后在~/.vimrc中加入配置如下

     let g:AutoOpenWinManager = 0 "默认打开winmanagerlet g:winManagerWindowLayout = "TagList|FileExplorer" "管理器可以与哪些插件共同显示let g:winManagerWidth = 70 "管理器的窗口样式宽度
    

    再更加详细的配置可以进入vim一般模式,输入:help winmanager查看其他配置的设置

    进入vim一般模式,输入:VMToggle即可进入

    最后配置如下:

    在这里插入图片描述

关于vim的快捷键这里不多说,分享一篇比较全面的vim使用以及配置笔记如下:

https://blog.csdn.net/wdscq1234/article/details/51815531

更多相关:

  • ue4商城资源 Car Configurator Template 汽车配置器模板 ue4商城资源 Car Configurator Template 汽车配置器模板 Unreal Engine虚幻游戏引擎素材资源 Unreal Engine Marketplace –Car Configurator Template 4...

  • 一直在尝试一些写代码方便,阅读代码也很方便的工具,因为使用的是Mac,所以阅读源码上面sourceInsight就没办法用了。 从vscode – sublime – clion 想要可配置性强一点,软件轻一点,也能提供足够的便捷操作,不论是写代码还是快速索引源码,都希望在检索上面节省足够的时间。 vscode 和 sublime...

  • 使用ubuntu(18.04) 作为软路由器连接互联网 背景: 最近要用ubuntu机器作为中继路由,需要配置一下,但是内网外网网上找了一圈,五花八门的,照着做没有一个靠谱的,遇到的问题也没有任何说明,遂写一篇教程以记录一下 功能说明: 简单来说,就是用其他机器的网络上互联网, 比如可以用其他机器的wifi上网等等场景 示意...

  • Spring-Boot 攻略 day01 spring-boot 一. 基本配置加运行 1. 导入配置文件(pom.xml 文件中) org.springframework.bootspring-boot-starter-parent

  • 上一次我在Ubuntu 16.04.3 LTS上从源码安装了Go,当时最新的版本是1.10,参见我之前的博文 https://blog.csdn.net/tao_627/article/details/79375950 这里,我想将Go更新到现在的最新版本,下面是我的折腾过程,很简单,只需要替换Go语言的源码文件就可以了。 从G...

  • Mastering Algorithm with C是一本非常经典和独具个性的算法书,主要是从程序员的角度,对算法领域的基本内容,通过C语言进行源码实现,其附带的源码非常详细,对初接触这个领域的程序员很有参考价值.我特地将该书源码的使用方法做了笔记,放在这样,以便日后参考. 下面是该书的封面: 1.首先从OReilly...

  • 进入ceph源码包下载ceph相关的rpm包和tar包 我们下载的是ceph-12.1.1-0.el7.src.rpmceph L版本的rpm包 执行命令rpmbuild --rebuild ceph-12.1.1-0.el7.src.rpm 等待它执行到configuring done之后就强行终止 -- Found cytho...

  • spring源码开始的时候是通过SVN来管理代码的,后来是转移到github上管理源码的,可以通过在github上直接下载spring的源码。 下面讲解如何通过在eclipse上的插件git来获取spring源码的 主要步骤如下: 1、首先需要在Eclipse中安装git的插件,在Eclipse-->Help-->Eclipse Ma...

  • /*清空控制台信息*/function clearConsole() {console.clear();let fontFamily = "微软雅黑";let fontSize = 40;let fontWeight = "bold";let backgroundColor = "green";console.log("%c有...

  •       现在时刻