基于neovim和plantuml搭建写代码并实时预览的绘图环境

简介: ## 传统画流程图的痛点 我们经常需要画流程图来表示代码逻辑或者基本框架等。但我们在绘画流程图的时候,经常会在对齐连接线这些和流程图表达的意义无关的环节上浪费大量时间。 而流程图这一表达方式本身天然适合代码描述,因此有人设计了plantuml这种软件语言来专门处理流程图逻辑,把图片渲染的工作交给graphviz来做。 本文旨在基于neovim和浏览器(一般是chro

传统画流程图的痛点

我们经常需要画流程图来表示代码逻辑或者基本框架等。但我们在绘画流程图的时候,经常会在对齐连接线这些和流程图表达的意义无关的环节上浪费大量时间。  
而流程图这一表达方式本身天然适合代码描述,因此有人设计了plantuml这种软件语言来专门处理流程图逻辑,把图片渲染的工作交给graphviz来做。  
本文旨在基于neovim和浏览器(一般是chrome,实际上支持各种浏览器),使用plantuml描述语言,搭建使用代码画流程图,并实时预览的绘图环境。

具体流程

1、依赖的第三方工具:graphviz

2、vim配置plantuml实时预览用到的插件

a)packer.nvim安装方式:

  • use {'tyru/open-browser.vim', ft = {'plantuml'}, event = 'BufEnter'}
  • use {'sheerun/vim-polyglot', ft = {'plantuml', 'markdown'}}
  • use {'weirongxu/plantuml-previewer.vim', ft = {'plantuml'}, event = 'BufEnter'}

b)vim-plug安装方式:

  • Plug 'sheerun/vim-polyglot
  • Plug 'tyru/open-browser.vim'
  • Plug 'weirongxu/plantuml-previewer.vim'

其中,vim-polyglot用来做语法高亮,plantuml-previewer.vim调用graphviz进行图片的渲染,open-browser.vim用来通过浏览器预览渲染出来的图。
最近plantuml支持了不同theme进行图片的渲染,更多选择,总有一款适合你。

3、安装完插件后需要做的配置

  1. 写一个bash脚本,文件名叫makeprg,内容如下:
#!/bin/bash
java -jar ~/.local/share/nvim/site/pack/packer/opt/plantuml-previewer.vim/lib/plantuml.jar -tsvg $@
  1. makeprg放入系统$PATH路径下,供plantuml-previewer调用。

4、开始画我们第一个plantuml流程图

  1. 先看已经安装了哪些theme

a) nvim新建一个puml文件
nivm theme.puml

b) 输入如下内容:

@startuml
help themes
@enduml

c) 命令模式输入:PlantumlOpen,得到已经安装的theme列表,后续要选择其中一种。
theme

  1. 写我们的第一个流程图代码,指定要用的theme为bluegray。
@startuml
!theme bluegray
start
if ("你想练葵花宝典") then (true)
floating note right:修炼葵花宝典注意事项
    if ("你能接受自宫吗") then (no)
        :"很遗憾,你无法修炼";
    else (yes)
        if ("你有葵花宝典秘籍吗") then (yes)
            :"恭喜你,可以修炼";
        else (no)
            :"很遗憾,你无法修炼";
        endif
    endif
else (false)
    :"不修炼";
endif
stop
@enduml
  1. 执行:PlantumlOpen生成流程图。

test

  1. 换成sandstone主题。
@startuml
!theme sandstone
start
if ("你想练葵花宝典") then (yes)
floating note right:修炼葵花宝典注意事项
    if ("你能接受自宫吗") then (no)
        :"很遗憾,你无法修炼";
    else (yes)
        if ("你有葵花宝典秘籍吗") then (yes)
            :"恭喜你,可以修炼";
        else (no)
            :"很遗憾,你无法修炼";
        endif
    endif
else (no)
    :"不修炼";
endif
stop
@enduml

test

相关文章
|
1月前
Threejs用官方提供的编辑器做一个简单的模型
这篇文章介绍了如何使用Three.js内置的编辑器来创建和编辑简单的3D模型,并提供了相应的操作指南。
191 0
|
3月前
|
负载均衡 数据可视化 NoSQL
强烈推荐,好用的时序图开源插件PlantUML!
PlantUML这个开源时序图插件,它通过简单的语法和自动化的图形线条关联解决了传统画图软件中对齐困难、逻辑判断不易表示等问题,并提供了美观的图形和易于修改的特点,特别适合新入职场的开发者快速上手绘制高质量的时序图。
强烈推荐,好用的时序图开源插件PlantUML!
|
3月前
|
开发者 图形学 开发工具
Unity编辑器神级扩展攻略:从批量操作到定制Inspector界面,手把手教你编写高效开发工具,解锁编辑器隐藏潜能
【8月更文挑战第31天】Unity是一款强大的游戏开发引擎,支持多平台发布与高度可定制的编辑器环境。通过自定义编辑器工具,开发者能显著提升工作效率。本文介绍如何使用C#脚本扩展Unity编辑器功能,包括批量调整游戏对象位置、创建自定义Inspector界面及项目统计窗口等实用工具,并提供具体示例代码。理解并应用这些技巧,可大幅优化开发流程,提高生产力。
361 1
|
5月前
|
自然语言处理 搜索推荐 API
【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用
【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用
194 0
|
前端开发 C# 开发工具
Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】
Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】
156 0
|
Rust JavaScript 前端开发
【Neovim】配置美化完整流程
【Neovim】配置美化完整流程
5749 0
【Neovim】配置美化完整流程
|
图形学 Windows
很好用的Unity编辑器扩展工具 Odin Inspector教程
Odin包含许多功能,例如Static Inspector,Project Validation,Odin Editor Windows和我们的开源Odin Serializer,它允许您在需要多态对象结构时扩展Unity的序列化功能,或者希望在运行时序列化和反序列化数据。
很好用的Unity编辑器扩展工具 Odin Inspector教程
Altium Designer简明教程:如何创建元件库并绘制库元件(图文教程)
Altium Designer简明教程:如何创建元件库并绘制库元件(图文教程)
Altium Designer简明教程:如何创建元件库并绘制库元件(图文教程)
|
数据可视化 vr&ar 图形学
Unity可视化编程XDreamer插件导入
前言 XDreamer是一款基于Unity平台开发的,可在Unity(包括编辑器与运行时)中使用的可扩展的中文交互编辑软件,可进行2D、3D、VR、AR、MR开发。 本期博客为XDreamer的官方讲解的学习记录。可以理解为UE4中的蓝图效果。是从事美术人员的福音,美术人员也可不用编写程序进行游戏的制作。 一、下载XDreamer官方插件包 XDreamer中文交互编辑器http://www.xdreamer.com.cn/请在官网进行下载,得到如下的文件。 二、插件加载 目前我导入到URP
603 0
Unity可视化编程XDreamer插件导入
|
Python
配置jupyter notebook神器 更换皮肤主题 代码字体 大小
想要修改iupyter notebook那些默认的配置选项,就需要在配置文件jupyter_notebook_config.py中修改相应配置选项的属性。 这个配置文件一开始并不存在,需要手动生成,在命令行输入jupyter notebook --generate-config并执行,配置文件就创建好了,它的位置是在C:\Users\Administrator.jupyter\中。
526 0
配置jupyter notebook神器 更换皮肤主题 代码字体 大小