vim与Mac OS X终端中的软连字符(0xAD
)完全混淆。它不会显示,虽然“虚拟列”编号是正确的,插入是搞砸了。
因此,如果我有a-b
行,其中-
是软连字符,则在vim中显示为ab
,当我尝试替换字符{{1}时} b
,我取而代之的是c
。相当令人困惑。
acb
也是如此,但与pico
无关。
有没有办法解决这个问题?
我在Mac OS X终端中使用vim。
答案 0 :(得分:0)
iTerm2没有关于软连字符的问题。
@Kevin Ballard如果您在MacVim的首选项中打开“实验渲染器”,MacVim会正确渲染软连字符。
答案 1 :(得分:0)
Unicode为U + 00AD SOFT HYPHEN字符分配了East Asian Width Ambiguous,这意味着它占用一两个终端列(应以可见方式呈现),但是Terminal使用OS X中可用的完整Unicode文本呈现器,而不会除非执行换行,否则请绘制软连字符。
有趣的是,emacs
通过向终端发送连字符而不是依靠它来呈现软连字符来显示软连字符。 vim
只是将软连字符发送到终端,并假定它将显示。
从OS X Mountain Lion 10.8开始,终端显示软连字符。