Vim之代码异步检测插件 ALE

前言

知名的 vim 代码检测插件主要是两个

syntastic

neomake

ALE

ALE 虽是后起之秀,但目前是功能最强大的一个

实时检测。为了让代码可以在编辑时进行实时的检测,ale 的运行方式是将代码做为 stdin 导入检测工具(不支持的话使用临时文件),这样做的好处是我们可以更早的发现错误。

并发运行。ale 默认使用所有可用的检测工具并发执行检测,譬如说我们有时需要同时对 javascript 运行 eslint 以及 jscs。

标识栏、状态栏以及命令行消息支持。

安装

Vim 8 on Unix

mkdir -p ~/.vim/pack/git-plugins/start

git clone https://github.com/w0rp/ale.git ~/.vim/pack/git-plugins/start/ale

NeoVim on Unix

mkdir -p ~/.local/share/nvim/site/pack/git-plugins/start

git clone https://github.com/w0rp/ale.git ~/.local/share/nvim/site/pack/git-plugins/start/ale

Vim 8 on Windows

## Run these commands in the "Git for Windows" Bash terminal

mkdir -p ~/vimfiles/pack/git-plugins/start

git clone https://github.com/w0rp/ale.git ~/vimfiles/pack/git-plugins/start/ale

Vundle

把下面行加入到,vimrc

Plugin 'w0rp/ale'

Linter

ale 的 linter 都要自己安装

还好系统一般都是有 gcc, python, gofmt 之类的

需要额外安装的大约有

vint: vimscript

mdl: markdown

iverilog: verilog

vint

安装方法如下:

pip3 install vim-vint

mdl

安装方法如下:

gem install mdl

iverilog

安装 gperf, 下载源码: 链接

./configure && make && make install

下载 iverilog 源码:

git clone https://github.com/steveicarus/iverilog.git

cd iverilog

./autoconf.sh

./configure && make && make isntall

配置使用

"-----------------------------------------------------------------------------

" plugin - ale.vim

"-----------------------------------------------------------------------------

"keep the sign gutter open

let g:ale_sign_column_always = 1

let g:ale_sign_error = '>>'

let g:ale_sign_warning = '--'

" show errors or warnings in my statusline

let g:airline#extensions#ale#enabled = 1

" self-define statusline

"function! LinterStatus() abort

" let l:counts = ale#statusline#Count(bufnr(''))

"

" let l:all_errors = l:counts.error + l:counts.style_error

" let l:all_non_errors = l:counts.total - l:all_errors

"

" return l:counts.total == 0 ? 'OK' : printf(

" \ '%dW %dE',

" \ all_non_errors,

" \ all_errors

" \)

"endfunction

"set statusline=%{LinterStatus()}

" echo message

" %s is the error message itself

" %linter% is the linter name

" %severity is the severity type

" let g:ale_echo_msg_error_str = 'E'

" let g:ale_echo_msg_warning_str = 'W'

" let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'

" use quickfix list instead of the loclist

let g:ale_set_loclist = 0

let g:ale_set_quickfix = 1

" only enable these linters

"let g:ale_linters = {

"\ 'javascript': ['eslint']

"\}

nmap (ale_previous_wrap)

nmap (ale_next_wrap)

" run lint only on saving a file

" let g:ale_lint_on_text_changed = 'never'

" dont run lint on opening a file

" let g:ale_lint_on_enter = 0

"------------------------END ale.vim--------------------------------------

效果

可看到因为第69,70,71, 73行的几个模块定义没有提供,所以左边线上有红色的>>

把光标定位到73行, 在下面命令行会给出具体的错误:

Unknown module type: pmu

总结

ALE可以让你一边编码一边实时检查代码的语法问题,同时还完全不影响vim的性能。这可以极大提升你代码输写的正确性。

