我想使用edit-command-line
在ZSH中打开一个编辑器缓冲区,并使缓冲区的内容由xonsh执行。
可以干净地做到这一点吗?
ZSH lets you edit a command line using your editor中的edit-command-line
命令,然后可以由ZSH解释器执行。
对于复杂的多行命令尤其有用。
xonsh是使用Python作为脚本语言的Python驱动程序外壳。 编写复杂命令时,我更喜欢Python而不是ZSH语言。
额外的信用:告诉编辑者使用Python语法突出显示而不是ZSH会很好。
谢谢!
注意:我可以通过以下方式调用xonsh,但这很丑陋,语法高亮显示是错误的:
echo "
<python code>
" | xonsh
答案 0 :(得分:0)
在vim中,您可以使用ex命令:w !xonsh
,该命令会将文件传递到xonsh的stdin。
或者您可以制作一个小脚本,该脚本使用mktemp
生成一个临时文本文件,在退出文本编辑器后对其进行写入,然后使用xonsh / python执行该脚本。与Bash的Ctrl + x,Ctrl + e相同的策略。