当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 14 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-29 22:03 
头像

注册: 2010-11-25 20:44
帖子: 340
送出感谢: 1
接收感谢: 0 次
我一直觉得很郁闷...
为什么我在vs里面写好的C语言的文件可以在不保存的情况下直接就可以可以编译执行(就是CTRL F5)

不过我在VIM里面总是要保存退出,然后gcc或者make...我觉得这样很麻烦,到底应该怎样才可以解决?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-29 22:08 
头像

注册: 2010-04-23 20:40
帖子: 1950
地址: 浙江·杭州
系统: Arch Linux
送出感谢: 2
接收感谢: 31
你绑定个快捷键就可以了嘛……


_________________
我是 Giumo Clanjor(哆啦比猫/兰威举)
Where there is a hacker, there is art. | Develop for Developers. (C & perl5)
博客 | Clanjor Prods.
类 C 语言到 brainfuck 编译器


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-29 22:35 
头像

注册: 2010-11-25 20:44
帖子: 340
送出感谢: 1
接收感谢: 0 次
cjxgm 写道:
你绑定个快捷键就可以了嘛……


那执行后的结果呢???
比如说错误提示之类的东西


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 0:27 

注册: 2012-06-19 10:20
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
huoteihj 写道:
我一直觉得很郁闷...
为什么我在vs里面写好的C语言的文件可以在不保存的情况下直接就可以可以编译执行(就是CTRL F5)

不过我在VIM里面总是要保存退出,然后gcc或者make...我觉得这样很麻烦,到底应该怎样才可以解决?

vs里面只不过是帮你自动保存了而已,其实直接看gcc的错误提示,再用vi改代码也还不错,可能的确没有ide那么方便。其实如果喜欢ide的话,楼主为什么不用codeblocks、eclipse等等呢。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 10:05 

注册: 2012-01-16 13:37
帖子: 129
送出感谢: 0 次
接收感谢: 0 次
在vimrc里面写函数,配合map调用。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 10:19 

注册: 2011-05-05 19:19
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
VIM只是一个文本编辑器,而VS是一个IDE。
IDE包括了编辑器,自动为你做了很多事情。就像你如果在WIN下用editplus等编辑器写代码,也要你保存之后再用编译器编译文件。
linux下也有很多IDE。。。vim也可以通过配置打造成IDE


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 10:28 
头像

注册: 2010-11-25 20:44
帖子: 340
送出感谢: 1
接收感谢: 0 次
floodliu 写道:
huoteihj 写道:
我一直觉得很郁闷...
为什么我在vs里面写好的C语言的文件可以在不保存的情况下直接就可以可以编译执行(就是CTRL F5)

不过我在VIM里面总是要保存退出,然后gcc或者make...我觉得这样很麻烦,到底应该怎样才可以解决?

vs里面只不过是帮你自动保存了而已,其实直接看gcc的错误提示,再用vi改代码也还不错,可能的确没有ide那么方便。其实如果喜欢ide的话,楼主为什么不用codeblocks、eclipse等等呢。


ide有些大,小容量的硬盘不想装


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 11:31 
头像

注册: 2008-09-13 19:17
帖子: 7789
系统: Arch Linux (x86_64)
送出感谢: 10
接收感谢: 77
不是有给VIM添加IDE功能的文章么,找来看看。比如 http://www.vimer.cn/

大致就是插件-》快捷键这样。编译结果,可以显示到quickfix窗口。


_________________
博客:http://www.lainme.com


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 12:53 

注册: 2012-06-19 10:20
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
huoteihj 写道:
floodliu 写道:
huoteihj 写道:
我一直觉得很郁闷...
为什么我在vs里面写好的C语言的文件可以在不保存的情况下直接就可以可以编译执行(就是CTRL F5)

不过我在VIM里面总是要保存退出,然后gcc或者make...我觉得这样很麻烦,到底应该怎样才可以解决?

vs里面只不过是帮你自动保存了而已,其实直接看gcc的错误提示,再用vi改代码也还不错,可能的确没有ide那么方便。其实如果喜欢ide的话,楼主为什么不用codeblocks、eclipse等等呢。


ide有些大,小容量的硬盘不想装

那就找些插件吧,可以打造一个简单一点的ide,我也不喜欢装ide,有洁癖 :em04


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 13:39 
头像

注册: 2012-06-06 18:20
帖子: 582
送出感谢: 4
接收感谢: 11
在.vimrc添加如下内容

:set makeprg=gcc % -Wall -o %<
noremap <F5> <esc>:make<cr>

之后按f5就可编译


_________________
Vimwiki建的小博客 wweir.org

历史的车轮压过一切,任何人或事物都留在了车辙里,只有思想和智慧或附在车辄上走上那么一段时间


最后由 温习江湖 编辑于 2013-04-30 14:36,总共编辑了 1 次

页首
 用户资料  
 
11 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 13:49 
头像

注册: 2008-07-24 11:33
帖子: 4793
地址: 郑州
送出感谢: 4
接收感谢: 92
=。= 开俩终端……
一个开vim,一个编译调试。


_________________
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 14:00 
头像

注册: 2011-06-07 14:20
帖子: 3866
系统: Mint18
送出感谢: 17
接收感谢: 65
terminator这样的终端就可以,终端分成几个区域,不用退出vim就行。
其实推荐awesome平铺 :em04


_________________
wiki: ubuntu 技巧


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 15:23 

注册: 2009-10-03 23:31
帖子: 3030
送出感谢: 1
接收感谢: 14
以下内容引自王垠的博文《编辑器与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++ 语言本身的糟糕设计。



页首
 用户资料  
 
14 楼 
 文章标题 : Re: 在VIM里面是怎样编译C语言的文件?
帖子发表于 : 2013-04-30 21:22 
头像

注册: 2012-02-21 22:27
帖子: 751
系统: Ubuntu12.04
送出感谢: 53
接收感谢: 1
:em11
lainme 写道:
不是有给VIM添加IDE功能的文章么,找来看看。比如 http://www.vimer.cn/

大致就是插件-》快捷键这样。编译结果,可以显示到quickfix窗口。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 14 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Google [Bot] 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译