作为一名开发者,应该对编辑器之神Vim与神之编辑器Emacs有所耳闻吧。编辑器之战的具体细节有兴趣的童鞋可以google之。

Vim最大的特点是打开速度快,功能强大,一旦掌握了其中的命令,编程过程双手就不需要离开键盘了。

用习惯了Vim的另一个好处是在linux下可以很轻松地用vi来处理文件,当然emacs也可以做默认编辑器,但是不是每台机器都有安装Emacs。

今天主要给大家介绍Vim在前端领域的一些常用插件:

1.mark.vim

mark.vim主要的功能是变量的高亮。

选中要高亮的词,使用 \m 来使其高亮,多个词的高亮会显示为不同的颜色,在不需要查找的时候以及代码review的时候使用效果还是挺不错的,

使用\n可以去除所选的词的高亮。

更多详情可以点击插件主页了解。

ps: 查找单词可以使用 * 这个命令来进行快速搜索

2.zencoding.vim

zencoding.vim后来改名为Emmet.vim,主要功能是实现代码的快速编写。

具体教程可以参见官方的网站

个人感受是做页面重构的时候用得比较多,通过命令可以快速生成html的结构,提高了前端开发的生产力。

3.ctrlp.vim

ctrlp.vim主要功能是对文件以及buffer进行模糊查询,快速打开文件。

操作实例如下图所示:

在知道文件名的情况下,使用ctrl + p打开此插件,输入文件名,实则是文件名开头几个字母就可以快速打开文件。

ps:如果当前的文件已经保存好,那么会直接替换成搜索到的文件,如果没有保存的,会进行窗口的分隔类似与sp的命令。

所以在对比文件的情况下我一般会用vsp来分割窗口或者tabnew一个新的tab,再打开新的文件。

如果需要查其他目录或者忘记了文件名的话,就可以使用下面的插件NERD_tree了。

4.NERD_tree.vim

NERD_tree.vim主要功能是一款文件浏览器,可以查看文件目录结构打开相应的文件。

具体演示如下图所示:

我是使用绑定的快捷键F4来打开文件浏览器,光标在文件浏览器中可以用jk来移动,回车键可以打开文件,按q可以退出文件浏览器。

5.neocomplcache.vim

neocomplcache.vim主要功能是进行代码补全,

优点是对上下文进行索引,结果保存到缓存中,自动补全的效率比较高,另外匹配的也比较精准。

补全效果如下图展示:

im中的代码补全插件比较多,一般补全的智能性依赖于插件的字典,变量缓存机制。

从这点看neocomplcache也是挺不错的,另外智能读读取路径的功能也是挺赞的。

6.multiple_cursors.vim

multiple_cursors.vim的主要功能是多光标多行编辑。

主要效果可以见下面的图片:

在没有这款插件前,原生命令一般是进行块操作,在可视模式下对多行进行操作。步骤比较冗长,也容易出错,

这款插件可真谓利器啊,同时它还支持正则的操作呢。

7.commentary.vim

commentary.vim主要功能是可以批量注释单行或多行以及去除注释;

绑定退格键,选择多行可以直接以/**/的形式注释代码

最后,几款插件都是在前端开发中经常用到的,还有很多功能,原生的一些命令还是可以做的,

另外用Vim还有一个好处是从写C到写PHP再到写JS,都可以用同一个编辑器,还是挺方便的。

快捷键神马的自己在vimrc中配置即可,

打造自己的IDE的过程虽然折腾,但是之后使用的过程还是挺爽的呢~~~~

