`
Teok
  • 浏览: 147731 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用VIM写代码的一次简单实践

阅读更多

最近终于开始闲了下来,加上在一位vim很熟练的同事的各种热心的帮助下,我决定开始学习vim。所以上周花了半天时间,跟着这篇文章《简明 Vim 练级攻略》练习使用vim,我练完了文章说的前三级。

 

昨天上午,坐下来用vim写一个非常简单的工具来体会一下如果完全用vim来写程序。

 

先看看工具的需求:在shell里面敲一个命令再加一个不认识的单词作为字符串参数,然后可以把这个字符串保存到某个固定文件中。这就是我平时在linux下在用的简陋的英语生词本。这个需求很简单,而且我会作得很简单,一是为了防止出现编码过程中那些复杂的情形,二是有用的东西,三是一开始别搞的太复杂,容易丢失信心。

 

我的具体工作流程是这样的:

1.配置好vim。刚接触vim时会被vim及其“简陋”的功能吓到,不过vim插件确实非常强大,这些插件可以在http://www.vim.org/找到。如何配置,好感觉有好几种,除了自己看每个插件的文档之外,我还去问vim很熟悉的同事,把他们常用的插件也装过来。

我用到的插件有:JavaBrowser,AutoComplete和Grep。

我把我的vim配置贴在文后。以供参考。

2.用java写读取文件、检查重复、往文件中插入单词这些功能。

3.用ant脚本编译代码并打包成可执行的jar包

4.用shell脚本来执行打包出来的jar包

 

一些要说明的地方:

3.ant用到的build脚本,我是参照了这篇文章:introduce ant。default.properties文件也是参照它提供的模板改的。另外,如果要打包出来可执行的jar,那么就需要在menifest.mf文件中指定main class的路经。这里我参考了ant关于文件的文档。另外,ant的faq非常值得阅读,它对我们快速了解ant诸多强大功能和解决常见问题非常有帮助。

4.使用:

 

$add2cute someUnknowWord
 

 

代码我贴在文后。需要说明是代码写的非常简陋,几乎很多地方都是magic code,但是限于这是我自己用的小工具,我不需要写的很功能齐全。更重要的是为了练习用vim开发软件啊,这才是重点。

 

总结:

1.vim没有debuger,所以要debug程序只能写log代码然后分析,这点是我一直诟病vim的地方,因为太依赖与eclipse了,如果让我debug的时候看不到哪个变量的实时的值,我会很没有分析的思路的。从这一点上将,ide的debuger确实在大多数情况下帮助我们快速定位root cause,但是我前一阵子碰到的几个多线程的问题,debuger也是无力的。也许分析log来debug,对于我这样直接入手ide的人来说确实有点难,但是正如我的同事所言:用vim的时候,你感觉你很贴近程序,那才是本质啊。

2.vim没有强大的refactor工具,目前我的感觉是即便是用相应的插件来提升vim refactor的效率,但是刚开始容易出现错误或者遗漏,而这些在eclipse里面就是一个快捷键。

3.需要不断练习。那些快捷键不用时忘的很快。

4.不能方便的查阅api doc,所以我只好开着online api doc,一边写代码。然后突然发现,如果没有ide,我连java.io或者lang包里的常用api都不会用。

5.要很熟悉正则!!这点非常重要。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics