Emacs 光标在 iterm2 中的 tmux 中不可见

Emacs 光标在 iterm2 中的 tmux 中不可见

emacs -nw当我尝试在 iterm2 下的 tmux 窗格内使用时,光标不可见。无论我在 iterm2 中使用哪个主题,都会出现此行为。

我在 Mac OS X 10.9.5 上使用 emacs 版本 24.5,并在 iterm2 下运行 tmux(使用默认终端仿真器时光标可见)。有没有办法配置 tmux、emacs 或 iterm2,使光标变为白色?

答案1

我遇到了同样的问题:

  • iTerm2 2.1.1
  • tmux 2.0
  • Emacs 24.5.1

此问题报告于此期:https://github.com/tmux/tmux/issues/22,声称该问题已在 github 中修复。

一条评论提到了以下 tmux 配置,它对我来说非常有效(确保重新启动 tmux 守护程序):

set -ag terminal-overrides ',screen*:cvvis=\E[34l\E[?25h'

iTerm2 中也报告了此问题:https://gitlab.com/gnachman/iterm2/issues/3539

答案2

对我来说,我使用的是 iterm2 版本 3.1.4。如果您转到“首选项”->“配置文件”->“颜色”,并选中“智能光标颜色”复选框,它会根据背景颜色更改光标的颜色。

答案3

我要检查的第一个地方是它是否提供了与 xterm 类似的功能(它可以做到这一点)。快速检查后发现,iTerm2 没有实现 xterm 的任何用于为光标着色的控件。但是(引用其文档)iTerm2 支持光标着色功能(作为选项),它(像 xterm 一样)可以满足您的要求:

要调整智能光标颜色设置:

defaults write com.googlecode.iterm2.plist SmartCursorColorBgThreshold -float 0.5 
defaults write com.googlecode.iterm2.plist SmartCursorColorFgThreshold -float 0.75

智能光标颜色背景阈值:如果光标的背景颜色与附近的背景颜色太接近,则强制将其设置为“最不同”的颜色。这是触发该变化的差异阈值。0 表示始终触发,1 表示永不触发。

智能光标颜色阈值:如果光标处的文本与背景太相似,则强制将其变为黑色或白色。如果亮度差异低于阈值,则触发黑白文本模式。0 表示始终触发,1 表示永不触发。

相关内容