首页 > 其他分享 >vim matchit 自定义配对关键字之间的跳转

vim matchit 自定义配对关键字之间的跳转

时间:2024-09-19 10:14:26浏览次数:10  
标签:自定义 vim 关键字 跳转 matchit match

vim因其强大的扩展性一直深受linux程序员的喜爱,最近在用vim写verilog的时候,由于一个逻辑块中的begin end较多,常常会多写或者漏掉匹配关键字,很是苦恼,于是寻找匹配关键字间跳转的方法,发现matchit可以用%在关键字之间实现跳转,还可以自定义更多的关键字,相当方便。

以下正片:

1、安装 matchit插件

  matchit 插件是vim默认自带的,但是不安装。安装方法可以在vim 的help里查看:

  • $ vi     打开一个空白文件
  • :help matchit-install

  就能看到安装步骤了,打开terminal:

  • $ mkdir ~/.vim
  • $ mkdir ~/.vim/plugin
  • cp��VIMRUNTIME/macros/matchit.txt ~/.vim/plugin(VIMRUNTIME可能没有。

2、定义所需关键字

  定义关键字主要是给 |b:match_words| 定义一个合适的模板,在.vimrc文件中定义模板就行。

  • 打开 ~/.vimrc
  • 下面是我的配置:
复制代码
let b:match_word='\<begin\>:\<end\>,'
    \ . '\<while\>:\<continue\>:<break\>:\<endwhile\>,'
    \ . '\<if\>:\<else if\>:<else\>,'
    \ . '\<module\>:\<endmodule\>,'
    \ . '\<task\>:\<endtask\>,'
    \ . '\<function\>:\<endfunction\>,'
    \ . '\<program\>:\<endprogram\>'
let b:matchit_ignorecase=1    "开启 忽略大小写
复制代码

  其中 let b:match_ignorecase = 1 为忽略大小写,如begin可以匹配到END

设置完成后,在关键字如begin上按%,光标就会跳转到与之匹配的end上,灰常慌便

标签:自定义,vim,关键字,跳转,matchit,match
From: https://www.cnblogs.com/fpcbk/p/18420002

相关文章

  • Unity自定义图片数字TextMeshPro
    本文转载自https://www.cnblogs.com/sailJs/p/181689221、首先要有一张包含了图片字的图集,每个图片字一个Spirte 2、然后右键-> 创建创建好的TMP_SpriteAsset 3、编辑SpriteCharacterTable调整顺序,将index和图片数字对上修改下Unicode值(默认都是0xFFFE),比如9的Un......
  • 路由跳转登录权限判断/vue3
    1main.ts引入路由和权限校验importrouterfrom"./router";//路由守卫权限拦截2-2import"@/router/permisstion";2router文件夹,三个文件1.1indexe.tsimport{createRouter,createWebHistory}from"vue-router";import{constRouter}from".......
  • vue3自定义指令,全局注册
    1这是directive.js注册的的importtype{Directive,DirectiveBinding}from"vue";importuseUserStorefrom"@/stores/user";import{createPinia}from"pinia";constuserStore=useUserStore(createPinia());//buttonList:["......
  • 【信创】Linux上如何创建和管理自定义的 systemd 服务 _ 统信 _ 麒麟 _ 方德
    原文链接:【信创】Linux上如何创建和管理自定义的systemd服务|统信|麒麟|方德Hello,大家好啊!今天给大家带来一篇关于在Linux系统上如何创建和管理自己的systemd服务的文章。systemd是Linux系统中的初始化系统和服务管理器,它为系统提供了强大的服务管理功能。通过创建和......
  • 【项目实战】如何在项目中自定义错误码
    在项目设计阶段,前端需要根据后端返回的响应来对前端页面进行渲染(比如404页面),通过自定义错误码,可以及时收集并且处理异常信息。自定义错误码几个具体的应用1.错误信息统一处理:全局异常处理器可以将不同种类的异常转化为统一的错误信息格式,提供一致的错误响应给客户端,增强了用......
  • 自定义日志注解,保存信息到数据库
    定义日志注解importjava.lang.annotation.*;/***@authorwzw*@version1.0*@Date2023-2-1717:31:19*/@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic@interfaceLog{/***描述*@return*/......
  • wpf简单自定义控件
    用户控件(UserControl)和自定义控件(CustomControl)的区别:UserControl:将多个WPF控件(例如:TextBox,TextBlock,Button)进行组合成一个可复用的控件组;由XAML和CodeBehind代码组成;不支持样式/模板重写;CustomControl自定义控件,扩展自一个已经存在的控件,并添加新的功能/特性;由C......
  • 自定义类型:联合和枚举
    目录引言一.联合体1.1联合体的定义1.2联合体的声明 1.3 联合体的特点1.4相同成员的结构体和联合体对比1.5联合体大小的计算1.6联合体的作用1.7联合体的小练习二.枚举类型 2.1枚举的定义2.2枚举的声明2.3枚举的作用2.4枚举的使用示例 后记引言......
  • Python 命令跳转微软应用商店问题解决办法
    最常见的解决办法就是在环境变量中将Python安装路径上移至  %USERPROFILE%\AppData\Local\Microsoft\WindowsApps 路径前。但是有时候这个办法也无法起效,那么此时可以进入系统设置中,将应用执行别名中的python项关闭。其路径在:应用>高级应用设置>应用执行别名 ......
  • Shader Graph自定义渐变色节点Gradiant
    ShaderGraph自定义渐变色节点GradiantUnity自带Shader中的Gradiant不能暴露在外部使用定义CustomFunction来制作暴露给外部的GradiantShaderGraph节点图CustomFunction代码if(inputValue<location1){outFloat=color1;}else......