首页 > 解决方案 > Vim:跳转系统verilog模块的开头还是结尾?

问题描述

vim 中是否有办法在您在系统verilog 模块中间编辑端口时跳转到系统verilog 模块的开头或结尾?

例如,在编辑 C 文件时,您可以使用[m.

编辑:也许我应该更好地定义我的问题,但我最初的意思是,当你在模块实例化中并且想要跳转实例化模块的开头或结尾时。

component instance_name (
  .clk (clk),
  .rst (rst),
  .data_i (data_in), 
  .data_o (data_out)
);

标签: vimverilogsystem-verilog

解决方案


[m]m使用大括号。但是您可以重新定义它们以匹配您的语法。像这样的东西:

augroup verilog_maps | au!
    autocmd FileType verilog nnoremap <buffer><silent>[m ?^\s*module\><CR>
    autocmd FileType verilog nnoremap <buffer><silent>]m /^\s*module\><CR>
    autocmd FileType verilog nnoremap <buffer><silent>[M ?^\s*endmodule\><CR>
    autocmd FileType verilog nnoremap <buffer><silent>]M /^\s*endmodule\><CR>
augroup END

推荐阅读