将mac打造成和linux差不多的c语言开发环境,完全新手版

  • Post author:
  • Post category:linux




注:本文适用于非常新非常新的新手,没有什么技术含量,就是一个回忆帖,可以减轻新手的负担

可怜


本人是新手,之前一直断断续续学了一点linux,后来换电脑之后发现ubuntu在我的新笔记本上面黑屏(应该是驱动问题),后来又懒得学了,由于某些原因,入手了一台Macbook Pro,发现终端上面写的BSD什么什么的,其实作为学渣的我,根本不知道BSD是神马
害羞
,后来在读unix网络编程一书的时候,发现上面好多提到BSD,于是才发现mac的命令行不仅仅是和unix差不多,简直就是unix的再版(BSD就是一个unix类的系统),突然感觉可以用mac代替linux了,后来想想为什么那些网上的名校公开课里面那么多美国学生都用mac,当时还无法理解如果那些人要跑linux程序怎么办,现在终于明白了,都怪自己平时不学无术
安静
,由于国内使用mac的人不多,在这些人里面,用mac学习linux/unix编程的人更少,各种资源相对linux和windows就少多了,也许对大牛而言,这都不是问题,直接参考linux的资料就够了,但是对于吾等初学者,随便一个小小的问题就能把人卡住好久,最后弄得失去学习的动力,于是我站在新手的角度一步步写出我配置的过程,和其中所遇到的问题,还有一些与配置本身无关的东西都提及一下,也权当复习。好了,废话少说,开始干。我的mac系统版本是OS X 10.9.1

1. 终端问题


打开终端,习惯性的输入

ls

,结果显示的是黑白的,而不像linux是彩色的,这说明mac还是和linux在不少地方有一些微妙的区别,怎么解决?容易,试试

ls -G



,怎么样?有颜色了吧,这样用很麻烦,怎么让直接输入 ls就能出现ls -G的效果呢,当然是别名alias,怎么用?输入

alias ls=ls -G

就行了,ls和-G之间有空格。


2. gcc问题


直接在终端输入

gcc

测试一下能不能用,结果提示要安装xcode什么的,这个时候就不用再想怎么从网上下个gcc的安装包或者用 apt-get 之类的指令获得软件了,mac没有那些,直接按照他的提示,输入或者点击同意就行了,他会自动安装gcc,如果你的mac版本没有这种自动引导你安装,就去Apple Store下载一个xcode,就可以获得很多指令了,包括gcc(貌似

java

指令没有自动安装进去,这个我们就先不管了),xcode是mac下的一个IDE,挺不错的,做ios开发就是用这个,只不过我们暂时不用他(内容比较庞大,做ios开发的时候再单独学吧),只是用它安装的时候放在默认路径下的 gcc,也许你可以去下载一般的gcc,但是xcode里面带的gcc是苹果公司优化过的[注1],更好用,不用可惜了。



3. vim开始


vim是什么就不需要我介绍了吧,直接百度搜索 macvim,就会出现vim for mac的官网,进去之后,下载一个压缩包,按照他的提示做就行了,这里我就不多写了,因为不需要 ./configure 和make之类的,已经就是可执行文件了,只不过打包了而已,解开放入Application里面就行了,官网有详细步骤:

