gpt4 book ai didi

python - 在没有 shebang 的情况下在 Vim 中执行当前文件

转载 作者:行者123 更新时间:2023-12-04 14:06:36 24 4
gpt4 key购买 nike

如果有 python 扩展名,是否有一个干净的别名可以放入我的 vimrc 中,它将使用 python 运行当前文件?

目前我有 nnoremap <leader>r :!%:p<Enter>正如 this 中所建议的那样问题(当我点击\+r 它运行打开的文件)。它适用于 bash 文件,其中约定是添加一个 shebang 行并使文件可执行,但对于 python 文件,它显然退出 1。

作为解决方法,我添加了一个新命令 - command PyBang :call append(0, "#!/usr/bin/env python") - 将 python shebang 添加到文件顶部。问题是这并不是 .py 文件的真正约定,并且出于某种原因使它们全部可执行似乎需要付出很多努力。

所以我正在努力编写一个可以运行 :!%:p<Enter> 的别名如果没有扩展名并在前面加上 python如果有 .py缓冲区中文件的扩展名。

非常感谢任何想法。

最佳答案

最简单的方法是使用 vim 的感叹号来运行 shell 命令。例如,

:! python3 % 将在 vim 之外的任何 shell 中使用 python3 运行当前文件 %

您可以将它与 vim 脚本结合使用,为该命令创建您自己的快捷方式。

要将其与当前的 bash 函数结合使用,您需要在 vim 函数中使用条件逻辑来检测文件类型(有关如何处理文件类型及其检测,请参阅 herehere)

关于python - 在没有 shebang 的情况下在 Vim 中执行当前文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68177879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com