mcedit 在链接时运行方式不同

mcedit 在链接时运行方式不同

我已经安装了 mcedit,并且在终端中我尝试设置它,以便我可以输入edit而不是mcedit(因为我发现它更容易输入)。

符号链接有效,复制也有效。但是:mcedit调用时edit总是会显示一个开始屏幕来选择文件,尽管我实际上只是像 一样正常输入edit test.cpp

我怎样才能解决这个问题?

打字打印

$ type -a mcedit

mcedit/usr/bin/mcedit

$ type -a edit

edit/usr/bin/edit

答案1

没有单独的mcedit程序。Midnight Commander 是一个多功能可执行文件,它检查以什么名称调用它并相应地执行操作。

  • vi或任何开头mce都提到它是午夜指挥官编辑
  • view任何开头mcv都会将其作为 Midnight Commander 文件查看器
  • diff或任何开头mcd都会将其作为 Midnight Commander 差异查看器
  • 除了-e/--edit选项之外的任何其他选项都会将其作为 Midnight Commander 编辑器
  • 除了-v/--view选项之外的任何其他选项都会将其作为 Midnight Commander 文件查看器
  • 任何其他事情都会让它成为午夜指挥官

除了名为 的链接之外vi,您还有其他几个选择,包括扩展到 的 shell 函数/别名mc --edit、包装器 shell 脚本以及使用mcemced作为命令名。

Ubuntu 曾经为你提供这个功能。大约十年来,Debian Linux 有一个mcedit-debianshell 脚本(edit/editor可以链接到该脚本),它只生成mcedit $@。这样,“替代”系统就可以在命令名称 下调用 Midnight Commander 编辑器editor

讽刺的edit是,editor明确拒绝作为将 Midnight Commander 带入编辑器模式的方法,由其开发人员提出。2010 年,mcedit-debianMidnight Commander 的参数处理被 Debian 特定补丁所取代,以识别editor编辑器模式,就像它vi已经识别不太通用的参数一样,但这个补丁被 Midnight Commander 本身拒绝了。

进一步阅读

答案2

无法真正让它与 ln 或 cp 一起工作,也许 mcedit 检查了 argv[0]。我已经用执行“mcedit $*”的 bash 脚本解决了这个问题。

相关内容