对程序员来说,写代码是再熟悉不过的事情了,windows系统自带有记事本软件,能写写小规模的代码,可是代码量大了,它的局限性就暴露得很明显了:没有语法高亮,没有自动提示,不支持项目管理,界面难看……

初学者写代码常常依赖于IDE里面的编辑器,但是IDE是比较重量级的软件,有些时候只是需要编辑编辑代码,轻量级的编辑器显然是更好的选择。

适合编辑程序的编辑器有很多,如:notepad++,ultraedit,editplus等,后两个我没用过,第一个我曾用过,但是因为反感此软件作者利用此软件散播政治观点,遂将其弃用。

武林至尊,宝刀屠龙

vim是一款跨平台字符界面软件,学会它好处很多,首先是思想会给使用者带来改变——原来编辑器还可以有多种模式,其次是再管理Linux主机的时候,出于性能上的考虑,是通过字符界面来与主机打交道的,此时如果会vim,无论是编写脚本,还是修改配置文件,都会游刃有余。

记得第一次用vim的时候,对其充满好奇,但是在它的欢迎界面上浪费了许多时间。vim是一款开源免费的软件,它也是一款慈善软件,所以在欢迎界面上才 会有“帮助乌干达的可怜儿童”这样的话语,当时觉得碍眼,所以费了些时间找去掉欢迎界面的办法,好像是找到了方法,但是这个过程让我感到有些烦躁,也就没坚持下来学vim。

后来,因为要管理linux主机,所以重新开始学习它,此时觉得这真是一款伟大的软件,无论是从其功能上看,还是从其所代表的扶危济困的善意看,顺便说说,乌干达是非洲东部的一个国家,我们国家对非洲援助不少,所以我们用它也不必有什么歉疚,而且,我们国家处于贫困中的人们、可怜的儿童也不少,有能力的情况下还是多关心关心自己人吧。

下面放送干货,告诉大家学习vim的方法,授人以鱼不如授人以渔。

无论学习什么东西,都要看第一手的资料,vim本身就有一套完善的帮助系统,要善用。仔细看的话,vim的欢迎界面已经提示了该进入帮助系统,虽然说是联机,但其实帮助文件是存储在本地的,没网也可以查看。

输入 :help 会进入vim的帮助系统,注意前面的半角冒号不能省略,其实也不用打全,只输入 :h 也能进入帮助系统。为什么要输入冒号呢?冒号是进入vim的命令模式的方法,之后就可以用命令与vim进行交互了,h就是告诉vim进入帮助系统。

进入帮助页面之后怎么读呢?就从上往下读呗。

有些朋友可能对大段的英文有恐惧心理,代码都是用英文写的,需要时常查看的文档大多也都是英文的,没什么可怕的。

vim的文档写得还是不错的,接下来对vim的学习,就由帮助系统来帮助有心学习它的人吧。

倚天不出,谁与争锋

有了vim,其实还不够,为什么?

  • vim有多种模式,模式切换会浪费一些时间,特别是输入中文的时候,还得先切换到英文模式才能输入命令
  • vim的界面难看,其实在字符界面的世界,它已经是不错的了,但是在桌面环境,有些寒碜,顺便说一句,windows下的卓面版vim叫做gvim

sublime观感上就要好很多了

与vim相比,sublime是用快捷键组合的方式来完成任务(sublime有仿造vim的插件,叫vintage,但笔者以为,把sublime当作vim用其实是不伦不类的做法,两者的优势都发挥不出来)。

需要注意的是sublime有种很特别的按键方式,比如上面的ctrl+k,ctrl+v,意思是说,先按ctrl+k,之后再按ctrl+v,这里的ctrl+k有些像vim里面的g键,本身只是一个命令前导,有点转义字符的味道在里面,这类方法是一种常用的扩展命令的手段。

sublime可以说是免费的,也可以说不是免费的,它可以无限期试用,只是没注册的话每隔一段时间会弹出一个提示框,影响也不大。

sublime上手难度几乎为0,图形界面嘛,几乎不需要学习成本,我的建议是在编辑过程中有什么需要,就去菜单栏里找,然后记下快捷键,以后就用快捷键,否则,每次都用菜单栏,不是编程人员应采用的使用方法。

总结

没有最好的,只有最适合的,vim和sublime只是笔者认为最好的两款编辑器,不同的人可能有不同的喜好,只要用得顺手,用什么其实无所谓。

不过如果发觉现在手上的编辑器不能满足效率或体验上的需求,或者就是想尝试一下新东西,那么可以使用一下本文介绍的两款编辑器,也许会有不一样的收获。

