O primeiro lugar que eu verificaria seria se ele fornece recursos semelhantes ao xterm (o que pode fazer isso). Em uma verificação rápida, o iTerm2 não implementa nenhum dos controles do xterm para colorir o cursor. Mas (citando a sua documentação ) o iTerm2 suporta um recurso de colorir o cursor (como opção) que (como xterm) faz o que você quer:
To tune smart cursor color settings:
defaults write com.googlecode.iterm2.plist SmartCursorColorBgThreshold -float 0.5
defaults write com.googlecode.iterm2.plist SmartCursorColorFgThreshold -float 0.75
SmartCursorColorBgThreshold: If the cursor's background color is too close to nearby background colors, force it to the "most different" color. This is the difference threshold that triggers that change. 0 means always trigger, 1 means never trigger.
SmartCursorColorFgThreshold: The cursor's text is forced to black or white if it is too similar to the background. If the brightness difference is below a threshold then the B/W text mode is triggered. 0 means always trigger, 1 means never trigger.