vim - 如何从 VIM 中字符串后面的数字中减去?
问题描述
我试图从 VIM 中的字符串后面的数字中减去,例如这个(搜索的)输入:
CustomModelData: 1
而我的首选(替换)输出:
CustomModelData: -2147483647
我试图从数字中减去的数字是 2147483648。我尝试在 VIM 中使用它,但它不起作用,因为表达式中有一个字符串,我想保留字符串,同时从后面的数字中减去:
:%s/CustomModelData: \d\+/\=/CustomModelData: submatch(0)-2147483648/g
解决方案
您可以使用以下小调整使匹配从数字开始,因此替换只能看到要调整的数字
%s/\vCustomModelData: \zs\d+/\=submatch(0)-2147483648/g
- \zs 任何东西,设置比赛开始
推荐阅读
- python - 当我发送 get 请求时,响应不被理解
- javascript - 使用指数调试小型 javascript
- google-cloud-platform - 如何重新分析 GCP IAM 角色以识别多余的权限?
- bash - 如果远程机器上已经存在文件名,如何更改文件名?
- flask - 与 SocketIO 一起使用时,永远不会调用 Flask MQTT on_connect
- node.js - 如何利用 coinbase、blockchain.com 等第三方 API 开发加密交换
- postgresql - 调试由 pgbench 执行的查询
- apache-kafka - 如何处理kafka消费者失败
- java - 我应该分开从测试界面抛出错误的测试函数吗?
- node.js - 匹配路由时节点代理源重写