如何在Quartus ii下调用终端vim?

how to invoke terminal vim under Quartus ii?

在Altera Quartus ii 15.0软件中,Tools->Options->Preferred Text Editor选项卡,用于更改打开文件时的编辑器。 vim有个选项,命令行是这样的:

"<<browse to specify executable location>>" -c %l %f

其中 %l = 行号,%f = 文件名。换成/usr/bin/vim,点击project下的一个文件,没有任何显示。 gvim 工作正常,但我确实想使用终端版本。以下是我尝试过的一些输入:

"/usr/bin/konsole -e vim %f"

点击文件提示找不到可执行文件

"/usr/bin/konsole" -e vim %f

点击文件没有任何反应(显示)

"/usr/bin/konsole" --nofork -e vim %f

同上

"/usr/bin/xterm" -e vim %f

这可行,但我更喜欢 konsole

我也尝试创建一个 bash 文件(已经 +x),内容如下,但没有成功:

#!/usr/bin/bash
konsole --nofork -e vim "" > /dev/null 2>&1 # same behavior with/without --nofork and the redirection stuff

还有一个自定义选项,我重复了上面相同的步骤,失败了。

一旦我将 konsole 替换为 xterm,它就可以工作了。那么这两者有什么区别呢?我怎样才能在这个软件的 konsole 中调用 cli vim? 我记得当我使用 gnome-terminal 创建一个脚本来调用 vim 时效果很好,但那是另一个软件所以事情可能会有所不同。

可能是共享库的问题。 CAD 工具供应商倾向于重新定义指向共享库(例如 LD_LIBRARY_PATH)的环境变量,以便指向他们自己的库。不幸的是,这样做经常会破坏从他们的工具调用的外部软件,例如 Web 浏览器(访问文档)或编辑器(您的案例)。

有时可行的解决方案是将对外部软件应用程序的调用包装在修复此问题的 shell 脚本中。在您的情况下,您可以尝试调整 bash 脚本:

#!/usr/bin/bash
unset LD_LIBRARY_PATH
konsole --nofork -e vim "" > /dev/null 2>&1

并从 Quartus 调用它而不是直接调用 konsole