перевод строки после дефиса с помощью gq - PullRequest
4 голосов
/ 27 июля 2010

Есть ли способ настроить функцию gq в vim так, чтобы она позволяла переносить строки после дефиса (в составном слове)? например,

twentieth-
century

И, кстати, я не на своем ноутбуке, а в одной из лабораторий, где работает Windows, поэтому любое решение, не использующее такие программы, как par или fmt, получает бонусные баллы :-) (хотя Я также заинтересован в решениях, использующих эти инструменты, если это невозможно сделать, используя только vim - по крайней мере, я смогу сделать это на своем ноутбуке).

Заранее спасибо.

1 Ответ

2 голосов
/ 30 октября 2012

Для дефиса ASCII (0x2d) это невозможно.Если вы можете использовать Unicode, вы можете использовать идентично выглядящий вариант Unicode (U + 2010, cp. http://en.wikipedia.org/wiki/Dash). Вместо этого его можно вставить с помощью Ctrl-V (Ctrl-Q в большинстве установок WindowsVim), за которым следует u2010. Или задайте для него орграф:

:digraph -- 8208 " hyphen, U+2010

С

:set formatoptions+=m

Vim будет

Также будет прерыватьсямногобайтовый символ выше 255.

Вуаля! Если вам нужно сохранить текст как ASCII, вы можете даже написать сопоставления / обертку вокруг gq, которые :substitute содержат дефисы вперед и назад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...