在VIM里面是怎样编译C语言的文件?
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
- huoteihj
- 帖子: 340
- 注册时间: 2010-11-25 20:44
在VIM里面是怎样编译C语言的文件?
我一直觉得很郁闷...
为什么我在vs里面写好的C语言的文件可以在不保存的情况下直接就可以可以编译执行(就是CTRL F5)
不过我在VIM里面总是要保存退出,然后gcc或者make...我觉得这样很麻烦,到底应该怎样才可以解决?
为什么我在vs里面写好的C语言的文件可以在不保存的情况下直接就可以可以编译执行(就是CTRL F5)
不过我在VIM里面总是要保存退出,然后gcc或者make...我觉得这样很麻烦,到底应该怎样才可以解决?
- cjxgm
- 帖子: 1952
- 注册时间: 2010-04-23 20:40
- 系统: Arch Linux
- 来自: 浙江·杭州
- 联系:
Re: 在VIM里面是怎样编译C语言的文件?
你绑定个快捷键就可以了嘛……
- huoteihj
- 帖子: 340
- 注册时间: 2010-11-25 20:44
Re: 在VIM里面是怎样编译C语言的文件?
那执行后的结果呢???cjxgm 写了:你绑定个快捷键就可以了嘛……
比如说错误提示之类的东西
-
- 帖子: 6
- 注册时间: 2012-06-19 10:20
Re: 在VIM里面是怎样编译C语言的文件?
vs里面只不过是帮你自动保存了而已,其实直接看gcc的错误提示,再用vi改代码也还不错,可能的确没有ide那么方便。其实如果喜欢ide的话,楼主为什么不用codeblocks、eclipse等等呢。huoteihj 写了:我一直觉得很郁闷...
为什么我在vs里面写好的C语言的文件可以在不保存的情况下直接就可以可以编译执行(就是CTRL F5)
不过我在VIM里面总是要保存退出,然后gcc或者make...我觉得这样很麻烦,到底应该怎样才可以解决?
-
- 帖子: 130
- 注册时间: 2012-01-16 13:37
Re: 在VIM里面是怎样编译C语言的文件?
在vimrc里面写函数,配合map调用。
-
- 帖子: 3
- 注册时间: 2011-05-05 19:19
Re: 在VIM里面是怎样编译C语言的文件?
VIM只是一个文本编辑器,而VS是一个IDE。
IDE包括了编辑器,自动为你做了很多事情。就像你如果在WIN下用editplus等编辑器写代码,也要你保存之后再用编译器编译文件。
linux下也有很多IDE。。。vim也可以通过配置打造成IDE
IDE包括了编辑器,自动为你做了很多事情。就像你如果在WIN下用editplus等编辑器写代码,也要你保存之后再用编译器编译文件。
linux下也有很多IDE。。。vim也可以通过配置打造成IDE
- huoteihj
- 帖子: 340
- 注册时间: 2010-11-25 20:44
Re: 在VIM里面是怎样编译C语言的文件?
ide有些大,小容量的硬盘不想装floodliu 写了:vs里面只不过是帮你自动保存了而已,其实直接看gcc的错误提示,再用vi改代码也还不错,可能的确没有ide那么方便。其实如果喜欢ide的话,楼主为什么不用codeblocks、eclipse等等呢。huoteihj 写了:我一直觉得很郁闷...
为什么我在vs里面写好的C语言的文件可以在不保存的情况下直接就可以可以编译执行(就是CTRL F5)
不过我在VIM里面总是要保存退出,然后gcc或者make...我觉得这样很麻烦,到底应该怎样才可以解决?
- lainme
- 论坛版主
- 帖子: 7805
- 注册时间: 2008-09-13 19:17
- 系统: Arch Linux (x86_64)
- 联系:
-
- 帖子: 6
- 注册时间: 2012-06-19 10:20
Re: 在VIM里面是怎样编译C语言的文件?
那就找些插件吧,可以打造一个简单一点的ide,我也不喜欢装ide,有洁癖huoteihj 写了:ide有些大,小容量的硬盘不想装floodliu 写了:vs里面只不过是帮你自动保存了而已,其实直接看gcc的错误提示,再用vi改代码也还不错,可能的确没有ide那么方便。其实如果喜欢ide的话,楼主为什么不用codeblocks、eclipse等等呢。huoteihj 写了:我一直觉得很郁闷...
为什么我在vs里面写好的C语言的文件可以在不保存的情况下直接就可以可以编译执行(就是CTRL F5)
不过我在VIM里面总是要保存退出,然后gcc或者make...我觉得这样很麻烦,到底应该怎样才可以解决?
- 温习江湖
- 帖子: 580
- 注册时间: 2012-06-06 18:20
Re: 在VIM里面是怎样编译C语言的文件?
在.vimrc添加如下内容
:set makeprg=gcc % -Wall -o %<
noremap <F5> <esc>:make<cr>
之后按f5就可编译
:set makeprg=gcc % -Wall -o %<
noremap <F5> <esc>:make<cr>
之后按f5就可编译
上次由 温习江湖 在 2013-04-30 14:36,总共编辑 1 次。
- cuihao
- 帖子: 4793
- 注册时间: 2008-07-24 11:33
- 来自: 郑州
- 联系:
Re: 在VIM里面是怎样编译C语言的文件?
=。= 开俩终端……
一个开vim,一个编译调试。
一个开vim,一个编译调试。
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 蓝红黄蓝绿红
Site: CUIHAO.TK Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
Site: CUIHAO.TK Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
- b33e
- 帖子: 3864
- 注册时间: 2011-06-07 14:20
- 系统: Mint18
-
- 帖子: 3030
- 注册时间: 2009-10-03 23:31
Re: 在VIM里面是怎样编译C语言的文件?
以下内容引自王垠的博文《编辑器与IDE》
无谓的编辑器战争
很多人都喜欢争论哪个编辑器是最好的。其中最大的争论莫过于 Emacs 与 vi 之争。vi 的支持者喜欢说:“看 vi 打起字来多快,手指完全不离键盘,连方向键都可以不用。”Emacs 的支持者往往对此不屑一顾,说:“打字再快又有什么用。我在 Emacs 里面按一个键,等于你在 vi 里面按几十个键。”
其实还有另外一帮人,这些人喜欢说:“对于 Emacs 与 vi 之争,我的答案是 {jEdit, Geany, TextMate, Sublime...}”这些人厌倦了 Emacs 的无休止的配置和 bug,也厌倦了 vi 的盲目求快和麻烦的模式切换,所以他们选择了另外的更加简单的解决方案。
临时解决方案 - IDE
那么我对此的答案是什么呢?在目前的情况下,我对程序编辑的临时答案是:IDE。
写程序的时候,我通常根据语言来选择最能“理解”那种语言的“IDE”(比如 Visual Studio, Eclipse, IntelliJ IDEA 等),而不是一种通用的“文本编辑器”(比如 Emacs, vi, jEdit, ...)。这是因为“文本编辑器”这种东西一般都不真正的理解程序语言。很多 Emacs 和 vi 的用户以为用 etags 和 ctags 这样的工具就能让他们“跳转到定义”,然而这些 tags 工具其实只是对程序的“文本”做一些愚蠢的正则表达式匹配。它们根本没有对程序进行 parse,所以其实只是在进行一些“瞎猜”。简单的函数定义它们也许能猜对位置,但是对于有重名的定义,或者局部变量的时候,它们就力不从心了。
很多人对 IDE 有偏见,因为他们认为这些工具让编程变得“傻瓜化”了,他们觉得写程序就是应该“困难”,所以他们眼看着免费的 IDE 也不试一下。有些人写 Java 都用 Emacs 或者 vi,而不是 Eclipse 或者 IntelliJ。可是这些人错了。他们没有意识到 IDE 里面其实蕴含了比普通文本编辑器高级很多的技术。这些 IDE 会对程序文本进行真正的 parse,之后才开始分析里面的结构。它们的“跳转到定义”一般都是很精确的跳转,而不是像文本编辑器那样瞎猜。
这种针对程序语言的操作可以大大提高人们的思维效率,它让程序员的头脑从琐碎的细节里面解脱出来,所以他们能够更加专注于程序本身的语义和算法,这样他们能写出更加优美和可靠的程序。这就是我用 Eclipse 写 Java 程序的时候相对于 Emacs 的感觉。我感觉到自己的“心灵之眼”能够“看见”程序背后所表现的“模型”,而不只是看到程序的文本和细节。所以,我经常发现自己的头脑里面能够同时看到整个程序,而不只是它的一部分。我的代码比很多人的都要短很多也很有很大部分是这个原因,因为我使用的工具可以让我在相同的时间之内,对代码进行比别人多很多次的结构转换,所以我往往能够把程序变成其他人想象不到的样子。
对于 Lisp 和 Scheme,Emacs 可以算是一个 IDE。Emacs 对于 elisp 当然是最友好的了,它的 Slime 模式用来编辑 Common Lisp 也相当不错。然而对于任何其它语言,Emacs 基本上都是门外汉。我大部分时间在 Emacs 里面是在写一些超级短小的 Scheme 代码,我有自己的一个简单的配置方案。虽然谈不上是 IDE,Emacs 编辑 Scheme 确实比其它编辑器方便。R. Kent Dybvig 写 Chez Scheme 居然用的是 vi,但是我并不觉得他的编程效率比我高。我的代码很多时候比他的还要干净利落,一部分原因就是因为我使用的 ParEdit mode 能让我非常高效的转换代码的“形状”。
当要写 Java 的时候,我一般都用 Eclipse。最近写 C++ 比较多,C++ 的最好的 IDE 当然是 Visual Studio。可惜的是 VS 没有 Linux 的版本,所以就拿 Eclipse 凑合用着,感觉还比较顺手。个别情况 Eclipse “跳转定义”到一些完全不相关的地方,对于 C++ 的 refactor 实现也很差,除了最简单的一些情况(比如局部变量重命名),其它时候几乎完全不可用。当然 Eclipse 遇到的这些困难,其实都来自于 C++ 语言本身的糟糕设计。
- k9288k
- 帖子: 792
- 注册时间: 2012-02-21 22:27
- 系统: Ubuntu12.04