Использование vim для переноса сообщений git commit

#git #vim

#git #vim

Вопрос:

У меня возникли некоторые проблемы с получением vim для переноса моих сообщений git commit.Я пробовал несколько способов сделать это, ссылаясь на сообщения здесь, но безуспешно. Я использую posh git и установил vim в качестве основного редактора. Я также пробовал различные дополнения к моему файлу vimrc, но безуспешно.

Для тестирования после каждого добавления в мой файл vimrc я делаю действительно длинную фиксацию, а затем проверяю свой журнал, но он вообще не упаковывается. Я предполагаю, что я делаю что-то не так, поскольку дополнения к vimrc, похоже, работают для других людей здесь. Любые советы будут с благодарностью.

Дополнения к vimrc, которые я пробовал

  • тип файла включен (при условии, что он будет использовать форматирование gitcommit vims)
  • тип файла au gitcommit устанавливает tw=72
  • тип файла autocmd gitcommit написание textwidth= 72

Комментарии:

1. filetype plugin on . Затем вы можете изменить tw , установив его в файле after/ftplugin/gitcommit.vim .

2. Привет, Сато, должен ли я удалить другие мои команды и просто использовать эту?

3. Да, на самом деле другие команды не влияют на вашу настройку.

4. Спасибо, Сато, я удалю их и попробую вашу команду. Что касается команды set fo t, добавляю ли я это в свой файл vimrc и что именно это делает. Извините за боль, только сегодня начал работать с vim

5. Привет, Сато, спасибо за твои усилия, но, похоже, сегодня мне не повезет. Я отредактировал свой vimrc и добавил вашу команду, которая выглядит идеально, поскольку в качестве ключевых слов выделяются как filetype, так и on . Затем я перешел к своим программным файлам, как вы предложили, и в ftplugin есть gitcommit vim, который имеет тип plugin, и внутри него устанавливается значение tw равным 72, но все равно никакой радости. Когда я открываю powershell и фиксирую с помощью vim, заголовок выделяется после 50, но в теле коммита ничего нет. Если я перейду к 72, журнал git не завершится. Очень разочаровывает, еще раз спасибо.

Ответ №1:

Vim по умолчанию не переносит абзацы автоматически, вам нужно сделать это вручную с помощью:

 gqip
  

Если вы хотите, чтобы Vim выполнял жесткую упаковку, чем вы можете сделать:

 :set formatoptions =w
  

Vim также может выполнять мягкую обертку (например, Word-like), но это не то, что вы хотите, очевидно.

Совет профессионала: если вы хотите вставить или ввести какой-либо текст без упаковки (например, пример кода), сделайте :set paste , когда закончите делать :set nopaste .

Подробная информация:

Комментарии:

1. Привет, Изап, спасибо за ответ, я сдался и вернулся к блокноту. Я попробую это завтра первым делом и отчитаюсь. Также спасибо за ссылки.