欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vim中列出TODO與FIXME等備注的方法

 更新時(shí)間:2017年06月12日 08:45:24   作者:水中月明  
很多代碼編輯器,在注釋里寫上 XXX TODO FIXME NOTE 關(guān)鍵字的話,這幾個(gè)關(guān)鍵字是會(huì)被高亮顯示的。但很多人不知道,下面這篇文章主要介紹了Vim中列出TODO與FIXME等備注的方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。

前言

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

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

這個(gè)時(shí)候一個(gè)簡單的自定義命令興許能幫到你:

command Todo Ack! 'TODO\|FIXME'

效果如下:


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

Ack

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

這里的安裝以Ag為例,因?yàn)檫@個(gè)是基于C來重寫的Ack并新增了很多特性,效率也是比Ack快了很多的。

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

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

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

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

這個(gè)時(shí)候在Vim的命令行里面輸入

:Ack! TODO 

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

:AckAdd FIXME

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

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

~/.vimrc里面新增

command Todo Ack! 'TODO\|FIXME'

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

:Todo

就能實(shí)現(xiàn)列出當(dāng)前項(xià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里面會(huì)自動(dòng)的高亮TODO、FIXME,但是不會(huì)高亮CHANGED這樣的關(guān)鍵字,所以需要手動(dòng)的來指定一下,在~/.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)鍵字,然后加上語法高亮。

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 詳解TCP的四種定時(shí)器

    詳解TCP的四種定時(shí)器

    這篇文章主要介紹了詳解TCP的四種定時(shí)器的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Linux下 rpm 命令查詢方法

    Linux下 rpm 命令查詢方法

    本文給大家介紹Linux下 rpm 命令查詢方法,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-11-11
  • 強(qiáng)制刪除rpm包的方法

    強(qiáng)制刪除rpm包的方法

    本文給大家介紹強(qiáng)制刪除rpm包,對(duì)rpm包刪除方法感興趣的朋友可以一起學(xué)習(xí)
    2015-11-11
  • Shell實(shí)現(xiàn)的iptables管理腳本分享

    Shell實(shí)現(xiàn)的iptables管理腳本分享

    這篇文章主要介紹了Shell實(shí)現(xiàn)的iptables管理腳本分享,本文腳本實(shí)現(xiàn)了添加、刪除、查看、停止、啟動(dòng)等,需要的朋友可以參考下
    2014-12-12
  • linux?shell?解析命令行參數(shù)及while?getopts用法小結(jié)

    linux?shell?解析命令行參數(shù)及while?getopts用法小結(jié)

    這篇文章主要介紹了linux?shell?解析命令行參數(shù)及while?getopts用法,getpots是Shell命令行參數(shù)解析工具,旨在從Shell?Script的命令行當(dāng)中解析參數(shù),本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2022-05-05
  • shell中set?-e的具體使用

    shell中set?-e的具體使用

    set?-e是一個(gè)Shell命令,它用于在腳本運(yùn)行時(shí)自動(dòng)退出,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 利用kernel提供的接口打印進(jìn)程號(hào)(pid)

    利用kernel提供的接口打印進(jìn)程號(hào)(pid)

    我們知道linux是模塊化的內(nèi)核。實(shí)現(xiàn)模塊、利用kernel提供的接口,首先了解寫模塊的基本框架。下面的c文件就是最基本的框架,當(dāng)然還有怎樣添加一些符號(hào)變量,利用的module_param,沒用上
    2013-11-11
  • 每天一個(gè)Linux命令之shell單引號(hào)和雙引號(hào)的經(jīng)典解釋

    每天一個(gè)Linux命令之shell單引號(hào)和雙引號(hào)的經(jīng)典解釋

    這篇文章主要給大家介紹了關(guān)于每天一個(gè)Linux命令之shell單引號(hào)和雙引號(hào)的經(jīng)典解釋,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Linux查看GPU信息和使用情況的實(shí)現(xiàn)命令

    Linux查看GPU信息和使用情況的實(shí)現(xiàn)命令

    這篇文章主要介紹了Linux查看GPU信息和使用情況的實(shí)現(xiàn)命令,文中通過示例代碼和圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-12-12
  • Linux awk將文件某列按照逗號(hào)分隔的例子

    Linux awk將文件某列按照逗號(hào)分隔的例子

    今天小編就為大家分享一篇關(guān)于Linux awk將文件某列按照逗號(hào)分隔的例子,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評(píng)論