2016-09-13 4 views
0

Я хочу настроить vim, чтобы иметь возможность отображать определенный символ как что-то еще =>.make (Mac) Vim отображает определенный символ как что-то еще

Очевидно, что первый символ является символом не-ascii, а второй - фактически двумя символами.

Я искал нечто похожее на listchars, но с большей гибкостью, так как я могу указать символ, а также преобразование.

Я хочу сделать это только для целей визуализации, т. Е. Я не хочу редактировать фактический файл.

В качестве альтернативы я думал об изменении самого шрифта, чтобы отобразить этот символ по-разному, а затем использовать эту «модифицированную» версию шрифта внутри MacVim. но он кажется очень сложным и никогда не работает с fontforge.

Есть ли что-нибудь подобное в vim/macVim?

+1

В vim есть что-то подобное, да: опции 'скрывать' для выделения синтаксиса. Посмотрите несколько примеров на YouTube. Люди обычно используют его для сокращения текста, но я не понимаю, почему вы не могли использовать его наоборот. Вот плагин, который использует скрытие: https://www.youtube.com/watch?v=37rIbrdHKwM – moopet

+0

скрытие @moopet - это потрясающе, решила мою проблему отлично, уровень скрытия и курсора - приятный штрих, мне пришлось изменить " => ', потому что я не могу скрыть одного персонажа с более чем одним символом. но это достаточно хорошо для меня. Благодаря! – SKandeel

ответ

2

Функция скрывает функцию, что позволяет отображать [последовательность] символов [s] как отдельный символ. Это можно использовать для отображения => как , но, к сожалению, не наоборот.

Аналогичным образом, изменение шрифта не будет работать; каждый символ занимает ровно одну ячейку дисплея (ну, кроме символов двойной ширины, но вы не можете просто превратить одну ширину в двойную ширину).

Я не уверен, что ваша мотивация, но только представьте, как запутанное редактирование стал бы, если бы вы могли обратиться одинарный (даже в расширенном виде) как два символа (но команды редактирования как f или :s бы еще увидеть одиночный символ).

Единственный способ добиться чего-то подобного, чтобы сделать :%substitute/⇒/=>/g при редактировании буфера, и погубил, что для :write (с использованием :autocmd с), но я бы рекомендовал против него.

+0

Мне пришлось изменить '=>' на то, что является одним персонажем, но скрыть отлично для меня, спасибо за разработку. – SKandeel

+0

Ах, отлично. Твоя мотивация была не совсем понятна из вашего абстрактного вопроса. Помните, что скрытие - это функция подсветки синтаксиса, поэтому, если есть основной синтаксис/тип файла, он может взаимодействовать с этим отрицательно (но это зависит от самого синтаксиса). –

+0

FWIW, если вы редактируете/создаете шрифт, вы можете сделать глиф символов в любую нужную вам ширину. Длина глифа указана для каждого отдельно в спецификации шрифта OpenType. – eosrei