Macos 在Mac OS X终端的vim中显示软连字符
vim与Mac OS X终端中的软连字符(Macos 在Mac OS X终端的vim中显示软连字符,macos,vim,terminal,soft-hyphen,Macos,Vim,Terminal,Soft Hyphen,vim与Mac OS X终端中的软连字符(0xAD)完全混淆。它不显示,尽管“虚拟列”编号正确,但插入错误 因此,如果我有一行a-b,其中-是软连字符,它在vim中显示为ab,当我尝试用c替换字符b时,我得到的是acb。相当混乱 同样的情况发生在pico上,但在emacs上则没有 有办法解决这个问题吗 我在Mac OS X的终端中使用vim。软连字符没有这个问题 @Kevin Ballard如果在MacVim的首选项中打开“实验渲染器”,MacVim将正确渲染软连字符。软连字符没有此问题 @Ke
0xAD
)完全混淆。它不显示,尽管“虚拟列”编号正确,但插入错误
因此,如果我有一行a-b
,其中-
是软连字符,它在vim中显示为ab
,当我尝试用c
替换字符b
时,我得到的是acb
。相当混乱
同样的情况发生在pico
上,但在emacs
上则没有
有办法解决这个问题吗
我在Mac OS X的终端中使用vim。软连字符没有这个问题
@Kevin Ballard如果在MacVim的首选项中打开“实验渲染器”,MacVim将正确渲染软连字符。软连字符没有此问题
@Kevin Ballard如果在MacVim的首选项中打开“实验渲染器”,MacVim将正确渲染软连字符。Unicode将U+00AD软连字符指定为东亚宽度,这意味着它占用了一个或两个终端列,应该以可视方式呈现,但终端使用OS X中可用的完整Unicode文本呈现器,除非执行换行操作,否则不会呈现软连字符 有趣的是,
emacs
通过向终端发送连字符而不是依靠它来呈现软连字符来显示软连字符vim
只是将软连字符发送到终端,并假定它将被显示
从OS X Mountain Lion 10.8开始,终端显示软连字符。Unicode指定U+00AD软连字符东亚宽度不明确,这意味着它占据了一个或两个终端列,应该以可视方式呈现,但终端使用OS X中可用的完整Unicode文本呈现器,除非执行换行操作,否则不会渲染软连字符 有趣的是,
emacs
通过向终端发送连字符而不是依靠它来呈现软连字符来显示软连字符vim
只是将软连字符发送到终端,并假定它将被显示
从OS X Mountain Lion 10.8开始,终端显示软连字符。刚刚尝试用软连字符编辑文件。它在Linux下的Urxvt(带有Monaco字体)上对我有效。软连字符显示为普通连字符(当然,
ga
上显示的是173,十六进制00ad,八进制255
)。所以我认为这是一个特定终端(和/或可能是特定字体)的问题。它不是字体,因为它与MacVim一起工作,所以可能是MacOSX终端的一些怪癖?事实上,它似乎也不是vim特有的。您使用什么编码?若0xAD是多字节的前导字符,它可能不会显示。我刚刚遇到了这个问题。奇怪的是,在MacVim中,虽然不影响列计数,但软连字符会导致MacVim停止在该行上绘制字符,直到结束。手动将插入点移动到字符上会使它们逐个呈现,但任何导致行重新绘制的操作都会使它们再次消失。只需尝试使用软连字符编辑文件。它在Linux下的Urxvt(带有Monaco字体)上对我有效。软连字符显示为普通连字符(当然,ga
上显示的是173,十六进制00ad,八进制255
)。所以我认为这是一个特定终端(和/或可能是特定字体)的问题。它不是字体,因为它与MacVim一起工作,所以可能是MacOSX终端的一些怪癖?事实上,它似乎也不是vim特有的。您使用什么编码?若0xAD是多字节的前导字符,它可能不会显示。我刚刚遇到了这个问题。奇怪的是,在MacVim中,虽然不影响列计数,但软连字符会导致MacVim停止在该行上绘制字符,直到结束。手动将插入点移动到字符上会使它们逐个渲染,但任何导致线重新绘制的操作都会使它们再次消失。