gvim IDE 环境的使用

Gvim IDE绿色清毒版:打造高效编程环境 Gvim IDE绿色清毒版是一个为解决传统IDE安装复杂和资源消耗大的问题而开发的集成开发环境。它保留了Gvim强大的编辑功能,同时增强了项目管理和插件系统的扩展性,是高级IT从业者和软件开发者的理想选择。本章节将对Gvim IDE绿色清毒版的定义、特点以及如何从传统Gvim过渡到此绿色清毒版进行详细介绍。首先,我们需要了解什么是Gvim。Gvim是 Vim 编辑器的图形用户界面版本,它支持多种操作系统并提供了一个高度可定制的文本编辑环境。 阅读详情

1.ctags的使用

tags指的是函数, 类, 结构体,变量等

cd /home/luzhonghui/vim71

ctags -R  //会在vim71路径下生成一个ctags文件


vim /home/luzhonghui/vim71/src/main.c

在vim中运行命令:set tags=/home/luzhonghui/vim71/tags

该命令将tags文件加入到vim中来


将光标定位到main.c中的任意一个函数,如setmouse( )上,按下ctrl+],此时光标会自动跳到该函数的定义处;


按下ctrl+T,跳回到刚才的函数;

变量, 结构, 宏, 等等, 都可以的;


不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令:ctags -R

使tags文件更新一下, 不过让人感到欣慰的是vim不用重新启动, 正在编写的程序也不用退出, 马上就可以又正确使用<C-]>和<C-T>了.


2.Taglist

特点:

在Vim的一个垂直或水平的分割窗口中显示一个文件中定义的tags(函数, 类, 结构,变量, 等);

当你在taglist窗口中选中一个tag名时, 源文件中的光标会自动跳转到该tag的定义处;

在控制台vim和GUI vim中都可以使用;

可以和winmanager插件一起使用. winmanager插件可以让你同时使用文件浏览器,缓冲区浏览器和taglist插件, 就像一个IDE一样;


vim /home/luzhonghui/vim71/src/main.c

进入vim后,用下面的命令打开Taglist窗口:Tlist


TagList最基本也是最常用的操作:

将光标定位到左边Tag List窗口中的的某一个结构体、变量或者函数上,按下Enter,会自动跳转到其定义处;

如果还不想让源码跳转,但是想看看该tag在源码中完整的表达,可以将光标移到你想要看的tag上,然后按下空格键,在下面的命令栏中,会显示该tag在源码中完整的写法, 而不会跳转到源码处;


注:如果在命令行下输入:Tlist,无反应,可能是需要更新tag文件,回到源码顶层,输入:ctags -R,更新下tag文件,再vim打开某个.c文件,输入:Tlist


3.Winmanager(文件浏览器和窗口管理器)

通过WinManager插件来将TagList窗口和netrw窗口整合起来

netrw窗口:当光标停在某个文件或文件夹的时候, 按下回车, 可以打开该文件或文件夹;


进入"~/vim71"文件夹后运行vim, 然后在vim中运行命令:

e ~/vim71


打开~/vim71/src/main.c, 在normal状态下输入"wm"

其中左上边是netrw窗口, 左下边是TagList窗口, 当再次输入"wm"命令时(注意:还是要在normal状态下)这两个窗口又关闭了;


4.cscope的使用

特点:

无须在厚厚的程序清单中翻来翻去就可以认识一个 C 程序的工作原理;

无须熟悉整个程序就可以知道清楚程序 bug 所要修改的代码位置;

在所有相关的源文件中对一个全局变量改名;

在所有相关的位置将一个常数改为一个预处理符号;


它被设计用来回答以下的问题:
* 什么地方用到了这个符号?
* 这是在什么地方定义的?
* 这个变量在哪里被赋值?
* 这个全局符号的定义在哪里?
* 这个函数在源文件中的哪个地方?
* 哪些函数调用了这个函数?
* 这个函数调用了哪些函数?
* 信息 "out of space" 从哪来?
* 这个源文件在整个目录结构中处于什么位置?
* 哪些文件包含这个头文件?


跟Ctags一样, 要使用其功能必须先为你的代码生成一个cscope的数据库, 在项目的根目录运行下面的命令:

