如何创建到 /usr/bin/vim 但带有启动参数的符号链接?

如何创建到 /usr/bin/vim 但带有启动参数的符号链接?

从源码中vim后make&make install,我发现了很多vim的符号链接/usr/local/bin,例如evim,rvim,view...

手册vim(1)页说“rvim”相当于“vim -Z”等等。

现在我想知道:我能否与自己建立这样的象征性联系ln(1)?如果可以,如何实现?

答案1

如果不编写一些代码,您就无法做到这一点。

这些符号链接快捷方式之所以有效,是因为vim是以这种方式编写的。它查看它是如何(以什么名称)启动的,并且就像使用适当的命令行选项调用它一样。
此行为是硬编码在可执行文件中的,它不是符号链接完成的技巧。

因此,如果您想自己执行此操作,最简单的方法是编写一个包含您想要的选项的小包装exec脚本vim

#!/bin/sh
exec vim <options you want> "$@"

最后"$@"的 简单地将给脚本的任何命令行选项传递给 vim。

答案2

您可以通过 shell 配置以迂回的方式完成此操作。就像是

alias big_vim='gvim -p -geom 126x512'

可以在 bash/zsh 中工作。它允许您自定义内容,而无需弄乱 sudo/root。

笔记。要使别名持久化(即在新终端中工作),请将其添加到您的 ~/.bashrc 中:

echo "alias big_vim='gvim -p -geom 126x512'" >> ~/.bashrc 

答案3

你不能那样做。

VIM 在启动时检查它的运行路径,例如通过将原始二进制文件链接到 rvim ,运行路径变为/path/to/rvim,在这种情况下,-Z即使您没有指定,VIM 也会自动添加该参数。

但如果你只在终端中运行 VIM,你应该:

对于 bash ,将别名添加到 ~/.bashrc

alias vim='vim -Z'

更改参数以满足您的需要。

对于 csh / tcsh,删除=符号,

例如alias vim vim -Z

相关内容