为什么使用cppman?

cppman可以让你在命令行窗口中方便的翻阅C++文档,文档的来源是http://www.cplusplus.com,你只需要输入cppman [关键字]则会打开vim将对应关键字的文档列出,然后使用ctrl+]键可以跳转到当前光标指向的链接,使用ctrl+T可以返回上一个页面。

cppman在vim里打开的效果图

必需安装Python3以及使用pip3来安装cppman

是的,你必须使用Python3,因为cppman使用到了urllib.request,而这个函数只有在Python3中才带有,而在Python2里,需要安装urllib2才能使用,但是在cppman的github上官方教程是要求安装Python3的,之前安装cppman的时候因为对Python不熟悉,所以卡在了这里,今天来研究的时候终于发现了问题。

所以,使用brew install python3来安装Python3,或者,你在安装vim的时候直接参照下面提到的命令在安装vim的时候一并安装python3。

另外,如果你已经使用过brew安装过Python2了,那么记得把它删除掉brew uninstall python

Python3带来的vim安装的问题

安装vim如果不带–without-python参数的话,那么一定会安装Python2,哪怕你带上了–with-python3的参数也一样会安装Python2,因为–with-python是管Python2,而–with-python3是管Python3,这两个参数互不干扰,所以正确的方法是使用诡异的命令brew install vim --without-python --with-python3

如果你使用brew uninstall python了之后,那么You complete me这个vim插件将无法使用,必须重新编译。

参考

cppman在github上的的地址 https://github.com/aitjcize/cppman

如果你不巧要使用protobuf 2.4.1并且很不巧需要在macosx下编译,那么你需要修改google/protobuf/message.h,否则编译将会出错,具体的解决办法可以参考:https://code.google.com/p/protobuf/issues/detail?id=570

下面的代码是从帖子里拷贝过来的,替换掉原来的google/protobuf/message.h中的内容即可

I think the right way to fix it is to modify the message.h like below
#ifdef __DECCXX
// HP C++'s iosfwd doesn't work.
#include <iostream>
#else
#include <sstream>
//#include <iosfwd>
#endif

主要是参考这篇文章
http://www.tech-recipes.com/rx/9839/how-to-manually-partition-boot-camp-your-mac-for-windows-7/

1. 首先重启MACOS然后按下COMMAND+S键,进入到MACOS的安全模式,输入fsck -fy来修复硬盘。长时间使用MACOS会有很多有问题的空间,使用该命令后也可以空余出很多硬盘空间来。
2. 然后回到MACOS,使用命令diskutil list来查看所有的硬盘信息,这时应该会发现主硬盘的详细的信息。然后找到MACOS当前使用的分区,一般来说硬盘的第一个分区是启动区,第二个是MACOS当前使用的分区,第三个是MACOS出厂时的恢复分区,第二个分区一般名称应该是/dev/disk0s2,这时使用diskutil info /dev/disk0s2来查看硬盘的剩余的空间。
3. 使用命令diskutil resizevolume /dev/disk0s2 250G MS-DOS “WIN7″ 65G来重新改变MACOS的大小,第一个250G表示将该分区改变成为250G的大小,然后新建一个MS-DOS分区,卷标为WIN7并且大小为65G,然后一段时间的等待分区结束后,重启电脑按住ALT键使用U盘安装WINDOWS系统,要注意的是选择正确的WIN7分区格式化后安装WINDOWS即可。

顺便提一下,两个系统的存储时间是不同的,MACOS下认为BIOS中存储的是UTC时间,而WINDOWS下认为BIOS中存储的是本地时间,于是在WINDOWS下需要使用该命令来修改注册表,让WINDOWS认为BIOS中存储的时间为UTC时间:

Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

macos的console中没有彩色的提示符,非常不方便,在~/.profile中增加下面几句,设置console中使用彩色提示符及彩色的目录

alias l='ls -FG'
alias ll='ls -F -lh'
export PS1="\[\e[33;40m\]\w\[\e[37m\]]\[\e[0m\] "
export CLICOLOR="xterm-color"
export LSCOLORS="gxfxcxdxbxegedabagacad"