Vim常用插件——前端开发工具系列的更多相关文章

  1. 我常用的前端开发工具—cutterman,mark man,sublime text,yeoman,gulp……

    虽然才刚刚开始练习切图,不过之前还是接触到不少工具的,决定一一用上,果然用了一天就切完了一个psd,对于一个菜鸟来说,还是很开心的. 我先从学ui网下载了一个psd.切图肯定是要用的ps的啦,这里和大 ...

  2. 前端开发工具-VsCode插件【个人开发常用】

     前端开发工具-VsCode插件[个人开发常用] Atom One Dark Theme-主题 Chinese (Simplified) Language Pack for Visual Studio ...

  3. Web前端开发工具总结

    前端开发工具: web前端开发乃及其它的相关开发, 推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs. ...

  4. sublime 前端开发工具

    http://code.kpman.cc/2014/10/14/sublime-text-3-mac-%E6%8C%87%E5%8D%97/ gif 屏幕录制:http://recordit.co/ ...

  5. 超高速前端开发工具——Emmet

    [由于 CSDN 不支持富文本编辑器写的文章迁移到 Markdown 编辑器中修改,已重发了一个重新排版的版本, 新版链接:http://blog.csdn.net/ys743276112/artic ...

  6. Mac005--VS&webstorm前端开发工具安装

    Mac--Visual studio Code工具安装(企业常用) 安装网址:https://code.visualstudio.com/download 设置格式: 1.配置工作区与终端字体大小 常 ...

  7. 【转】iOS开发工具系列(按功能分)

    http://www.cocoachina.com/newbie/basic/2014/0417/8187.html 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode ...

  8. Linux常用命令及vim的使用、vim常用插件(推荐)

    看了3篇文章,很好 vim中的区域拷贝 剪切,粘贴: 正常模式,移动光标到剪切的区域开始处,按v,进入可视模式,然后选择区域.按x键,剪切.到指定位置按p粘贴. 撤销按u 恢复按ctrl-r  简明 ...

  9. 【翻译】我钟爱的Visual Studio前端开发工具/扩展

    原文:[翻译]我钟爱的Visual Studio前端开发工具/扩展 怎么样让Visual Studio更好地编写HTML5, CSS3, JavaScript, jQuery,换句话说就是如何更好地做 ...

随机推荐

  1. [LeetCode 题解]:Path Sum

    前言   [LeetCode 题解]系列传送门:  http://www.cnblogs.com/double-win/category/573499.html   1.题目描述 Given a bi ...

  2. java(二)认识类和函数

    java中,声明类使用new关键字 类名 类变量名 = new 类名(构造函数形参表): 静态函数内不能有非静态类,但是可以有非静态函数. package com.company; /** * Cre ...

  3. MacOS安装使用Node.js

    1. 到官网https://nodejs.org/zh-cn/download/下载,选择Macintosh Installer, 如下: 2. 按预设的下一步,Node.js版本为v6.10.0, ...

  4. 7个常见Javascript框架介绍

    设计开发中的“框架”指一套包含工具.函数库.约定,以及尝试从常用任务中抽象出可以复用的通用模块,目标是使设计师和开发人员把重点放在任务项目所特有的方面,避免重复开发.通俗的讲,框架就是最常用的java ...

  5. leetcode 移动零

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 这道题比较好想出来 /** ...

  6. 基于.net standard 的动态编译实现

    在前文[基于.net core 微服务的另类实现]结尾处,提到了如何方便自动的生成微服务的客户端代理,使对于调用方透明,同时将枯燥的东西使用框架集成,以提高使用便捷性.在尝试了基于 Emit 中间语言 ...

  7. mongodb 连接字符串

    mongodb 连接字符串 <!--连接字符串--> <add key="ts.students" value="mongodb://192.168.0 ...

  8. 《Beginning Java 7》 - 1 - Initializer 初始化器

    Initializer 分两类:class initializer 类初始化器   instance initializer 实例初始化器 1. class initializer,在编译时运行,通过 ...

  9. [USACO09FEB] 改造路Revamping Trails | [JLOI2011] 飞行路线

    题目链接: 改造路 飞行路线 其实这两道题基本上是一样的,就是分层图的套路题. 为什么是分层图呢?首先,我们的选择次数比较少,可以把这几层的图建出来而不会爆空间.然后因为选择一个边权为0的路线之后我们 ...

  10. jQuery判断是否选中

    1.判断check是否选中 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...