$ cd /home/wooin/vim71/
$ cscope -Rbq
# 此后会生成三个文件
$ ll cscope.*
-rw-rw-r-- 1 wooin wooin 1.1M 2007-09-30 10:56 cscope.in.out
-rw-rw-r-- 1 wooin wooin 6.7M 2007-09-30 10:56 cscope.out
-rw-rw-r-- 1 wooin wooin 5.1M 2007-09-30 10:56 cscope.po.out
# 打开文件, 开始Coding
$ cd src
$ vi main.c
进入vim后第一件事是要把刚才生成的cscope文件导入到vim中来, 用下面的命令:
:cs add /home/wooin/vim71/cscope.out /home/wooin/vim71
上面这条命令很重要, 必须写全, 不能只写前半句:
:cs add /home/wooin/vim71/cscope.out
因为源码是多级目录的, 如果这样写, cscope是无法在子目录中的源码中工作的, 当然, 如果你的源码都在同一级目录中就无所谓了. 如果你要经常用cscope的话, 可以把上面那句加到~/.vimrc中去.


查找函数vim_strsave()的定义, 用命令:

:cs find g vim_strsave

按下回车后会自动跳转到vim_strsave()的定义处. 此时你肯定会说Ctags也可以做到这个呀, 那么下面说的这个Ctags就无法做到了, 我想查找vim_strsave()到底在那些地方被调用过了, 用命令:

:cs find c vim_strsave
按下回车后vim会自动跳转到第一个符合要求的地方, 并且在命令栏显示有多少符合要求的结果

如果自动跳转的位置你不满意, 想看其他的结果, 可以用下面的命令打开QuickFix窗口:
:cw


cscope的主要功能是通过同的子命令"find"来实现的
"cscope find"的用法:
cs find c|d|e|f|g|i|s|t name

0 或 s查找本 C 符号(可以跳过注释)
1 或 g查找本定义
2 或 d查找本函数调用的函数
3 或 c查找调用本函数的函数
4 或 t查找本字符串
6 或 e查找本 egrep 模式
7 或 f查找本文件
8 或 i查找包含本文件的文件

当光标停在某个你要查找的词上时, 按下<C-_>g, 就是查找该对象的定义, 其他的同理.
按这种组合键有一点技巧,按了<C-_>后要马上按下一个键,否则屏幕一闪就回到nomal状态了
<C-_>g的按法是先按"Ctrl+Shift+-", 然后很快再按"g"


5.QuickFix窗口

用下面的命令调出QuickFix窗口:

:cw


在下面的QuickFix窗口中我们可以找到每一个编译错误, 同样你可以用鼠标点击每一条记录, 代码会马上自动跳转到错误处, 你还可以用下面的命令来跳转:

:cn        // 切换到下一个结果
:cp        // 切换到上一个结果
如果你经常使用这两个命令, 你还可以给他们设定快捷键, 比如在~/.vimrc中增加:
nmap <F6> :cn<cr>
nmap <F7> :cp<cr>


6.MiniBufExplorer(快速浏览和操作Buffer)

在编程的时候不可能永远只编辑一个文件, 你肯定会打开很多源文件进行编辑, 如果每个文件都打开一个vim进行编辑的话那操作起来将是多麻烦啊, 所以vim有buffer(缓冲区)的概念,


7.插件A(c/h文件间相互切换)

按F12时在一个新的buffer中打开c/h文件, 这样在写程序的时候就可以不假思索地在c/h文件间进行切换, 减少了按键的次数


8.Grep(在工程中查找 -- 插件)

F3


9.Visual Mark(高亮的书签)

如果是gvim, 直接在代码上按下Ctrl+F2, 如果是vim, 用"mm",会发现光标所在的行变高亮了;


10.自动补全

随便找一个有成员变量的对象, 比如"parmp", 进入Insert模式, 将光标放在"->"后面,
然后按下"Ctrl+X Ctrl+O", 此时会弹出一个下列菜单, 显示所有匹配的标签;


如果你增加了一些成员变量, 全能补全还不能马上将新成员补全, 需要你重新生成一下tags文件, 但是你不用重启vim, 只是重新生成一下tags文件就行了, 这时全能补全已经可以自动补全了, 还真够"全能"吧.


