vim与sublime

对程序员来说,写代码是再熟悉不过的事情了,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. VIm变成sublime (转)

    sublime在ubuntu下始终支持不是很好, 特别是对中文输入的支持,还有一些插件在ubuntu下也不能用. 在ubuntu下还是用vim吧.  我们一起把vim变成sublime. 只需要三步 ...

  2. vim与sublime,程序员的屠龙刀和倚天剑

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

  3. Sublime Text编辑器 + vim插件

    Sublime安装 Sublime Text 是一个代码编辑器.Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim. Su ...

  4. 环境与工具3:从打字开始 | vim | sublime

    作为程序员,最不爽的一件事是被亲戚叫去修电脑. "喂,怎么跟你们讲,我是写代码的,不是修电脑的!什么?代码是什么?!" 小白:为什么程序员就不能修电脑了? 小程:会不会修都有可能, ...

  5. 学会了 Vim 还有必要用 GitHub Atom 或者 Sublime Text 么?

    亦俊 ,90后,Vim 专栏作者 563 人赞同 Vim 知乎专栏:http://zhuanlan.zhihu.com/hack-vim 用过 [ Visual Studio 2015 ] [ Sub ...

  6. Sublime Text 全程指引 by Lucida

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 博客园:@figure9 原文链接:http://zh.lucida.me/blog/sublime-text-complete ...

  7. Sublime Text 3 杂记

    Sublime Text 是一个功能强大的代码编辑器(收费,但可无限期试用).由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim.Sublime T ...

  8. Sublime Text3快捷键以及常用插件

    工若善其事,必先利其器.做为一个web前端开发人员,必须有一个得心应手的编码工具,本人推荐Sublime Text3和WebStorm,但WebStorm太过智能和耗性能了对初学者来说弊大于利,所以我 ...

  9. Sublime Text 3 Install Markdown Preview Plugins

    Sublime Text 3 Install Markdown Preview Plugins. [TOC] 前言 什么是Markdown Markdown是一种可以使用普通文本编辑器编写的标记语言, ...

随机推荐

  1. 10.1综合强化刷题 Day4

    财富(treasure) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有n个小伙伴.每个小伙伴有一个身高hi. 这个游戏是这样的,LYK生活的环境是以 ...

  2. 两个本质相同的dp

    1.划分数 描述:给定数字N,将其划分为不超过K组,求不同的划分的总数(比如4——1 2 1,2 1 1就算做一种划分) 2.Dollar Dayz 描述:给定数字N,将其随意划分,但是组成数字不可以 ...

  3. spring配置文件中配置sessionFactory失败

    配置失败主要原因有两个: <bean id="studentDaoImp" class="com.gxwuz.maven.dao.StudentDaoImp&quo ...

  4. js对象浅拷贝和深拷贝详解

    js对象浅拷贝和深拷贝详解 作者:i10630226 字体:[增加 减小] 类型:转载 时间:2016-09-05我要评论 这篇文章主要为大家详细介绍了JavaScript对象的浅拷贝和深拷贝代码,具 ...

  5. Using Blocks in iOS 4: Designing with Blocks

    In the first part of this series, we learned how to declare and call basic Objective-C blocks. The m ...

  6. SQL Server数据库连接,Web.config的正确配置 [转]

    http://database.51cto.com/art/201007/213289.htm 此文章主要介绍的是Web.config正确配置SQL Server数据库连接的实际擦步骤,在图5-6中, ...

  7. 关于 OGRE 与 OSG 的简单比较 (转)

    关于 OGRE 与 OSG 的简单比较 1   前言 我曾经细致阅读过 OGRE 和 OSG 官方提供的文档,有<Pro OGRE 3D Programming>.OGRE自带手册(man ...

  8. BRDF

    Q radiant energy:   J Φ radiant flux: W dQ/dt E irradiance:  W/m2 dΦ/dA I radiant intersity: W/sr  d ...

  9. 使用Python来编写一个简单的感知机

    来表示.第二个元素是表示期望输出的值. 这个数组定义例如以下: training_data = [  (array([0,0,1]), 0),  (array([0,1,1]), 1),  (arra ...

  10. Linux学习之十八-sudo分权管理

    sudo分权管理 1.为什么需要sudo? 当我的主机是多人共管的环境时,如果大家都使用 su 来切换成为 root 的身份,那么就得每个人知道 root 的密码,这样密码太多人知道可能会流出去,很不 ...