国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Vim之代碼異步檢測插件 ALE -- 實時檢查verilog等代碼的正確性

lifefriend_007 / 2040人閱讀

摘要:之代碼異步檢測插件前言知名的代碼檢測插件主要是兩個雖是后起之秀,但目前是功能最強大的一個實時檢測。標識欄狀態欄以及命令行消息支持。這可以極大提升你代碼輸寫的正確性。

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的性能。這可以極大提升你代碼輸寫的正確性。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/25035.html

相關文章

  • 如何優雅使用 Vim(二):插件介紹

    摘要:如何優雅的使用二插件介紹插件使用管理。文件管理器樹形結構的文件管理器,目前使用。不同層次的括號顏色不一樣,如下圖另見然而這些彩虹括號插件,都免不了與沖突會使語法高亮失效,只好放棄了。 如何優雅的使用 Vim(二):插件介紹 插件使用 vim-plug 管理。很長一段時間,我都在用 Vundle,切換到 vim-plug 并非完全必要。 插件定義開始 call plug#begin(~...

    yeooo 評論0 收藏0
  • vim + syntastic + verilator or iverilog

    摘要:若文章有錯誤請留言指證需要轉載請通知筆者讓你可以在裡可以使用功能讓你在寫時檢查看看有沒有語法上的錯誤或者可能潛在的錯誤首先要先安裝有兩種選擇或是看你偏好哪一種我是經由安裝我是使用安裝你也可以透過其他安裝請參考官方文件透過安裝這裡我是透過安裝 若文章有錯誤請留言指證需要轉載請通知筆者 Introduction syntastic讓你可以在vim裡可以使用lint功能,讓你在寫code時檢...

    baukh789 評論0 收藏0
  • Vim中集成emacs下verilog-mode功能

    摘要:在上安裝配置更新最新下載最新版可以見安裝從網上找到的教程清一色是讓在目錄下新建一個目錄然后放進去,再寫個要新建還需要用窗口但我照做了沒有用在下,依次輸入回車,就可以看到下面界面里面并不包含目錄,所以它沒有起作用從的輸出看,第一 在vim上安裝配置verilog-mode 更新emasc最新verilog-mode 下載 最新版可以見 verilog-mode 安裝 window 從網上...

    mating 評論0 收藏0
  • Vim 寫 Python 最佳實踐

    摘要:本文內容整理自我在知乎的回答用寫的最佳實踐是什么,下面的內容是對知乎舊有回答的一個補充,尤其有一些主要針對如果想要更多內容,可以查看知乎對于該問題的一些回答。主要是針對提供的內容進行再提取進行展示。 先來曬個圖: showImg(https://segmentfault.com/img/bVIDeB?w=1434&h=1430); 對于一些 Python 的小項目,使用 vim 是一個...

    TANKING 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<