Отображать символ мягкого дефиса в vim в Mac OS X Terminal
vim полностью запутан с мягкими символами дефиса (0xAD
) в Mac OS X Terminal. Он не отображается, хотя номер "виртуального столбца" правильный, вставка перепутана.
Так что, если у меня есть строка с a-b
, где -
мягкий дефис, он показывает как ab
в VIM, и когда я пытаюсь заменить символ b
от c
Я получаю вместо acb
, Весьма запутанно.
То же самое происходит с pico
, но не с emacs
,
Есть ли способ это исправить?
Я использую vim в Терминале Mac OS X.
1 ответ
Unicode назначает символ U+00AD SOFT HYPHEN. Восточноазиатская ширина неоднозначна, что означает, что он занимает один или два столбца терминала - он должен отображаться визуально, - но Терминал использует полное средство визуализации текста Unicode, доступное в OS X, которое не отображает мягкие дефисы если он не выполняет разрыв строки.
Интересно, emacs
отображает мягкие дефисы, отправляя дефис на терминал, вместо того, чтобы в зависимости от него отображать мягкий дефис. vim
просто отправляет мягкий дефис на терминал и предполагает, что он будет отображаться.
Начиная с OS X Mountain Lion 10.8, Терминал отображает мягкие дефисы.
iTerm2 не имеет этой проблемы с мягкими дефисами.
@Kevin Ballard Если вы включите "Экспериментальный рендер" в настройках MacVim, MacVim правильно отобразит мягкие дефисы.