如何在.vimrc中检测vim vs gvim

时间:2016-05-02 19:58:31

标签: ubuntu vim intellij-idea

我正在尝试为我的ubuntu笔记本电脑编写一个新的.vimrc。我使用Intellij IDEA和Ideavim插件以及vim和gvim。我想在Intellij Idea中为vim,gvim和VIM模式创建一个.vimrc。

In,Idea,:set relativenumber命令无效,我想为vim和gvim启用它。

有没有办法可以检测到它是vim还是gvim,然后运行:set relativenumber?或者,有没有办法可以创建一个单独的公共脚本,它将在所有3个中运行,并为每个脚本分别创建一个单独的脚本文件?

2 个答案:

答案 0 :(得分:0)

您可以使用if has("gui_running")来检测您是否在vimgvim中投放。

答案 1 :(得分:0)

首先,ideavim不是vim!它可以读取vim的配置文件并加载一些选项设置,这些设置由ideavim“支持”。我相信背景是vim的选项和java实现的intellij编辑器的选项/功能之间的映射。 Ideavim也无法解释或执行vimscript。您可以尝试一些vim函数,它们不能与ideavim一起使用。例如,Ronakg提到的has()函数。

另一方面,vim不知道什么是ideavim,它也无法获得Intellij进程的信息。

我同时使用vim和ideavim。我不会为ideavim调整我的vimrc。我不希望我的ideavim成为一个全副武装的vim编辑器(我喜欢拥有它)。对我来说,当我在intellij中编写java时,我可以应用一些基本的vim操作,例如。导航,textobject等。如果你的vimrc中有一些选项,但是ideavim不支持你的功能,你不必关心它们。我的经验告诉我,ideavim只应用它支持的vim选项。有关更多详细信息,请阅读ideavim的帮助/文档。