macos - 如何使用 VIM(buffer) 快速编辑剪贴板内容
问题描述
被 ZSH 上令人敬畏的 VIM 模式宠坏了,我想为我的剪贴板重新创建相同的体验。ZSH 中的 VIM 模式允许在 VIM 缓冲区中编辑当前命令并将其写回命令行,例如:
我想为我的剪贴板(在 macOS 上)重新创建相同的体验。我使用以下迷你脚本让它工作:
#!/bin/bash
tmpfile=/tmp/$(openssl rand -base64 8)
touch $tmpfile
pbpaste > $tmpfile
vim $tmpfile
pbcopy < $tmpfile
rm $tmpfile
我有一种感觉,这可能会容易得多。我想要完成的是: 1. 使用系统剪贴板的当前内容打开 VIM(命令行) 2. 在 VIM 中编辑内容 3. 在写出时,将内容复制回系统剪贴板
最终目标是在 Alfred 工作流程中实现这一点,使我能够快速编辑剪贴板内容。
解决方案
这需要vipe
工具(我认为它代表 vi 管道):我有一个名为 bash 的函数pbed
,它完全符合您的要求:
pbed () {
pbpaste | vipe | pbcopy
}
您可以轻松地将其转换为脚本。您可以从 moreutils 包中的 brew 获得 vipe。
推荐阅读
- ansible - Ansible 集合使用
- firebase - Firebase 测试实验室对 Flutter 的不同可能性
- scala - 如何获取具有匹配值的地图
- python - 在numpy数组中传播最大值
- amazon-web-services - 将主体附加到存储桶策略文档而不是覆盖它
- r - 如何为每行索引缺失的 x
- c - getchar 发生了什么?
- reactjs - 在我的情况下进行 React Router 历史推送时如何滚动到页面
- java - Spring Boot Mybatis 动态查询
- reactjs - React,onClick 仅在第二次单击后有效,Axios,Async/Await