Javascript语法检查插件 jsLint for Vim

作者:mingcheng 来源:gracecode.com 时间:2009-03-11 16:37:00 

我们在编写 Javascript 时,Debug 是很痛苦的过程,而且有些语法问题虽使用 Firebug 能很快定位,但毕竟影响效率。

这里有个 Vim 插件,能使用 jsLint 帮助检查 Javascript 脚本中常见的语法错误,所以这篇文章可以帮助延长 F5 的寿命。

首先,下载 jsLint,解压缩到某个目录,然后将这个目录加入到 PATH 环境变量中。然后,下载 Vim 的 jsLint 插件,将它扔到 Vim 的 plugin 目录中即可。

当保存编辑好的 Javascript 文件时,插件就会调用 jsLint 检查文件是否存在语法错误。当然可以配置相应的配置选项(更多的选项可以参考其 Vim 插件脚本内容),例如

" 指定 jsLint 调用路径,通常不用更改let g:jslint_command = 'jsl'

" 指定 jsLint 的启动参数,可以指定相应的配置文件let g:jslint_command_options = '-nofilelisting -nocontext -nosummary -nologo -process'

" 插件的主要调用方式autocmd BufWritePost,FileWritePost *.js call JsonLint()

其实核心函数是 JsonLint() ,所以可以绑定快捷键,用于在任何时候检查错误。例如

map <C-s><C-j> :call JsonLint()<cr>

这样同时按 Ctrl + SCtrl + J 就可以检查 Javascript 语法有无问题了。

-- 更新 --

发现个不大不小的问题。就是在 Windows 环境中如果 Vim 本身设置了 utf-8 编码,由于与控制台编码不一致(控制台为 gbk 编码)造成 Javascript 文件在中文目录下不能正确启动 jsLint。

这里有个不完全的解决方案,更改对应的代码(从 34 行开始,加入判断)

let jsl_command = g:jslint_command . ' ' . g:jslint_command_options . ' ' . current_file  if has("win32") && v:lang == 'zh_CN.utf-8'    let jsl_command = iconv(jsl_command, 'utf-8', 'gbk')  endif  let cmd_output = system(jsl_command)    if has("win32") && v:lang == 'zh_CN.utf-8'    let cmd_output = iconv(cmd_output, 'gbk', 'utf-8')  endif

标签:jsLint,Javascript,调试,语法,插件
0
投稿

猜你喜欢

  • python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例

    2023-10-09 05:33:38
  • Python实现的求解最大公约数算法示例

    2022-01-12 12:15:35
  • 使用Python中PIL库给图片添加文本水印

    2021-09-07 19:09:52
  • 瞬间的设计(四)【碳酸饮料会】

    2009-12-23 13:56:00
  • 交互设计实用指南系列(4)—“有效性”之“简洁清晰,自然易懂”

    2010-01-05 16:52:00
  • 教你轻松掌握如何正确的修复Access数据库

    2008-11-28 16:21:00
  • python安装pil库方法及代码

    2021-10-22 16:55:24
  • python_opencv用线段画封闭矩形的实例

    2022-05-04 19:07:59
  • python中实现延时回调普通函数示例代码

    2023-10-03 02:17:04
  • 详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库

    2024-01-24 03:27:04
  • Python读取环境变量的方法和自定义类分享

    2022-11-13 23:47:08
  • Python正则替换字符串函数re.sub用法示例

    2021-03-04 17:25:42
  • python黑魔法之编码转换

    2022-08-11 10:03:41
  • Python+OpenCV 图像边缘检测四种实现方法

    2022-06-08 02:40:44
  • django2笔记之路由path语法的实现

    2023-04-16 06:23:54
  • tensorflow 1.X迁移至tensorflow2 的代码写法

    2023-07-19 08:30:54
  • 卸载tensorflow-cpu重装tensorflow-gpu操作

    2022-07-31 12:46:13
  • python中readline判断文件读取结束的方法

    2022-12-14 06:22:51
  • Python使用PyQt5/PySide2编写一个极简的音乐播放器功能

    2023-11-23 16:32:45
  • javascript 版 Bad Apple 字符动画

    2010-01-28 12:19:00
  • asp之家 网络编程 m.aspxhome.com