遇到一个导出Excel的需要,表头要求和前端的table保持一致,前端用的是 Ant Design
,表头通过一个数组配置:
const columns: TableProps<DataType>['columns'] = [
{
title: 'Name',
dataIndex: 'name',
key: 'name',
render: (text) => <a>{text}</a>,
},
{
title: 'Age',
dataIndex: 'age',
key: 'age',
},
{
title: 'Address',
dataIndex: 'address',
key: 'address',
},
{
title: 'Tags',
key: 'tags',
dataIndex: 'tags',
render: (_, { tags }) => (
<>
{tags.map((tag) => {
let color = tag.length > 5 ? 'geekblue' : 'green';
if (tag === 'loser') {
color = 'volcano';
}
return (
<Tag color={color} key={tag}>
{tag.toUpperCase()}
</Tag>
);
})}
</>
),
},
];
后端操作Excel的库设置表头需要一个字符串数组,作为一个Vim用户,看到前端有这么规整的文本,当然是要想办法从前端定义里把title「抠出来」,那怎么快速从前端代码里复制出title避免重复写一遍?
首先使用 vglobal
把非title开头的行全部去掉:
:v/title/d
vglobal
可以对不区配的行执行一次Ex命令,格式是 :[range]v[global]/{pattern}/{cmd}
。
接着使用 substitute
命令将 title
去掉:
:s/title: //g
搞定~
原文始发于微信公众号(编码与禅):Vim技巧:从结构列表里提取需要的文本
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/246564.html