对程序员来说,写代码是再熟悉不过的事情了,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. MySQL之数据的备份与还原

    备份db_book:这里用到了cmd,以管理员方式运行,不然后面使用mysqldump会被拒绝访问!!! 1.启动cmd,输入命令,切换到MySQL的bin文件: 2.然后输入备份命令: 备份好的sq ...

  2. Django models数据库配置以及多数据库联用设置

    今天来说说web框架Django怎么配置使用数据库,也就是传说中MVC(Model View Controller)中的M,Model(模型). 简单介绍一下Django中的MVC: 模型(model ...

  3. iOS 环信集成单聊界面,出现消息重复问题

    解决办法很简单,数据重复就是EaseMessageViewController和ChatViewController重复调用了这个吧?//通过会话管理者获取收发消息 [self tableViewDi ...

  4. mysql创建字段非空NOT NULL的好处

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt338 很多表都包含可为 NULL (空值) 的列,即使应用程序井不需要保存 ...

  5. oop 第三次作业 文件读写

    oop第三次作业 GitHub 对于迟交我感到很抱歉 031602510 体会 这次的用到了之前的文件读写,传参 定义函数有返回值,使代码更加简洁.面向对象的程序设计,在面对函数多元的情况下,编程更加 ...

  6. 第二次项目冲刺(Beta阶段)第一天

    a. 安排连续七天的敏捷冲刺. 2017.5.18完成冲刺计划安排 2017.5.20完善主页面 1st day(目前位置) 2017.5.21完善功能 2st day 2017.5.22添加自定义重 ...

  7. 201521123039《Java程序设计》第十三周学习总结

    1. 本周学习总结 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 下面是IP地 ...

  8. 多线程:深入Thread.sleep

    一直都说,Threed.sleep是不会释放锁,而wait是释放锁的(对象锁),现理论上来分析一下. 由于CPU分配的每个线程的时间片极为短暂(一般为几十毫秒),所以,CPU通过不停地切换线程执行,这 ...

  9. 多线程面试题系列(5):经典线程同步 关键段CS

    上一篇提出了一个经典的多线程同步互斥问题,本篇将用关键段CRITICAL_SECTION来尝试解决这个问题.本文首先介绍下如何使用关键段,然后再深层次的分析下关键段的实现机制与原理.关键段CRITIC ...

  10. iOS - 内购总结

        如果有人以后要在做内购这一块.希望可以好好的阅读这篇文章,虽然不是字字珠玑.但是也是本人亲人趟过了无数的坑,希望可以对大家有所帮助!  下面是在研究工程中遇到的问题(iOS 内购的流程如下 1 ...