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 .vimrc
but.bashrc
或.zshrc
(在我的情况下),它会将.py
文件解释为可执行文件vim
或其他东西。我正在使用 ubuntu (wsl2) 和 zsh (oh-my-zsh)。之前可能有人问过这个问题,但我找不到这样的问题。谢谢你。
令我个人惊讶的是,是的,有一种方法可以进入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
执行时加载:
edit_me.py
):
#!/usr/bin/env vi
Run Code Online (Sandbox Code Playgroud)
chmod +x edit_me.py
Run Code Online (Sandbox Code Playgroud)
./edit_me.py
)将打开它vim
(vi
如果不可用,则回退到)。