原文链接: https://spacevim.org/cn/use-vim-as-a-javascript-ide/

SpaceVim 是一个模块化的 Vim IDE,针对 JavaScript 这一语言的支持主要依靠 lang#javascript 模块以及与之相关的其它模块。

的这篇文章主要介绍如何使用 SpaceVim 搭建 JavaScript 的开发环境,侧重介绍跟 JavaScript 开发相关使用技巧。

在阅读这篇文章之前,可以先阅读《使用 Vim 搭建基础的开发环境》,对语言相关以外的功能有一个大致的了解。

安装模块

SpaceVim 初次安装时默认并未启用 JavaScript 相关语言模块。首先需要启用

lang#javascript 模块, 通过快捷键 SPC f v d 打开配置文件,添加:

[[layers]]
name = "lang#javascript"

启用 lang#javascript 模块后,在打开 JavaScript 文件时,就可以使用语言专属快捷键,这些快捷键都是以 SPC l 为前缀的。

代码自动补全

代码自动补全依赖 autocomplete 模块,该模块默认已经启动了,为 SpaceVim 提供了自动补全功能。

该模块会根据当前环境自动在多种补全引擎之间选择合适的,

默认的补全引擎有:deoplete、neocomplete、ycm、asyncomplete 以及 neocomplcache。

几种自动补全引擎当中,要数 deoplete 的体验效果最好。

语法检查

checkers 模块为 SpaceVim 提供了语法检查的功能,该模块默认已经载入。该模块默认使用 neomake

这一异步语法检查工具。对于 JavaScript 的支持是通过异步调用 eslint 命令来完成的。

可通过以下命令安装:

npm install -g eslint-cli

工程文件跳转

SpaceVim 自带工程管理插件,可以识别项目根目录,自动跳转alternate文件。

可以在工程根目录添加 .project_alt.json 文件,并加入以下内容:

{
"src/*.js": {"alternate": "test/{}.js"},
"test/*.js": {"alternate": "src/{}.js"}
}

通过以上的配置,就可以使用命令 :A 在源文件和测试文件之间进行跳转。

快速运行

在编辑 JavaScript 文件时,可以快速运行当前文件,这个功能有点类似于 vscode 的 code runner 插件,默认的快捷键是 SPC l r。按下后,

会在屏幕下方打开一个插件窗口,运行的结果会被展示在窗口内。于此同时,光标并不会跳到该插件窗口,避免影响编辑。在这里需要说明下,

这一功能是根据当前缓存器调用相对应的 node 命令,无需保存文件。

代码格式化

JavaScript 代码格式化,主要依赖 format 模块,同时需要安装相关的后台命令 js-beautify

[[layers]]
name = "format"

安装 js-beautify

npm install -g js-beautify

交互式编程

在编辑 JavaScript 文件时,可通过快捷键 SPC l s i 启动 node -i 交互窗口,之后使用快捷键将代码发送至解释器。默认快捷键都以 SPC l s 为前缀。

使用 Vim 搭建 JavaScript 开发环境的更多相关文章

  1. 使用 Vim 搭建 Python 开发环境

    原文链接: https://spacevim.org/cn/use-vim-as-a-python-ide/ SpaceVim 是一个模块化的 Vim IDE,针对 Python 这一语言的支持主要依 ...

  2. Ubuntu下利用vim搭建python开发环境

    1. 安装vim $ sudo apt-get install vim 2. 安装ctags,ctags用于支持taglist,必需! $ sudo apt-get install ctags 3. ...

  3. ArcGIS API for JavaScript开发环境搭建及第一个实例demo

    原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3. ...

  4. Sublime Text3搭建完美开发环境(Python+PHP+Javascript+nodejs+C++)

    一.Sublime配置(如已安装Package Control可跳过) sublime下载地址:http://www.sublimetext.com/3 安装Package Control插件: 直接 ...

  5. 在DW 5.5+PhoneGap+Jquery Mobile下搭建移动开发环境

    移动设备应用开发有多难,只要学会HTML5+Javascript就可以.用Dreamweaver5.5+PhoneGap+Jquery Mobile搭建移动开发环境,轻轻松松开发你自己的应用.让你用普 ...

  6. Windows搭建python开发环境,python入门到精通[一]

    从大学开始玩python到现在参加工作,已经有5年了,现在的公司是一家.net的公司用到python的比较少,最近公司有新项目需要用到python,领导希望我来跟其他同事training,就有了这篇博 ...

  7. 单机搭建Android开发环境(二)

    前文介绍了如何优化SSD和内存,以发挥开发主机的最佳性能,同时提到在SSD上创建虚拟机.为什么不装双系统呢?双系统性能应该会更好!采用Windows+虚拟机的方式,主要是考虑到安卓开发和日常办公两方面 ...

  8. 单机搭建Android开发环境(四)

    单机搭建安卓开发环境,前三篇主要是磨刀霍霍,这一篇将重点介绍JDK.REPO.GIT及编译工具的安装,下载项目代码并编译.特别说明,以下操作基于64位12.04 Server版Ubuntu.若采用其他 ...

  9. 单机搭建Android开发环境(三)

    单机搭建Android开发环境,第一篇重点介绍了如何优化Windows 7系统,以提高开发主机的性能并延长SSD的使用寿命.第二篇重点介绍了基于VMWare安装64位版的Ubuntu 12.04,并安 ...

随机推荐

  1. 利息力(force of interest)

    一.提出问题 二.定义 设积累函数连续可导,则时刻 t 的利息力为 三.单利在 t 时刻的利息力 单利的利息力是时间的递减函数 四.复利在时刻 t 的利息力 复利的利息力是常数!与时间无关. 称为复利 ...

  2. July 26th 2017 Week 30th Wednesday

    A man can't ride your back unless it is bent. 你的腰不弯,别人就不能骑在你的背上. Have you ever ride a horse, or ride ...

  3. ZT Factory Pattern

    图中的虚线箭头表示依赖关系

  4. Oracle Update语句

    Oracle没有update from语法,可以通过四种写法实现同样的功能: 一.标准update语法(常用.速度可能最慢) 当更新的表示单个或者被更新的字段不需要关联表带过来,此法是最好的选择. u ...

  5. luogu P3941 入阵曲

    嘟嘟嘟 这道题我觉得跟最大子矩阵那道题非常像,都是O(n4)二维前缀和暴力很好想,O(n3)正解需要点转化. O(n4)暴力就不说啦,二维前缀和,枚举所有矩形,应该能得55分. O(n3)需要用到降维 ...

  6. 开关WI-Fi显示列表

    实现效果: 使用方法: Show-NetList     #显示Wi-Fi列表 Show-NetList -off #关闭显示 (如图) 实现代码: function Show-NetList { P ...

  7. mongodb、parse-server、parse-dashboard 的启动命令

    1.mongodb启动: 1$ C:\MongoDB\Server\bin>mongod --logpath d:\mongodb\logs\log.log $ C:\MongoDB\Serve ...

  8. C#通过指针读取文件

    // readfile.cs // 编译时使用:/unsafe // 参数:readfile.txt // C#通过指针读取文件.使用该程序读并显示文本文件. using System; using ...

  9. iOS之序列化与反序列化

    所谓的序列化和反序列化就是将数据结构或对象和二进制串之间相互转换的过程: 本人的理解是当你于写数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对他进行序列化,转换成二进制文件,从而便于在磁盘 ...

  10. java根据数据库自动生成代码

    出现这个已经创建成功 出现这个情况,没有使用DBUtil,引入即可 已经创建完成 代码下载:https://github.com/weibanggang/tool 项目实例下载:https://pan ...