11.

转自:http://blog.youkuaiyun.com/wooin/article/details/1858917

            http://blog.youkuaiyun.com/wooin/article/details/2004470


李宏毅机器学习笔记第17周_概述领域自适应(Domain Adaptation) Domain Adaptation 阅读详情

相关推荐

OBS技术深度剖析:从开源直播工具到专业制作引擎的进化之路

本文深入剖析了开源直播软件OBS的技术架构与发展历程。从2012年诞生至今,OBS已成长为直播领域的事实标准,其成功源于模块化设计和开源协作模式。文章详细解析了OBS的核心技术:1) 分层架构与插件系统,2) GPU加速的渲染管线,3) 智能音频处理,4) 多平台编码优化。同时探讨了虚拟摄像头、浏览器源等高级功能的实现原理,并提供了性能优化方案和硬件配置建议。随着AI、WebRTC等新技术发展,OBS将持续引领实时内容创作工具的创新,为开发者和创作者提供更强大的技术支持。

程序猿老樊的博客 326

用Gvim建立IDE编程环境 (Windows篇)

本文转自http://hi.baidu.com/shiyikezhanzhou/blog/item/3e3725cb7959f792c91768ab.html 说明:本文是作者在完全按照著名的《手把手教你把Vim改装成一个IDE编程环境》一文,在Windows XP上用gvim建立IDE环境时所作的备忘。 原作地址:http://blog.youkuaiyun.com/wooin/archive/2007

579

双参数威布尔分布(Weibull分布)参数计算(根据故障数据,求双参数威布尔分布的参数详细步骤)

根据故障数据求威布尔分布参数步骤 根据众多文献研究,设备故障数据大多服从指数分布、威布尔分布或对数正态分布。其中威布尔分布较为常用,本文主要介绍威布尔分布的简单应用,并根据某设备故障数据为例简单介绍威布尔分布参数的计算方法。 参考文献11参考文献22 1.双参数威布尔分布的概率密度函数、概率分布函数、可靠度函数: 2.预处理故障数据 将故障数据按时间排序,假设设备分别在以下时间点失效:11.1 、23.5、58.4……则将此时间从小到大排序。并计算中位秩。中位秩的计算公式如下: 其中i表示第几个数据,n

biaochengxiaobai的博客 4万+

window下用Gvim建立IDE编程环境

当初在hs时,见到技术大牛徐工用vim建工程,而其他人则使用si或slickedit,当时对他真是膜拜呀。经过一天的摸索,自己也可以用gvim打造一个IDE环境了,建立工程也是必然的事情。 从网上搜集资源,都会参考《手把手教你把Vim改装成一个IDE编程环境》一文,我也不例外。好了,言归正传。 1.准备必要的插件。 Gvim 安装包 http://www.vim.org/downlo

JeffTech的专栏 3266

容器内存黑洞排查手册:当PageCache让你的Pod莫名被OOM时

本文深入剖析了容器环境中因Linux内核PageCache机制导致Pod被OOM Killer终止的“内存黑洞”问题。文章解释了Kubernetes基于Working Set内存指标进行OOM判断的逻辑,揭示了传统监控工具与cgroup统计的差异,并通过典型场景分析、实战诊断工具和优化策略,提供了从问题定位到系统调优的完整解决方案。

weixin_29294975的博客 224

QGIS三维地形可视化实战:从DEM数据到炫酷3D场景(附Qgis2threejs插件配置)

本文详细介绍了如何利用QGIS和Qgis2threejs插件,将DEM数据转化为交互式三维地形场景的完整工作流。核心内容包括DEM数据准备、坐标系选择(重点对比WGS 84与UTM的差异及影响)、插件核心参数配置、卫星影像与等高线叠加等进阶技巧,并提供了成果导出与常见问题解决方案,帮助用户高效创建可用于网页展示的炫酷3D可视化成果。

mqtt6iot的博客 875

使用gvim建立ide开发环境

转载自:LeeMonCC 说明:本文是作者在完全按照著名的《手把手教你把Vim改装成一个IDE编程环境》一文,在Windows XP上用gvim建立IDE环境时所作的备忘。 原作地址:http://blog.youkuaiyun.com/wooin/archive/2007/10/31/1858917.aspx 。 0.准备软件及插件。 (a)gvim72.exe  地址ftp...

