intellij-ideapycharmideavim

Is it possible to change the cursor color per mode in Ideavim?


Is it possible to change the cursor color per mode in Ideavim?

I am currently using IdeaVim in pycharm.

When I write code, the cursor shape and color are the same for visual and normal mode, which is very inconvenient.

Is it possible to make the cursor color different between visual mode and normal mode in IdeaVim?

If not, is it possible to change the background color of the bottom bar for each mode? It's hard for me to notice if it's simply lettered. (This was possible in vscode with a setting)

The best way is to use vim, but I can't get away from pycharm :(

I consulted a lot of documentation, but it didn't work in IdeaVim

In the .ideavimrc file I added the following, but it didn't work.

1. 
 set showmode


2. 
 autocmd VimEnter,ColorScheme * highlight cursor guifg=NONE guibg=LightYellow ctermfg=NONE ctermbg=Yellow
 autocmd VimEnter,ColorScheme * Highlight Visual guifg=NONE guibg=LightBlue ctermfg=NONE ctermbg=Blue

3.
 Highlight Cursor guifg=white guibg=black
 Highlight Cursor guifg=White guibg=Steel Blue
 set cursor=n-v-c:block-cursor
 set guicursor+=i:ver100-iCursor
 set guicursor+=n-v-c:blinkon0
 set guicursor+=i:blinkwait10



Solution

  • It's not currently possible to change the cursor colour in IdeaVim (current version is 2.7.0), but you should have different cursor shapes for different modes. IdeaVim supports the 'guicursor' option, and the default will show a block cursor for normal mode, a bar cursor for insert, and underscore for replace and so on.

    If you're currently only seeing a block cursor for all modes, make sure that you don't have the "Use block caret" option checked in the Editor -> Appearance settings. This option is off by default, so when it's on, it takes precedence over IdeaVim's handling of the cursor shape.

    You can also set the 'showmode' option to have IdeaVim show the current mode in the status bar - it can be useful to set this in your ~/.ideavimrc file. However, the new UI reuses the status bar to show breadcrumb bars, but you can right click on it and select to show "status text" to get back to a traditional status bar.