增强vim的js语法高亮和代码阅读能力

vim默认是可以支持javascript源代码的语法高亮,vim的Taglist插件也可以对javascript代码进行关键信息提取,但实际用于开发时总觉得不够给力。具体表现在哪些方面呢?

  1. vim无法对OOP风格的函数定义进行语法高亮
  2. vim默认不识别.jsm为Javascript
  3. Taglist无法识别诸如:var foo = function bar() {} 这种形式的函数名提取
  4. ctags对javascript代码的自动补全索引生成算法不够智能,导致vim中使用代码补全功能时会面对大量“噪音”提示

目前,对于问题1、2和3,我已经找到了解决方法,问题4先凑合着用吧,好[......]

Read more

, , , , , ,

2 Comments

[原创Zotero系列教程之五]引用文献

题记:毕业以后,Zotero用的比较少了。看了下这篇文章的草稿保存时间是2010-02-28,也就是说从草稿到发布居然用了半年多的时间,期间主要还是忙于其他事情,把这篇文章给耽搁了。今天重新整理一下,分享出来。以后还会继续用到Zotero,也会继续推广使用Zotero。

前面几讲已经覆盖了Zotero在收集和整理文献方面的使用方法,本文将讲讲如何在写论文的时候实现“所见即所引”方式的论文引用和参考文献自动格式化和排版方法。

1. 安装Zotero Word Integration Plugin

http://www.zotero.org/support/word_proce[......]

Read more

, ,

1 Comment

Linux C/C++编程FAQ系列 之三

如何使用core dump文件来定位程序出错位置和出错信息?

编译时找不到名为 foo.h 的头文件?

我明明已经包含了 foo.h, 怎么编译时还报 undefined reference to ‘foo’?

想看下 Linux 下一些命令的源码,找不到

如何找到某个命令是属于哪个包的

Linux 如何支持大文件(单个文件大于2GB)的I/O操作?


如何使用core dump文件来定位程序出错位置和出错信息?

step 1: 加载可执行文件崩溃时所产生的core dump文件

gdb -c

或者,可以在gdb启动之后使用命令

[......]

Read more

, , ,

No Comments

感恩节快乐

祝所有人感恩节快乐!

特别地,我要感谢所有关心我的人,是你们给了我温暖!

特别地,我要感谢所有帮助我的人,是你们给了我动力!

特别地,我要感谢所有支持我的人,是你们给了我勇气!

BUT

我今晚要在小黑屋加班,不能回家,唉~

,

No Comments

GoogleChrome的多线程文件下载方法

我承认这是一篇灌水,我也承认这是一个典型的标题党。

Chrome虽然目前发展态势喜人,性能优异,但不可回避的是,其辅助下载扩展方面距离Firefox的DownThemAll还是差着几条街的。今天查了一下Google官方的扩展库中的下载扩展:https://chrome.google.com/extensions/search?itemlang=&hl=en&q=download

总结一下问题:

  1. 对Windows的支持较好,对Linux支持几乎等于零(chromeget实在bug多多,代码写的很随意)
  2. 看上去是扩展,其实都需要调用外部程序(平台依赖性的[......]

Read more

, , , ,

No Comments

Linux C/C++编程FAQ系列 之二

创建和使用静态库文件(.a)

创建和使用共享链接库文件(.so)

检查可执行文件中的所有共享库文件的依赖是否可以正确的找到

查看ld的搜索路径

为何在程序出现段错误等严重内存错误时系统无法生成core dump文件?


创建和使用静态库文件(.a)

step 1: 将源代码编译成obj文件

无论静态库,还是动态库,都是由.o文件创建的。因此,我们必须将源程序hash.c通过gcc先编译成.o文件。

在系统提示符下键入以下命令得到hash.o文件。

$ gcc -c hash.c -o hash.o

step 2: 由obj文件创建静态库

静态库文件名的命名规范是以li[......]

Read more

, ,

No Comments

Linux C/C++编程FAQ系列 之一

这个FAQ系列的基础是我之前所带的一个Linux下C开发项目的内部Wiki,在可以预期的一段时间内,我仍将在Linux C/C++开发项目管理和培训上持续实践着。所以,我决定在我的blog上定期更新这个FAQ,方便所有Linux C/C++开发新手和进阶选手的快速学习和查阅。

  1. man手册页的阅读
  2. 关于正则表达式
  3. 多线程编程
  4. null和NULL怎么区别?应该用哪个?
  5. glib和glibc之间的关系


什么是man手册

首先,man是manual的简称,中文说法可以是手册。 许多Linux的新手经常会因为一些命令的使用或函数的使用不清楚而发帖求助,老鸟们在回帖的时候一般[......]

Read more

, , ,

No Comments

svn post-commit hook应用之自动群发邮件

在小团队应用开发时,我们喜欢在每次有用户commit更改时,自动通过SMTP发送邮件的方式来通知所有的开发人员。在没有自己实际动手配置这个应用时,我的第一反应就是通过svn的post-commit机制来实现,所以一直觉得应该是一个easy job

But…

实际动手后发现,有bug

不管是通过Google,还是百度,你如果以”svn post commit smtp“或其他类似关键字搜索解决方案,大致分为以下几种方法:

  1. 基于mailer.py
  2. 基于svnnotify
  3. 基于sendmail

其中,svnnotify方法用到的发送邮件脚本是Perl写[......]

Read more

, , ,

No Comments

以安全的名义 2.0

写在前面的话

最近一段时间的互联网实在欢乐非常,从数字安全公司360“揭秘”数字娱乐公司腾讯“窥私”开始,到昨天腾讯宣布“有你没我”战略,今天腾讯又联合“5大”互联网软件厂商联合声明和360不兼容之后,有人称双方的这一系列行为是“一场战争”,有人说这是“狗咬狗”,还有人说是“XX保卫战”。不过,在我看来,这其实是中国互联网历史上最盛大的一次娱乐狂欢。名人和草根,砖家和五毛,网民和市民,都以评价、支持和鄙视数字安全或数字娱乐为乐。公说公的,婆说婆的。QQ拥趸们津津乐道于周董的流氓出身和3721旧事,360蜜们对QQ的“一山不容二虎”、“垄断”和“抄袭”是深仇大恨。在360强有力的“草根”公[......]

Read more

,

No Comments

Bash快捷键的思维导图

关于GNU Bash的快捷键列表、cheatsheet网络上已经有很多总结了,但我坚信只有自己掌握了的,才是自己的。程序员是不喜太多记忆的,因为有太多需要去“死记”的东西。API要记,命令要记,端口要记,语法要记。。。

我利用中午吃完饭的午休时间对照网上的各种cheatsheet,自己先整理了一下我所知道,我所认为有助于提高实际工作效率的快捷键功能,然后逐一测试、验证、添加上快捷键。部分快捷键确实是第一次接触,我想如果不常用、不实用的快捷键,记不住也罢。

今天学到的最实用的我以前不知道的快捷键当属ALT-.和CTRL-u,前者在进行文件复制(目的文件夹太长了。。。)操作时太给力了,[......]

Read more

, ,

No Comments