tcryiu的专栏 191

Python爬虫实战:利用Scrapy+Playwright高效爬取TED演讲数据

在当今信息爆炸的时代,TED演讲作为全球知名的思想传播平台,汇聚了各领域顶尖人才的精彩分享。对于数据分析师、研究人员或内容创作者来说,获取TED演讲的完整数据集具有重要价值。本文将详细介绍如何使用Python中最先进的爬虫技术组合——Scrapy框架配合Playwright浏览器自动化工具,高效爬取TED演讲的完整数据。传统爬虫技术在处理现代动态网页时面临诸多挑战,而本文将展示如何利用最新工具解决这些问题。

2201_76125261的博客 205

用GVim建立IDE编程环境(Win篇)

用GVim建立IDE编程环境(Win篇)   2010-10-23 22:14:12|  分类: Vim |字号 订阅 说明:本文摘自网上,具体地址已忘记,在此感谢作者! 说明:本文是作者在完全按照著名的《手把手教你把Vim改装成一个IDE编程环境》一文,在WindowsXP上用gvim建立IDE环境时所作的备忘。 原作地址:http://blog.youkuaiyun.com/wooin/archiv

Augusdi的专栏 1867

【ChatGPT】实用 Prompt 指令大全 —— 一文教你如何更好地挖掘 GPT 的价值

ChatGPT 是由 OpenAI 开发的一种先进的大型语言生成模型,能够理解和生成准确、自然且连贯的文本。文本生成数据分析内容审核语义理解自然语言推理以及其他众多任务ChatGPT是一种基于GPT-3.5架构的大型语言模型,由OpenAI公司开发。该模型在自然语言处理领域有着广泛的应用,可以用于文本生成、文本分类、情感分析、问答系统等任务。本文将从模型的架构、训练方式、优缺点等方面对ChatGPT进行详细介绍。一、模型架构。

AI天才研究院 2万+

hadoop 切片机制详解

hadoop切片机制详解

congge 1万+

用Gvim建立IDE编程环境 (Windows篇)-转载

转载自:LeeMonCC 说明:本文是作者在完全按照著名的《手把手教你把Vim改装成一个IDE编程环境》一文,在Windows XP上用gvim建立IDE环境时所作...

StephenZhou 436

electron:解决打包后报错Cannot find module ‘X‘ 运行报错各种模块缺失问题(解决electron build打包后运行应用报错启动失败或白屏,无论模块名称是什么都能解决!)

Electron app打包后启动报错:“Cannot find module 'X'”解决方案,electron-builder 打包出现 cannot find module,electron 打包后找不到module问题,electron打包运行白屏、Can not find modules ‘x‘,electron项目打包报错,electron打包后,点击生成的exe应用程序出现Cannot find module,解决electron-build打包后运行app报错:cannot find mod

✅ 精选推荐文章 4386

gvim for php,转 : Gvim建立IDE编程环境 (Windows篇)

说明:本文是作者在完全按照著名的《手把手教你把Vim改装成一个IDE编程环境》一文,在Windows XP上用gvim建立IDE环境时所作的备忘。原作地址:http://blog.youkuaiyun.com/wooin/archive/2007/10/31/1858917.aspx。1.安装gvim7.2。运行gvim72.exe,选择完全安装(Full),我的安装目录是默认的C:\Program File...

weixin_33651906的博客 131

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

强烈推荐:用Gvim建立IDE编程环境 (Windows篇)

说明:本文是作者在完全按照著名的《手把手教你把Vim改装成一个IDE编程环境》一文,在Windows XP上用gvim建立IDE环境时所作的备忘。原作地址:http://blog.youkuaiyun.com/wooin/archive/2007/10/31/1858917.aspx。0.准备软件及插件。(a)gvim72.exe 地址ftp://ftp.vim.org/pub/vim/pc/gvim

嵌入式开发小站 2270

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: gvim集成编译环境使用技巧
下一篇: 手把手教你把Vim改装成一个IDE编程环境(图文)
lzhsdly
博客等级 码龄18年 13粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值