1

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

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

其中 %l = 行号和 %f = 文件名。用 替换它/usr/bin/vim,单击项目下的文件,没有任何显示。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 "$1" > /dev/null 2>&1 # same behavior with/without --nofork and the redirection stuff

还有一个自定义选项,我重复了与上述相同的过程,但失败了。

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

4

1 回答 1

1

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

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

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

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

于 2015-09-23T14:42:32.220 回答