Vim中如何列出TODO與FIXME等備注-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“Vim中如何列出TODO與FIXME等備注”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Vim中如何列出TODO與FIXME等備注”這篇文章吧。

公司專注于為企業(yè)提供網(wǎng)站設(shè)計、網(wǎng)站制作、微信公眾號開發(fā)、電子商務(wù)商城網(wǎng)站建設(shè),微信小程序,軟件按需網(wǎng)站建設(shè)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗,我們會仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)建站更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

前言

很多程序員,包括我,會在寫代碼的時候,習(xí)慣性的用TODO, FIXME, HACK等作為一些注釋的前綴。這樣方便自己和后來者預(yù)先知道相關(guān)注釋和代碼的狀況

不過這樣的備注只有是以后恰巧看到這段代碼的時候才能看到,沒法在一次發(fā)版或者空閑的時候,有一個直觀的界面能看到這個項目里面所有這樣的關(guān)鍵詞。

這個時候一個簡單的自定義命令興許能幫到你:

command Todo Ack! 'TODO\|FIXME'

效果如下:

Vim中如何列出TODO與FIXME等備注


不過要想使這條命令生效,需要一些環(huán)境準(zhǔn)備工作

Ack

首先我們需要安裝Ack或者Ag,這兩個都是命令行下的一個全局搜索工具,比系統(tǒng)自帶的grep要快很多的。

這里的安裝以Ag為例,因為這個是基于C來重寫的Ack并新增了很多特性,效率也是比Ack快了很多的。

# OSX
brew install the_silver_searcher
# Archlinux
pacman -S the_silver_searcher
# Ubuntu
apt-get install silversearcher-ag

在安裝完成之后,就可以在shell里面測試一下

ag TODO ./

Ack.vim

Ack.vim是一款插件,用來方便在Vim里面使用Ack/Ag, 然后通過Quickfix來提供搜索結(jié)果

不過這款插件,默認(rèn)是使用的Ack作為搜索引擎,為了能用上我們剛剛安裝的Ag,需要在~/.vimrc里面作一些配置:

if executable('ag')
 let g:ackprg = 'ag --vimgrep'
endif

這段配置是引用的官方倉庫的Readme

不過也看很多人是用的

if executable('ag')
 let g:ackprg = 'ag --nogroup --nocolor --column'
endif

本人測試之后,發(fā)現(xiàn)二者并沒有什么區(qū)別。可能對于Ag來說 --vimgrep是等同于--nogroup --nocolor --column 的。

這個時候在Vim的命令行里面輸入

:Ack! TODO

是可以實(shí)現(xiàn)上圖所示效果的,而且還可以通過

:AckAdd FIXME

這樣的方式來附加其它要查看的。

不過這樣的方式,命令還是有點(diǎn)長。所以配置一個alias來替代上面的命令,是一個比較符合懶人的想法

~/.vimrc里面新增

command Todo Ack! 'TODO\|FIXME'

然后在Vim的命令行里面輸入:

:Todo

就能實(shí)現(xiàn)列出當(dāng)前項目里面的所有TODO,FIXME了,而且可以根據(jù)自己的需要來擴(kuò)展這樣的關(guān)鍵字,像我就擴(kuò)展為如下代碼:

command Todo Ack! 'TODO|FIXME|CHANGED|BUG|HACK'
command Debug Ack! 'NOTE|INFO|IDEA'

區(qū)分了Todo和Debug兩種功能。

高亮

Vim里面會自動的高亮TODO、FIXME,但是不會高亮CHANGED這樣的關(guān)鍵字,所以需要手動的來指定一下,在~/.vimrc里面添加如下配置:

if has("autocmd")
 " Highlight TODO, FIXME, NOTE, etc.
 if v:version > 701
 autocmd Syntax * call matchadd('Todo', '\W\zs\(TODO\|FIXME\|CHANGED\|BUG\|HACK\)')
 autocmd Syntax * call matchadd('Debug', '\W\zs\(NOTE\|INFO\|IDEA\)')
 endif
endif

上面這段代碼是摘抄的,具體的功能就是匹配TODO等關(guān)鍵字,然后加上語法高亮。

綜上,一個簡單好用的TODO管理器就已經(jīng)完成了。

以上是“Vim中如何列出TODO與FIXME等備注”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章標(biāo)題:Vim中如何列出TODO與FIXME等備注-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://muchs.cn/article44/ijhhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化服務(wù)器托管、App設(shè)計、網(wǎng)站設(shè)計公司、定制開發(fā)、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)