vim - 将当前颜色保存为 vim 中的可加载颜色方案
问题描述
如何将当前颜色保存到可:colorscheme
在 vim 中加载的文件中?
:hi
向我显示颜色,但不是以可加载为配色方案的形式。
解决方案
您需要的成分::h getcompletion()
:h hlID()
:h synIDattr()
和:h synIDtrans()
从获取所有高亮组名称开始:let names = getcompletion('', 'highlight')
.
获取数字 ID:let id = hlID(name)
和let tid = synIDtrans(id)
如果id != tid
那么它是一个“链接”组,那么命令是printf('hi link %s %s', name, synIDattr(tid, 'name'))
否则,您必须查询所有可能的组合,synIDattr(id, what, mode)
然后编写一个命令hi <name> <non-empty-attrs>
。因为它看起来像是一项特别乏味的任务,所以它“留给读者作为练习”;-)
在 Vim 中将脚本输出放入缓冲区很简单:new
然后call append('$', printf(...))
等等。小心不要忘记在你的“配色方案脚本”之上添加一个“标准序言”(hi clear
和其他东西),否则颜色会与现有的颜色混淆。
推荐阅读
- android - 无法完成刷新条目的计划请求。客户端错误代码:3
- javascript - 如何在此处删除透明度
- python - 将python中混合数据类型对象中的数字转换为int/float,同时保持原样
- java - 如何区分私有实例变量和java中具有相同名称的参数
- ios - 在 iOS Swift 4 中使用 Realm
- linux - Android O 移植
- python - Python os.walk 仅包含特定文件夹
- python-3.x - Flask-SocketIO - 如何从子进程发出事件
- c# - .Net Core 2.0 与来自查询的 PostgreSQL 日期的区别
- javascript - JavaScript 匹配 unicode 字母