参考Dockerfile构建容器---语法高亮

三个文件扔进相关的目录即可

1. /usr/share/vim/vimfiles/doc/dockerfile.txt

  1. *dockerfile.txt* Syntax highlighting for Dockerfiles
  2. Author: Honza Pokorny <https://honza.ca>
  3. License: BSD
  4. INSTALLATION *installation*
  5. Drop it on your Pathogen path and you're all set.
  6. FEATURES *features*
  7. The syntax highlighting includes:
  8. * The directives (e.g. FROM)
  9. * Strings
  10. * Comments
  11. vim:tw=78:et:ft=help:norl:

2. /usr/share/vim/vimfiles/ftdetect/dockerfile.vim

  1. au BufNewFile,BufRead [Dd]ockerfile,Dockerfile.*,*.Dockerfile set filetype=dockerfile

3. /usr/share/vim/vimfiles/syntax/dockerfile.vim

  1. " dockerfile.vim - Syntax highlighting for Dockerfiles
  2. " Maintainer: Honza Pokorny <https://honza.ca>
  3. " Version: 0.5
  4. if exists("b:current_syntax")
  5. finish
  6. endif
  7. let b:current_syntax = "dockerfile"
  8. syntax case ignore
  9. syntax match dockerfileKeyword /\v^\s*(ONBUILD\s+)?(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)\s/
  10. highlight link dockerfileKeyword Keyword
  11. syntax region dockerfileString start=/\v"/ skip=/\v\\./ end=/\v"/
  12. highlight link dockerfileString String
  13. syntax match dockerfileComment "\v^\s*#.*$"
  14. highlight link dockerfileComment Comment
  15. set commentstring=#\ %s
  16. " match "RUN", "CMD", and "ENTRYPOINT" lines, and parse them as shell
  17. let s:current_syntax = b:current_syntax
  18. unlet b:current_syntax
  19. syntax include @SH syntax/sh.vim
  20. let b:current_syntax = s:current_syntax
  21. syntax region shLine matchgroup=dockerfileKeyword start=/\v^\s*(RUN|CMD|ENTRYPOINT)\s/ end=/\v$/ contains=@SH
  22. " since @SH will handle "\" as part of the same line automatically, this "just works" for line continuation too, but with the caveat that it will highlight "RUN echo '" followed by a newline as if it were a block because the "'" is shell line continuation... not sure how to fix that just yet (TODO)

效果展示

附录

上面三个文件的git地址

vim编辑Dockerfile时语法高亮的更多相关文章

  1. Ubuntu vim显示行号语法高亮自动缩进

    配置文件名为Ubuntu vimrc在Fedora中vim的配置文件存放在/etc目录中,配置文件名为Ubuntu vimrc在终端 输入以下命令来编辑Ubuntu vimrc配置文件:sudo vi ...

  2. vim 支持 nginx配置文件 语法高亮

    1.下载 nginx.vim 语法高亮文件 2.将文件复制到 /usr/share/vim/vim74/syntax 目录(也可以是 单用户目录 ~/.vim/syntax/) 3.修改 vim /u ...

  3. vim编辑文件时[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

    ​​ ​ ​ 出现这个问题是因为你上次编辑的时候在没有保存的情况下退出了(如:电脑关机等)也有可能是有其他人在和你同时进行编辑行为(不同会话中).这是因为在用vim编辑的时候,vim会在打开文件目录下 ...

  4. Vim 编辑文件时,突然断开链接

    centos 系统 编辑文本 突然退出 ,恢复文档操作: 有道笔记链接地址

  5. 解决securecrt连接centos使用VIM编辑中文时乱码

    vim ~/.vimrc 添加两行 set encoding=utf-8 set fileencodings=ucs-bom,utf-8,cp936

  6. linux 磁盘满了,vim 编辑文件时无法保存

    早上来发现 redis 不能用,报 MISCONF Redis is configured to save RDB snapshots, but it is currently not able to ...

  7. Linux vim编写程序时出现高亮字符,如何取消?

    在“命令模式”下输入“:nohl“,再按回车,便可以取消高亮显示.

  8. vim编辑makefile时临时不展开tab为空格

    可以先敲ctrl-v组合键,再敲tab键,这样就不会被转换成空格了. 给自己的备忘!

  9. linux vim 编辑文件时无法保存

    操作ESC + : wq   无反应 那么我们操作SHFT按键,在操作Z按键,连续按两下Z按键即可(保存当前内容且退出)

随机推荐

  1. LA 2797

    题目链接 题意:训练指南283页: #include <iostream> #include <cstdio> #include <cstring> #includ ...

  2. 前端性能优化 —— reflow(回流/重排)和repaint(重绘)

    简要:整个在浏览器的渲染过程中(页面初始化,用户行为改变界面样式,动画改变界面样式等)reflow(回流)和repaint(重绘) 会大大影响web性能,尤其是手机页面.因此我们在页面设计的时候要尽量 ...

  3. Yarn 内存分配管理机制及相关参数配置

    上一篇hive on tez 任务报错中提到了containter内存不足,现对yarn 内存分配管理进行介绍 一.相关配置情况 关于Yarn内存分配与管理,主要涉及到了ResourceManage. ...

  4. java代码如何在没有安装JDK的Windows下运行

    java代码如何在没有安装JDK的Windows下运行? 对于Java桌面应用来说,比较烦琐的就是安装部署问题,如:客户端是否安装有jre.jre版本.jre在哪里下载.如何用jre启动Java应用等 ...

  5. Selenium 2自动化测试实战16(多窗口切换)

    一.多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作.WebDriver提供了switch_to.window()方法.可以实现在不同的窗口之间 ...

  6. Selenium 2自动化测试实战2(数组与字典)

    一.数组与字典 1.数组 数组用方括号([])表示,里面的每一项用逗号(,)隔开 Prthon允许在数组里面任意地放置数字或字符串.需要注意的是,数组下标是从0开始的,所以,lists[0]会输出数组 ...

  7. python unittest中setUp()和setUpClass()、tearDown()和tearDownClass()之间的区别

    setUp():每个测试case运行之前运行tearDown():每个测试case运行完之后执行setUpClass():必须使用@classmethod 装饰器,  所有case运行之前只运行一次t ...

  8. Word2007—如何快速取消自动编号

    有时候自动编号很麻烦,有没有好的办法可以快速取消呢. 1.禁止自动编号.在Word为其自动加上编号时,只要按下Ctrl+Z键撤销操作,此时自动编号会消失,而且每次键入数字时,该功能就会被禁止了. 2. ...

  9. java:(设置编码集,密码的加密,JSTL,EL表达式,权限设置)

    1.设置编码集: package cn.zzsxt.lee.web.sevlet; import java.io.IOException; import javax.servlet.ServletEx ...

  10. Day06:方法 / 猜字母游戏

    JAVA方法 方法就是处理一个业务所需要编写的代码的代码段 方法特性 一个方法处理一个业务 方法代码编写,不和其他方法冲突 方法定义后可以随意调用 将main方法中的所有代码分散到各个普通方法中 减少 ...