陽春的註解用 text object
一般選擇連續多行的註解時,會按 V 進入 visual mode,然後移動游標框住想要的;行數一多,懶惰就出現了。
以下簡陋模擬一個註解用的 text object,方便在 normal mode 按 vac 選取整塊註解(不含空行);同樣按 dac 刪除、yac 複製。
gist: 554634 - [.vimrc] Simple text object for continuous comment
實作上只判斷每行的第一個非空白字元是否被 syntax highlight 為 Comment,所以並不十分可靠,也僅能做 linewise 的選取。若要改善功能,可考慮導入 'comments'、'commentstring'、'filetype' 等選項(參考 EnhancedCommentify 和 tComment 的做法),不過複雜度的增加也令人卻步。
附 tComment 用的 map,若游標在註解區就反轉整塊註解,否則照常 :TComment。
map <silent><expr> <LocalLeader>ca IsInComment() ? "vac:TComment<CR>" : ":TComment<CR>"
有 0 個意見
☂