vim与sublime,程序员的屠龙刀和倚天剑的更多相关文章

  1. Mac开发利器之程序员编辑器MacVim学习总结

    Emacs和Vim都是程序员专用编辑器,Emacs被称为神的编辑器,Vim则是编辑器之神.至于两者到底哪个更好用,网络上两大派系至今还争论不休.不过,相比之下,Emacs更加复杂,已经不能算是一个编辑 ...

  2. Mac开发利器之程序员编辑器MacVim学习总结(转)

    一.关于Vim   Emacs和Vim都是程序员专用编辑器,Emacs被称为神的编辑器,Vim则是编辑器之神.至于两者到底哪个更好用,网络上两大派系至今还争论不休.不过,相比之下,Emacs更加复杂, ...

  3. 不要困在自己建造的盒子里——写给.NET程序员(附精彩评论)

    此文章的主旨是希望过于专注.NET程序员在做好工作.写好.NET程序的同时,能分拨出一点时间接触一下.NET之外的东西(例如10%-20%的时间),而不是鼓动大家什么都去学最后什么都学不精,更不是说. ...

  4. [转载]Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux

    代码编辑器或者文本编辑器,对于程序员来说,就像剑与战士一样,谁都想拥有一把可以随心驾驭且锋利无比的宝剑,而每一位程序员,同样会去追求最适合自己的强大.灵活的编辑器,相信你和我一样,都不会例外. 我用过 ...

  5. Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!

    Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器! http://www.iplaysoft.com/sublimetext.html 代码编辑器或者文本编辑器,对于程序员来说, ...

  6. 程序员的编辑器——VIM

    from:http://blog.chinaunix.net/uid-11278770-id-148579.html Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册      ...

  7. vim配置-程序员【转】

    Ubuntu11.10的vim升级后,版本为vi Improved 7.3.154功能很强大了.不过,程序员要根据自己的习惯配置好vimrc文件,是vim更加得心应手. 注:一般用户在自己的当前目录下 ...

  8. vim与程序员

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  9. linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: ag), 且有vim插件的

    发现一个比ack更快更好用的:  https://github.com/ggreer/the_silver_searcher   , 使用时命令为ag,它是基于ack的代码二次开发的,所有使用方法基本 ...

随机推荐

  1. [2012-04-25]shell大括号参数扩展(Parameter Expansion)

    参考了shell十三问 以及http://hi.baidu.com/leejun_2005/blog/item/ebfee11a4177ddc1ac6e751d.html 提炼下记忆方式: {% ca ...

  2. 在shell脚本中使用alias

    Linux shell有交互式与非交互式两种工作模式.我们日常使用shell输入命令得到结果的方式是交互式的方式,而shell脚本使用的是非交互式方式.   shell提供了alias功能来简化我们的 ...

  3. Tornado(cookie、XSRF、用户验证)

      --------------------Cookie操作-------------------- 1.设置Cookie     1.set_cookie(name,value,domain=Non ...

  4. salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现

    项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的au ...

  5. Linux和win7(win10)双系统时间错误问题 时间相差8小时

    转载自 http://m.2cto.com/os/201204/126212.html 有修改 前一段时间刚装了centos 5.4和win7的双系统.发现win7的系统时间不对,机子没上网,每天开机 ...

  6. MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)

    简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式. 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分.不同的存储引擎决定了 ...

  7. chrome开发工具指南(十一)

    检查资源 使用 Application 面板的 Frames 窗格可以按框架组织资源. 您也可以在 Sources 面板中停用 Group by folder 选项,按框架查看资源. 要按网域和文件夹 ...

  8. 串口数据缓存java版

    接触串口很久了,一直以来将都是将串口读取出来的数组转换成字符串通过string.contains()查找是否包涵目标数组,自己感觉low到爆,所以写了一个byte-buffer,测试还是蛮好用的.希望 ...

  9. 团队作业2--需求分析&原型设计

    一.需求分析 1.用户采访 a.采访对象:   分别对本学院同学.其他专业同学.部分老师等总计15人进行了采访调研: b.采访截图:    c.采访总结: (1).功能需求   能够将所提供的四个数进 ...

  10. 第二次项目冲刺(Beta阶段)5.23

    1.提供当天站立式会议照片一张 会议内容: ①检查前一天的任务情况,将遇到的瓶颈反馈,看看团队成员是否有好的建议. ②制定新一轮的任务计划. 2.每个人的工作 (1)工作安排 队员 今日进展 明日安排 ...