我的别名中有这个别名.zshrc
:
alias grim='gvim --remote'
Run Code Online (Sandbox Code Playgroud)
但这不是从 Ranger 文件管理器中看到的,我相信 Ranger 运行一个“通用”外壳,跳过我的.zshrc
. 我想让这个别名在每个 shell 中都可见。
我将它添加到~/.profile
和添加到/etc/zsh/zshrc
但没有效果。具体来说,收到此消息:
/bin/sh: grim: not found
Run Code Online (Sandbox Code Playgroud)
Gil*_*il' 11
只有交互式 shell 才能读取可能包含别名定义的文件。如果您想在应用程序执行的 shell 片段中为命令使用昵称,则别名不是正确的工具。相反,编写一个这样的包装脚本:
#!/bin/sh
gvim --remote "$@"
Run Code Online (Sandbox Code Playgroud)
调用它~/bin/grim
并使其可执行。确保你有~/bin
你的PATH
(你可以把脚本放在你的任何其他目录中PATH
)。
如果您希望它适用于系统上的每个用户,请将其放入/usr/local/bin
,确保该目录在每个人的 PATH 中。