bash - 将选择作为参数传递给外部命令,而不是在 kakoune 中使用管道
问题描述
我正在尝试直接从 Kakoune 向 SBCL 发送代码。我已经决定为此使用 tmux,SBCL 实例在具有给定会话名称的 tmux 实例中运行。用于传入键输入的 tmux 命令如下:
tmux send-keys -t <session-name> "<text to send to tmux>"
然而,在 kakoune 中,将选择的文本传递到外部命令的最方便的现有方法似乎是通过管道,而不是作为参数。现在这似乎有效:
nop %sh{tmux send-keys -t sess -l "$kak_selection"}
这种做我想要的,但它只发送主要选择。我不能真正使用 $kak_selections,因为这会在选择中添加单引号,而 SBCL 不会按预期对其进行解析。即使没有,我更喜欢它的行为更像 alt+|,它将选择通过管道传输到它们自己的命令实例中。Kakoune 有现有的方法来做到这一点吗?如果不是,那么编写一个将标准输入转换为 tmux 的引用参数的 sh 脚本是否容易?
解决方案
我找不到任何内置的方法来做到这一点,但这个问题/答案有帮助:管道结果的命令作为参数
我最终决定在外部运行这个命令(这样我就可以使用 Kakoune 中的默认管道行为)
xargs -0 tmux send-keys -t sbcl -l "${@}"
推荐阅读
- django - Django {% extends 'home.html' %} 不会将动态内容从扩展页面传输到新页面
- typescript - 打字稿中的通用类型变量约束
- javascript - jquery中不显示带有'+'符号的字符串
- mongodb - dokku mongodb 服务中使用的内存量是多少?
- css - 复制图像块悬停效果:随附示例
- flutter - 在颤动的 2Dimensions Flare 画板中选择元素
- html - vue.js no data rendering
- dart - 在 SnackBarAction onPressed 上颤振小吃吧
- python - sqlite3.OperationalError:没有这样的表:MainData
- amazon-web-services - ELB 跨可用区平衡 DNS 解析与粘性会话