作为程序员,最不爽的一件事是被亲戚叫去修电脑。
“喂,怎么跟你们讲,我是写代码的,不是修电脑的!什么?代码是什么?!”
小白:为什么程序员就不能修电脑了?
小程:会不会修都有可能,关键在于程序员会觉得修电脑是很掉价很low的事情。修电脑,找专业的维修员就对了,给点机会别人赚钱嘛。
小白:那如果是下图的那位让你修电脑呢?
小程:……我不仅会修电脑,我还会弹吉他与画画。

修电脑不是程序员的基本技能,而打字,却是程序员的基本技能之一。
写代码、写说明文档、写心得记录等,打字都是必不可少。一个好的键盘是硬件上的需求,而一个好的编辑器则是软件基础的重要内容。
小白:不是算法与数据结构才是最重要的吗?
小程:作为一线开发工程师,绝不能只重思路而不管操作细节。程序员应该经常想办法改善工作流程与工具,才能真正提高工作效率,而编辑器就是其中要考虑的一个工具。
本文解决一个问题:程序员务必找到属于自已的编辑器。
对于写程序来说,用什么编辑器,很多时候是很自然的结果。比如,如果是开发windows桌面软件的,那自然就选择微软的集成开发环境即IDE了,诸如vc、vs之类;再比如xcode、android studio 之类的选择,都跟开发平台直接相关。之所以选择这些IDE,是因为它们不仅可以编辑代码,而且还能编译与调试程序,甚至可以直接运行程序到目标设备。集成而且靠谱,是IDE应该提供的特质。对于特定平台的大项目的开发,特别是团队合作时,选择一个统一而合适的IDE是必要的。
但是,如果是写说明文档,写心得体会或文章编辑,用IDE就不是一个好的选择,毕竟只用到了编辑的功能,没有必要去启动一个庞大的集成开发环境那么笨拙而且操作缓慢。就算是要编译调试,也是可以考虑用编辑器加编译器或调试器的办法来实现,而不使用IDE。
小白:说那么多,就是鼓吹要有一个轻便的文档编辑器了,是吗,吹神?
小程:是的!有这个东西可以给你工作提速,而且能让你很爽。
有一堆编辑器可以选择:
notepad++
textmate
editplus
notepad2
ultraedit
vim
emacs
sublime
......
以上选择哪一个都可以,只要你用得顺手。当然,如果选择一个跨平台的,有可能更好,因为换一个平台不必另择新欢。
这里只介绍 sublime跟 vim。
(1)sublime text
sublime是一个容易上手而且能实实在在提高工作效率的工具,值得花时间去掌握(除非你已心有所属,而且已容不下第二个了)。
小白:我应该怎么精通这个武器呢?
小程:原则上,在使用时,不要急着去操作,而是多想一想,是不是可以更省事的操作?是不是有更好用的插件等着我去用?你应该不断地去改进你的工具。至于,具体如何使用sublime,搜索一下教程或经验总结就好,实战地用。
sublime的使用经验不在这里展开,但我会介绍一个有趣的插件,即plantuml。
plantuml,让你可以写代码来绘图。
使用plantuml绘图,实际就是写python代码。
(a)安装plantuml插件
在菜单tools中找到Command Palette(或者shift+cmd+p),输入add repository并回车,输入
https://github.com/jvantuyl/sublime_diagram_plugin.git
并执行。
再次打开Command Palette(shift+cmd+p),输入install package,
选择“Package control:install package”,执行完后,输入diagram,
再找到sublime_diagram_plugin并安装。
重启sublime,在Preferences -> Packages Setting,
如果看到 Diagram, 说明已经安装成功。
(b)安装graphviz
需要绘图工具库graphviz的支持,安装:
brew install graphviz
(c)使用puml
新建一个file,开始写代码绘图。按command+m,会显示一个png图,比如:


小白:哇,写代码就可以绘图,这个好酷!
小程:对于简单的图,这个工具是一个很好的选择,但对于复杂的而且有方向指向的图,别的工具很可能是更好的选择。并且,sublime的优势远不止这个插件的使用。
(2)vim
vi,一个古老而声名远播的编辑器。它用键盘解决一切问题,可以让你着迷。
vim的入门是有难度的。同样,这里不介绍它的学习,只是演示一下它的使用,如果有兴趣可以再深入了解。
macvim的演示

小白:哇,到处是刀光剑影!
小程:在熟练掌握vim后,是可以做到指哪打哪的,就是这么实在!

网友评论