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. [LeetCode] Remove Nth Node From End of List 快慢指针

    Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...

  2. jmeter登录测试

    测试步骤: 1.测试计划--右键添加--Threads--线程组 2. 线程组--右键--http信息头管理器 输入Content-Type=application/json,表示接口请求的默认设置: ...

  3. mysql 连接远程服务器

    想要在本地连接远程服务器上的mysql, 需要在远程服务器的mysql配置里面,修改一下访问权限 mysql的配置里面,默认只能本地访问,在服务器上,修改/etc/mysql/my.cnf文件找到这一 ...

  4. php --图片加图片水印

    最近在做一个视频网站需要视频有一个封面图片,但是不能是普通的图片,能让别人一眼看出来是 视频,所以我就在图片上面加了视频播放器的那种水印,具体代码如下: <?php/** * 图片加水印(适用于 ...

  5. LeetCode OJ--Palindrome Number

    https://oj.leetcode.com/problems/palindrome-number/ 判断是否为回文数 取每一位存到vector中,再判断 负数不是回文数 class Solutio ...

  6. Codeforces 899 C.Dividing the numbers-规律

      C. Dividing the numbers   time limit per test 1 second memory limit per test 256 megabytes input s ...

  7. 分享Kali Linux 2017.1镜像

     分享Kali Linux 2017.1镜像 Kali Linux官方于4月24日发布Kali Linux 2017.1版本.该版本仍然采用滚动更新方式,所以软件源为kali-rolling.至现在分 ...

  8. 各语言最原始数据库访问组件封装DBHelper

    源码:https://github.com/easonjim/DBHelper bug提交:https://github.com/easonjim/DBHelper/issues 每个语言放在不同的分 ...

  9. python super 的正确理解

    http://www.jb51.net/article/87807.htm super指的是MRO中的下一个类

  10. poor-pigs(非常好的思路)

    https://leetcode.com/problems/poor-pigs/ package com.company; class Solution { // 下面第二种做法貌似是OJ原来的做法, ...