文件开头说明了,这三个数字分别代表时间戳、总执行时间、脚本自身执行时间。也就是说,这个css.vim
用了2620.306
毫秒,比较夸张。
可以用 vim test.css --startuptime output.log
,然后查看output.log
,看哪些脚本加载的时间长,可以删掉一些不大用得上的。
关键问题是,第一种写法并没有增加可读性啊。反而因为多了冗余信息,我感觉可读性还下降了。
当然,从来没接触过 Ruby 的人,可能更容易看懂第一种写法,但问题是这样的人,还敢让他维护 Ruby 代码?那得是多心宽啊。
#61 楼 @sallon88 Linux 下面可以看看 xcape: https://github.com/alols/xcape 不过我最近没用 Linux,还没试过效果。
#50 楼 @shangrenzhidao 我错了,刚才专门试了一下,原来如果.vimrc
不存在,$MYVIMRC
这个变量是不起作用的。那你只有自己在$HOME
目录建一个.vimrc
文件了
#47 楼 @shangrenzhidao 打开 VIM 后,使用命令:e $MYVIMRC
编辑.vimrc
,不用专门去找
我现在的映射方案: 单独按 capslock,当作 esc 单独按 enter,仍然是 enter capslock 或 enter 与其他键组合按,当作 control
之前恢复购买 Dash 时遇到过类似问题,据开发商的说明,这是 Mac App Store 的一个 bug。这是他们关于如何处理这个问题的说明: http://kapeli.com/inappfailed
不知道你的情况是不是类似。
京东的脑残规定,写书评 500 字以上才有分拿……
PersonalBrain?
这个是 Lion 之后新加的一个特性,长按一些键可以输入一些非 ASCII 的西文字符。对 VI 用户,这个功能确实坑爹了,可以把它关掉,在终端下执行:
defaults write -g ApplePressAndHoldEnabled -bool false
目前仍然是对翻墙支持最好的浏览器
“embedding integers in points“,汗一个,看了原文才知道是 pointers。 其实说的是这样的意思:比如在 c 语言里面经常可以用类似这样的方式描述类型不定的数据:
struct foo {
union {
int simple_data;
void* complex_data;
};
/* ... */
};
即如果数据足够小,就直接存放,否则就放它的指针,实际数据在另外的地方。但是这样就需要知道,现在究竟是哪种情况,直观的做法是另有一个成员表示当前类型:
struct foo {
enum {/*...*/} type;
union {
int simple_data;
void* complex_data;
};
/* ... */
};
由于对齐的原因,这个 type 占用的空间可能多至一个字长,多么浪费啊^^ 不过这里有个取巧的办法,出于效率的考虑,正常分配出来的内存,地址是要求对齐的,即使是 16 位机(应该没有 8 位机能运行 Emacs 吧^^),也是按双字节对齐的,那么正常的指针,最低位的应该是 0,于是就可以把类型信息嵌入到这些位上了。
lubuntu,使用 LXDE 做桌面环境,非常轻省,适合不喜欢折腾系统的人
没仔细用过 TextMate,不过一般同时支持 complete 和 snippet 的软件,触发的时候应该是把两者中匹配的项都加到候选列表,可以在列表中选择,或者继续输入,缩小候选范围。auto-complete 不是也有 yasnippet 的 source 吗。
python + pyside or pyQt,速度不是问题,因为 Qt 是 native 代码,只有业务逻辑是运行 python bytecode,而这部分如果遇到计算密集型的任务,还可以根据需要用 c/c++ 重写,给 python 调用。
做跨平台的桌面开发,Qt 也许是目前最好的选择,现在的 WPS Office 就是基于 Qt 开发的,GUI 部分取代了原来上百万行的 Delphi 代码。 MONO 可能也不错,小规模的软件肯定没问题,我用过一些用 MONO 的开源软件,感觉还不错。