如何在ideavim中为IntelliJ获取绝对和相对行号?

the*_*mer 6 vim intellij-idea intellij-plugin vim-plugin ideavim

我正在为我的项目使用 IntelliJ IDE,并且刚刚安装了ideamvim 插件。在.ideavimrc我添加了这个属性

set rnu

有了这个属性,我在 intellij 的文件中得到了相对的行号,这太棒了。但我ALSO得到绝对的行号?在我的 vscode 中,我有绝对行号和相对行号,所以我想知道是否有可能在 intellij 中获得相同的行为?

即使我必须在 Intellij 中安装一个新插件才能使此功能正常工作,我也很好。

谢谢

小智 13

您可以手动下载并安装此插件: https: //plugins.jetbrains.com/plugin/7414-relative-line-numbers/versions

和:

  1. 从这里下载最新的jar
  2. 打开应用程序文件夹,找到 IntelliJ 或 Android Studio(或其他 JetBrains IDE)
  3. relative-line-numbers.jar文件放入plugins文件夹中
  4. 重新启动您的 IntelliJ 或 Android Studio(或其他 JetBrains IDE)

它适用于 IntelliJ IDEA 2021.2.2 和 Windows 11 https://i.stack.imgur.com/Z4mBp.png


Adr*_*ian 11

可以使用“混合”编号

~/.ideavimrc按照文档将此行添加到您的文件中。

set number relativenumber

不能使用上下文相关的编号

在相对/绝对编号之间自动切换,就像在 Vim 中一样

autocmd InsertEnter * : set norelativenumber
autocmd InsertLeave * : set relativenumber
Run Code Online (Sandbox Code Playgroud)

...这不起作用,因为 IdeaVIM 不支持autocmd.


cit*_*att 8

set relativenumber和都可以set number。这将为您提供当前行的绝对行号,但为其他所有行提供相对行号。您不能并排放置两组数字。


the*_*mer 5

我能够让它在 Intellij 2019 版本中工作。截至今天,此方法在最新的 Intellij 版本中不起作用。

  1. 在intellij中安装Relative Line Numbers插件,我们将使用这个插件来模拟相对行号
  2. 另一方面,我们会让ideavim模拟绝对行号set nu这可以通过添加到您的文件来完成.ideavimrc。您可以通过单击intellij右下角的IdeaVim图标直接打开该文件。如果不是就搜索这个文件。对我来说它在C:\Users\{userName}\.ideavimrc

完成上述操作后,您应该得到如下所示的内容:

在此输入图像描述

注意:插件网站上的评论提到它不适用于最新(2020 版本)IntelliJ。我使用的是 2019 版本,到目前为止运行良好。到目前为止我注意到的唯一问题是,当你打开 VCS 窗口时,你只能得到相对行号(由于某种原因,ideavim 缓冲区没有启动)。如果我发现任何其他问题,我会更新这个答案。在那之前,我将保留这个问题,以防其他人有最新 intellij 版本的工作解决方案。