ale插件 vim_Vim之代码异步检测插件 ALE -- 实时检查verilog等代码的正确性相关推荐

  1. Vim之代码异步检测插件 ALE -- 实时检查verilog等代码的正确性

    Vim之代码异步检测插件 ALE 前言 知名的 vim 代码检测插件主要是两个 syntastic neomake ALE ALE 虽是后起之秀,但目前是功能最强大的一个 实时检测.为了让代码可以在编 ...

  2. eclipse代码规范检测插件

    一款非常好用的阿里巴巴的代码规范检测插件,可以帮助我们养成一个好的编码规范. 1.点击eclipse中的Help----Install New Software 2.点击add---输入Name和Lo ...

  3. Gitlab集成阿里巴巴P3C-PMD代码质量检测插件

    1. 获取P3C-PMD (1) 下载源码 源码地址:https://github.com/alibaba/p3c p3c-pmd-2.1.1-jar.zip: https://pan.baidu.c ...

  4. IDEA06 代码规范检测插件之Alibaba Java Coding Guidelines

    1 官方资料 1.1 官方介绍 https://mp.weixin.qq.com/s/IbibsXlWHlM59kfXJqRvZA#rd 1.2 github地址 https://github.com ...

  5. java lint_Java代码规范与质量检测插件SonarLint

    1.  SonarLint SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道 下载与安装 在需要检测的单个文件或者单个项目上右键 --> Analyze --> ...

  6. Java代码规范与质量检测插件SonarLint

    1.  SonarLint SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道 下载与安装 在需要检测的单个文件或者单个项目上右键 --> Analyze --> ...

  7. IDEA代码检测插件,总有一款适合你

    下面提供三个工具和插件,帮助大家检测自己的代码质量 1 SonarLint SonarLint 是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道. 下载与安装 在需要检测的单个文件或者单个项目 ...

  8. 逆向OD分享-过检测插件-可过VMP等壳保护检测

    很多新手在入门逆向的时候一般都是用的吾爱OD.吾爱OD现在已经很久没有更新了,新手使用此OD破解一般过不去VMP壳的保护,因此需要一个过检测OD来辅助破解,这里我分享一个我自己用的OD 希望能对你们有 ...

  9. ale插件 vim_vim 撸码必备插件之 autoformat 与 ale[视频]

    好久没更新了,最近小指有点疼.之前录了一些 vim 操作相关的视频,今天介绍两个 vim 下写代码常用的插件:ale: 是异步静态检测插件.减少代码缺陷,写出更规范和干净的代码 vim-autofor ...

最新文章

  1. edit怎么读英语_名师说学习:英语学习有方法
  2. 如何用ASP.NET加密Cookie数据过程分析
  3. 8个使用JavaScript展示图片解决方案
  4. 计算机的科学原理是什么,人工智能的工作原理是什么?
  5. 【今日CV 计算机视觉论文速览】Tue, 26 Feb 2019
  6. sitecore系统教程之体验编辑器
  7. mysql+分页脚本_MySql实现分页查询的SQL
  8. 从最理想的情况论证自己的观点,必然错误,为什么明知故犯?
  9. ubuntu内部错误
  10. 常用的3D三维建模软件大全有哪些?
  11. [ExtJs6]随记--去除extjs trial水印
  12. solidworks2016安装教程及破解方法
  13. linux下root切换普通用户,linux之普通用户与root用户之间切换方法
  14. iOS屏幕旋转技术点及解决方案总结
  15. 技术人的充电时刻,24个精彩研发案例在等你
  16. 计算机组成原理 累加器实验
  17. matlab习题及答案,MATLAB习题及答案
  18. Linux内核中__u16、__u32、__u64和size_t的理解
  19. 有关AOP术语(织入、增强等)的个人理解
  20. 仿QQ空间文章列表+评论查询

热门文章

  1. 谁是最好的WebRTC SFU?
  2. PCM音频基础知识及采样数据处理
  3. Java基础之重写与重载深入解析
  4. 为什么磁盘存储引擎用 b+树来作为索引结构?
  5. 腾讯开源再获OSCAR 5项大奖,全国首家可信开源治理认证自发开源企业
  6. 重磅亮相KubeCon China,腾讯云为你揭秘国内云商最大容器集群
  7. go context之WithDeadline的使用
  8. RequestMethod的参数的含义是?
  9. vue watch监听某输入框中是否有值,然后改变某输入框的属性值
  10. 马蜂窝数据仓库设计与实践