Очень часто я пишу уценку в VIM, и в этой уценке будут абзацы. Чтобы помочь моему редактированию, я настроил свой Vim для переноса строки на 80 символов. Это хорошо работает, если я просто продолжаю печатать, но проблема в том, что если мне нужно внести некоторые исправления, это становится очень раздражающим.
Демо (взято из Википедии логика первого порядка):
The adjective "first-order" distinguishes first-order logic from higher-order logic
in which there are predicates having predicates or functions as arguments. In first-order
theories, predicates are often associated with sets. In interpreted higher-order
theories, predicates may be interpreted as sets of sets.
Все идет нормально. Но когда я пересматриваю статью, я могу решить добавить что-то посередине, скажем:
The adjective "first-order" distinguishes first-order logic from higher-order logic
in which there are predicates having predicates or functions as arguments,
or in which one or both of predicate quantifiers or function quantifiers are permitted.
In first-order theories, predicates are often associated with sets. In interpreted higher-order
theories, predicates may be interpreted as sets of sets.
строка уведомления 3 - это та, которую я хочу обернуть. Если я сделаю это в VIM, мне нужно будет вручную соединить строки и перевернуть весь абзац.
Кто-нибудь понял, как заставить VIM делать это автоматически?
источник
Я бы посмотрел
:help 'textwidth'
. Он будет автоматически разбивать строки при вводе. Однако это не работает, если вы редактируете середину строки.Я лично предпочитаю
textwidth
прекратить, поэтому я создал функцию, которая будет автоматически объединять и разбивать абзац. (В основном это автоматически форматирует до 80 символов) Это выглядит так:Затем у меня есть отображение для вызова, когда мне это нужно:
Эта функция отлично
formatoptions+=jr
подходит для форматирования комментариев в коде! Просто наведите курсор на первую строку длиной более 80 символов и вызовите функцию.(Примечание: я не сделал эту функцию общей, чтобы делать длины, отличные от 80, но я думаю, что вам нужно изменить только 80 и 81, если вы хотите сделать это чем-то другим)
Смотрите
:help 'textwidth'
и:help 'formatoptions'
для получения дополнительной информации.источник
textwidth
будет автоматически форматировать при вводе. Моя функция не будет. Я предпочитаю контролировать, когда vim оборачивает вещи, так что это работает для меня. Но если вы специально ищете форматировщик типа «как вы», то да; это не совсем подходит для вашего рабочего процесса.Для полноты картины я бы хотел упомянуть вариант на основе плагинов.
Если вы используете что - то вроде ALE , которая поддерживает запуск ваших буферов через Beautifier на экономию, вы могли бы позволить похорошела ручку rewrapping кода.
Я достиг этого, поместив это в
~/.vim/ftplugin/markdown.vim
:... и положить это в
~/.vimrc
:источник