默认情况下在vim中打开py文件而无需键入“vim filename.py”

Cyt*_*rak 2 shell zsh python oh-my-zsh windows-subsystem-for-linux

我想知道是否可以在 vim 中打开 python 文件,而无需在它前面输入“vim”。例如: 而不是:

vim filename.py
Run Code Online (Sandbox Code Playgroud)

简单地

$ filename.py
Run Code Online (Sandbox Code Playgroud)

将在vim中打开文件。

我相信它不是 upto .vimrcbut.bashrc.zshrc(在我的情况下),它会将.py文件解释为可执行文件vim或其他东西。我正在使用 ubuntu (wsl2) 和 zsh (oh-my-zsh)。之前可能有人问过这个问题,但我找不到这样的问题。谢谢你。

Not*_*1ds 5

令我个人惊讶的是,是的,有一种方法可以进入zsh. 这个问题让我得到了这个关于zsh. 并不是说你的问题是重复的——第一个问题是关于一种bash方法;另一个答案是关于“最喜欢的zsh功能”。

要使用后缀别名执行此操作:

alias -s py=vim
Run Code Online (Sandbox Code Playgroud)

将其添加到您的内容中~/.zshrc以使其永久化。

就个人而言,我建议反对它至少有两个原因。首先,正如@pizzapants184 在评论中指出的那样,这甚至会覆盖使用其路径执行 Python 文件的能力。例如,./run_me.py不会执行,即使它被设置为可执行文件,即使它有一个 shebang 行(例如#!/usr/bin/env python3#!/usr/bin/python3)。这是一个整洁的功能,但恕我直言,如果它“更聪明”,那就太好了。

此外,额外的 3 个字符 (" vi ") 会成为这样的肌肉记忆,可以在您尚未以这种方式配置或未zsh安装的其他系统上很好地为您服务。

替代方法

虽然我仍然不一定推荐它,但您可以为单个文件设置 shebang 行以强制它在vim执行时加载: