IntelliJ 终端光标形状

iLe*_*ing 3 vim terminal zsh intellij-idea

所以,我对 Vim 很着迷。我在任何地方都使用 vi 模式——在所有支持它的编辑器和 IDE 中。我使用它作为我的浏览器(vimiumwasavi)。多亏了很棒的Karabiner,我到处都使用 'hjkl' 导航。我通过 zsh 下的 iTerm 在我的终端中使用 vi 模式。很久以前,我发现这个小技巧可以根据您当前所处的模式改变终端中的光标形状。

现在,虽然它完美地适用于 iTerm,但遗憾的是它在 OS X 的内置终端中不起作用。我对此毫不在意,除了它在我最喜欢的 WebStorm 中也不起作用。我想我可以欺骗它,而不是改变光标的形状,我可以尝试调整它的颜色。还是没用。

请伙计们,帮我找到一种方法来调整 IDEA 终端中的光标。 谢谢!

ps:有些人可能会建议根据模式更改提示,但老实说我不喜欢那样。我仍然相信有一种方法可以改变光标的形状或颜色。概率。只需要找到正确的转义序列。

bra*_*con 6

不幸的是,看起来 Intellij 终端会在不考虑 bash 或 zsh 设置的情况下绘制自己的光标。

注意我假设 Intellij 的社区版和专业版使用相同的终端插件

你可以在这里看到终端插件源

终端插件使用Jediterm,一个由 JetBrains 编写的基于 Java 的终端模拟器

终端窗口的大部分绘制在TerminalPanel.java 中处理,并有一个名为TerminalCursor的嵌套类

从 TerminalCursor 类中,您可以看到 Java Graphics 用于为常规光标和闪烁光标绘制框。

为光标绘制矩形的代码

我仍然不确定未聚焦的光标是如何绘制的,因为它只是一个轮廓,而且我找不到处理框架上失去焦点的处理程序。