editor - Gvim 折叠系统 verilog 关键字对

标签 editor system-verilog vim

如何在 Gvim 中启用系统 verilog 关键字折叠? 例如

function
   Code
   ....
   ....
endfunction

我希望 Gvim 创建一个从 function 到 endfunction 的折叠。我该怎么做?

最佳答案

这是一个自定义的折叠表达式,应该可以满足您的需求。它在每个“function”后面的行开始折叠,并在每个“endfunction”前面的行结束折叠,否则继承前一行的折叠级别。

function! VimFunctionFoldExpr()
    if getline(v:lnum-1) =~ '^\s*function'
        return '>1'
    elseif getline(v:lnum+1) =~ '^\s*endfunction'
        return '<1'
    else
        return '='
    endif
endfunction

要告诉 Vim 使用此功能,请设置以下内容:

set foldmethod=expr
set foldexpr=VimFunctionFoldExpr()

您可能还想调整折叠文本设置,使其尊重意图级别。 Here是一个关于如何做到这一点的 SE 问题。

关于editor - Gvim 折叠系统 verilog 关键字对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15168728/

相关文章:

linux - 适用于 Linux 的 Cocos2d-x 编辑器?

system-verilog - 系统 verilog 断言中 -> 和 => 之间有什么区别?

verilog - verilog 中的总线表示法

vim-snipmate 和 supertab 在一起

vim - vim如何绑定(bind)一键打开高亮文件?

html - 什么是好的非所见即所得的 HTML 编辑器?

emacs - 在emacs中可以快速(重复)撤消吗?

php - 数据库中的图像链接插入无需\

properties - 我可以在一个循环中生成多个 SystemVerilog 属性吗?

vim - 如何在 vim 语法高亮中禁用语法区域?