$ bunzip2 vim7.0.tar.bz2  (他的文件名不是万能的,这个要看自己下载的压缩包的具体名字)
$ tar xf vim7.0.tar       
$ cd vim70             (他的文件名不是万能的,这里要看解完压缩之后文件夹的名字)       
$ mv Vim.app /Applications/Vim.app (vim.app也不是一定的,我的名字是MacVim,如图,如果觉得指令麻烦,直接用鼠标拖过去也行,效果完全一样。
看到这里为止,官网上面剩下的配置什么的都不要再看了,会看昏迷的,现在只需要保证vim可以用就行了。目前达到什么水准了呢?就是可以在Application里面看到我们的VIM的绿色和灰色相间的图标,点开就能用,但是这明显不够,于是打开终端,输入vim 或者 vi,会出现:      
这明显不是我们刚才安装的vim,我们安装的是有一个单独的窗口的,那当然,这个是系统自带的vim,我们的vim在命令行启动要输入 mvim,于是我们输入试试看,结果系统说没有这个命令,那当然,系统都是首先默认在 /usr/bin下找命令的,这时我们只需要在macvim的安装包里面,把一个叫 mvim 的文件复制到 /usr/bin 下面就行了
(现在只能cp mvim /usr/local/bin,原因见【注2】),就是这个图标是灰色的文件。之后再直接在终端输入 mvim,就可以打开我们刚才安装的 vim for mac了。

4.配置文件 ~/.vimrc
说实话,我一开始连~/.vimrc在哪都不知道,因为我用 ls 命令在我的 ~/ 目录下 里面根本没看见名字叫 .vimrc的文件存在,我就到处找,后来在 /Applications/MacVim/Contents/Resources/vim/ 下(记住是/Applications,而不是~/Applications,Finder里面显示的Applications是根目录下的,而Documents和Downloads是用户的,在图形界面看不出来,只有命令行才能看出),看到了一个名字叫 vimrc的文件,于是输入:  出现:
看起来是配置文件,没错啊,有set之类的,但是有没有感觉有什么不对劲的?东西是不是太少了点?没错,这确实是配置文件,但是是系统的配置文件,我们要设置的不是这个配置文件,而是用户配置文件,用户配置文件设置的效果是会覆盖系统配置文件的,只要输入 

mvim ~/.vimrc

就可以了,就出现了

这个才是我们想要的,如果打开是空的话,也没事,vim软件默认的配置文件的路径就在这里,手动创建也是一样的,.vimrc前面的那个点的作用就是隐藏文件,只要名字开头是个点的,都是隐藏文件,用 ls -a 就可以看到,注意,点也是文件名的一部分。

参见 点击打开链接

5.配置snipMate

接下来才是对新手比较有挑战的,snipMate是什么?肯定是插件啊,vim里面除了自身之外的各种工具都是以插件的形式出现的,snipMate是干什么用的,我来演示一下:我把所有的include都删除了,现在只输入include,然后按一下键盘上的tab键,接下来看效果

一下子一堆include都出来了,就不用一个个输入了,这就是代码补全,这是怎么做到的呢,当然是用snipMate。接下来来介绍如何安装这个。

用google搜snipMate,会出现两个上面一个是官网,说是官网,其实很屌丝,除了提供最基本的snipMate压缩包之外,什么也没有,真正厉害的是第二个,这是一个开发者的论坛之类的网站,其实我也不知道它算什么,各种先进的东西都在上面,这里面有snipMate的安装方式,但是是比较高级的管理方式,其实就是用其他的插件来管理这个snipMate插件,目测好评不错,但是我用Vundle方式安装的时候失败了,不知道原因,有可能是自动下载一些东西的链接被墙了,也有可能是mac的文件系统和linux略有不同,也懒得追究原因了,那个方法安装的话,以后就方便管理,如果内容非常多就会很方便,但是对于新手,咱们可能内容非常多么?明显是不可能的,就不要给自己找麻烦了,多一个插件多一份麻烦,咱先用最土最普通的方法安装就行了,连安装都算不上,顶多就算复制粘贴。

vim中的插件一般都是放在 ~/.vim 文件夹下的,好,我就 ls一下,输入 ls ~/.vim ,我勒个去,竟然没有,这该怎么办,对于和我一样的新手而言,一下子就懵了,为什么会懵,因为没搞清楚原理,为什么各种插件要放在这里?那是因为vim软件中某个配置指明了要在这个文件夹下去搜索插件(至于这个配置在哪设置的,我们暂时不知道,目前也不需要知道,知道大致思路就行了),如果你的电脑里没有这个文件夹,他依然会去搜索这个文件夹,只是什么都搜不到罢了,那么怎么办?自己创建一个就行了,用命令 mkdir ~/.vim 就可以在自己的宿主目录下创建一个名字为 .vim 的文件夹,注意 .开头的是隐藏的,就起这个名字,vim会自动搜索这个,当然如果你觉得这个名字不够个性,你也可以取其他的名字,前提是你能够找到vim中配置这个路径的地方,并且把路径名也改成你自己起的名字那里就行了,我们就不要自找麻烦了(而且我不会弄快哭了)。

用命令 unzip ~/Downloads/snipMate.zip -d ~/.vim,即可,然后就成了,然后该干什么?对,看看 ~/.vim 文件夹里有些啥, ,其他的不要管了,我也不记得哪些是snipMate带进来的,哪些是其他插件了,反正注意那个snippets文件夹就行了,进去看看,

注意那个叫 c.snippets的文件,用mvim打开,进去看看,里面有不少默认的设置好了的补全,具体应用非常简单,照着范例自己敲自己的代码就行了

最后还有个很好的插件叫ctags,这个是真正的函数补全,我也配置好了,但是不是很会用,我建议新手可以先放放,因为初学只需要对着书上的范例编程就行了,不需要查阅大量的函数,折腾这个容易给自己真正的学习拖进度,有兴趣的同学可以看看这篇文章,是一个高手写的:

http://blog.csdn.net/yangyang_gnu/article/details/6642271

稍微提及一下关于ctags的,mac系统中有自带的ctags命令,但是是无法使用ctags -R的,要解决这个问题,只需要把系统默认的 /usr/bin/中的ctags删除,然后在网上下载安装通用的ctags就行了,也就是./configure, make之类的,安好后ctags命令是在/usr/local/bin/ 中,不需要设置path,path中有/usr/local/bin/,只不过排在

/usr/bin/ 的后面(这就是为什么要把自带的ctags删除的原因,不然的话他总是优先使用 /usr/bin/里面的,因为这个路径排在前面,之前在网上看过有人把两个路径互换一下位置,也能解决这个问题,但是不建议这样,谁知道这样做会不会对其他的命令造成影响,我想肯定是有的)

【注1】mac的shell下的gcc命令并不是gcc,而是clang,编辑时间:20151110,关于mac下gcc的安装,会在另外一个博客写到

【注2】苹果OS X10.11最新的安全策略,苹果官方发布会https://developer.apple.com/videos/play/wwdc2015-706/



版权声明:本文为daxiatou原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。