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

标签 linux bash vim quartus konsole

在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 "$1" > /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)以指向他们自己的库。不幸的是,这样做经常会破坏从他们的工具调用的外部软件,例如网络浏览器(用于访问文档)或编辑器(您的案例)。

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

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

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

关于linux - 如何在 Quartus ii 下调用终端 vim?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32708004/

相关文章:

c++ - Linux : error: new_allocator.h:93:7: error: multiple overloads of 'address' instantiate to the same signature上的跨平台编译问题

linux - 如何仅在远程登录到 linux 时运行命令

bash - 如何在 Heroku buildpack 中设置 CONFIG_PATH

vim - gVim 中的插件不起作用

vim-go/synstatic 错误不会在保存时自动显示

linux - UART 初始化 : Prevent UART to pull RTS high

linux - 错误号 13 - 远程访问 svn 且 dav_svn 失败

linux - 启动 Varnish 缓存 : [FAILED] . .. 如何调试 Varnish ?

regex - 为什么在使用正则表达式时 grep 会返回不同的结果?

javascript - 在 node.js 中编写一个 git post-commit 文件