在写rtl时经常会使用到对齐操作, 发现gvim的插件 vim-easy-algin非常好用
插件获取:
github - junegunn/vim-easy-align: :sunflower: a vim alignment plugin
插件中会使用到vim regular(正则表达式), 参考链接:
自己在使用过中发现, verilog中常用的端口对齐, 例化名对齐, 声明对齐, 都需要自己手写正则表达式. 所以总结了以下几个正则表达式:
将下面的代码拷贝到.vimrc中, 需要事先安装好'vim-easy-align'插件
"""""""""""""""""" easyalign config""""""""""""""""""""""""""""""""""""""
" start interactive easyalign in visual mode (e.g. vipga)
xmap ga <plug>(easyalign)
" 端口对齐 align input & output
"xmap aa :easyalign /input\\|output/<cr> :'<,'>easyalign /[/<cr>:'<,'>easyalign /:/ <cr>:'<,'>easyalign /]/ <cr>:'<,'>easyalign /\ \s\+,/ <cr>
xmap aa :easyalign /input\\|output/<cr> :'<,'>easyalign /[/<cr>:'<,'>easyalign /:/ <cr>:'<,'>easyalign /]/ <cr>:'<,'>easyalign /\s\+\l*/{'s':0,'l':1}<cr>:'<,'>easyalign /,/<cr>
" 例化名对齐 align instance
xmap ab :easyalign /./r0<cr>:'<,'>easyalign /(/<cr>:'<,'>easyalign /[/<cr>:'<,'>easyalign /:/<cr>:'<,'>easyalign /]/<cr>:'<,'>easyalign /)/<cr>:'<,'>easyalign /,/<cr>
" 声明对齐 align declare wire & reg
xmap ad :easyalign /wire\\|reg/<cr>:'<,'>easyalign /[/<cr>:'<,'>easyalign /:/ <cr>:'<,'>easyalign /]/ <cr> :'<,'>easyalign /\s\+\l*/{'s':0,'l':1}<cr>:'<,'>easyalign /;/ <cr>
for example:
端口对齐:visual模式下选择对齐区域, 然后输入'aa'
执行指令前:
执行指令后:
例化名对齐: visual模式下选择对齐区域, 然后输入'ab'
执行指令前:
执行指令后:
声明对齐: visual模式下选择对齐区域, 然后输入'ad'
执行指令前:
执行指令后:
发表评论