首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从vi运行各种c或cpp开发任务“就像运行cpp程序而不退出vi”。

问从vi运行各种c或cpp开发任务“就像运行cpp程序而不退出vi”。
EN

Stack Overflow用户
提问于 2014-06-05 18:54:43
回答 3查看 127关注 0票数 0

我有一些问题,关于VI的使用,而工作在c或cpp程序,这可以作为一个快速的参考,谁是第一次来到vi。

  1. 如何运行CPP程序从withing,而不退出它。
  2. 如何在vi中获取类型层次结构
  3. 如何在vi中获取调用层次结构
  4. 如何在vi中重构代码,以便不仅对当前文件进行重构,而且还对所有其他相关文件进行重构。
  5. 如何从使用方法的位置打开在其他cpp文件中定义的方法的声明。
  6. 如何在不同的文件中搜索某个关键字而不退出vi。
  7. 如何维护vi中程序的缩进。

提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2014-06-05 19:29:46

免责声明--我不是vi(m)用户,而是使用emacs。

我怀疑在vi(m)的默认安装中无法获得您想要的大部分功能,但是可以通过其他程序获得一些功能:

对于你的问题3(也可能是5和6),cscope可以提供你想要的内容。请参阅此链接

有关您的问题4,请参阅堆栈溢出线程。

对于你的问题5(可能还有6个),ctag可能会提供你想要的内容。见此链接。

我在使用emacs时遇到了一些相同的问题,并最终将类似的第三方程序集成到emacs中,因此我对这个主题的了解有限。希望这些指点能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2014-06-05 19:13:33

我有一些问题的答案:

如何在没有退出的情况下从vi运行CPP程序。

解决方案:使用!后面跟着要运行的命令。例如,如果您正在编辑Vim中的一个文件,并且希望了解该文件中有多少单词,请运行

代码语言:javascript
复制
    :! wc %

我们还可以退出并转到shell,方法是输入:shell或:sh,而在vi中,shell将打开,您可以输入任何no。当您完成命令时,您只需退出shell,就可以在相同的位置再次进入vi。

6如何在不同的文件中搜索某个关键字而不退出vi。

解决方案:使用答案1中的相同解释。使用grep:

代码语言:javascript
复制
 :! grep <keyword or regular expression>
票数 0
EN

Stack Overflow用户

发布于 2014-06-05 19:44:43

所有的问题集中在一起暴露了一个观点问题。从创建Unix和vi的最初作者Bill的角度来看,shell提示是整个开发环境。vi只是编辑部分。make是项目建设者。文件系统以及ls、find、grep和无数其他工具提供了文件分组和组织工具。

这就是为什么vi有一组丰富的命令行选项,允许您命名要打开的多个文件,以及在每个文件中定位游标的位置。与ctags工具一起,您甚至可以要求vi打开包含命名函数的文件,而不需要键入文件名。

在vi中,始终可以使用!命令使用任意程序对文本进行操作。例如,!fmt是一种快速而肮脏的处理包装文本的方法。当然,:命令是您进入基于CLI编辑的极其危险的功能的门户。

在这一切的基础上,您必须真正理解移动游标的命令,并描述一段文本。第一步是,每次你发现自己重复一个命令(比如简单的移动命令'h‘、'j’、'k‘或'l')时,都要注意到,直到你到达正确的位置,并问自己,你如何通过少打字就能达到这个效果。如果目标是下一个字母'a‘,则用'5l’或'w‘或更好的'fa’来代替'lllll',这个字母刚好超过5个字符。

有了正确的思维方式,并很好地掌握了更大范围的文本处理过滤器,您的大部分问题归结为识别正确的文本范围并将其传递给外部实用程序,这个项目的上下文已经在文件夹中进行了明智的组织,并且使用ctags从make运行以保持标记数据库的最新。

有很多的教程和快速的参考资料。这一个似乎表达了我在这里试图表达的观点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24068058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档