Использование git commit -a с vim - PullRequest
102 голосов
/ 23 мая 2011

Я новичок в git, поэтому я решил изучить git, используя учебники по github. В третьей главе сказано:

"Для этого первого примера мы изменим файл README, добавив себя в качестве автора проекта. Поэтому мы просто изменим файл. Теперь мы хотим зафиксировать это изменение, поэтому мы запускаем команду git commit -a."

Когда я использую команду git commit -a, консоль открывает vim, и я написал свое сообщение, но я не знаю, как закрыть этот редактор vim из консоли. Как мне сохранить сообщение и закрыть vim?

Ответы [ 6 ]

183 голосов
/ 23 мая 2011
  1. В vim вы сохраняете файл с помощью : w Введите в обычном режиме (вы переходите в обычный режим нажатием Esc ).
  2. Вы закрываете свой файл с помощью : q в обычном режиме.

Вы можете объединить оба этих действия и выполнить Esc : w q Введите для сохранения фиксации и выйдите из Vim.

В качестве альтернативы вышеприведенному, вы также можете нажать Z Z в обычном режиме, который сохранит файл и выйдет из vim. Для некоторых это также проще, так как дважды нажимается одна и та же клавиша.

57 голосов
/ 23 мая 2011

Вместо того, чтобы пытаться изучать vim, используйте другой, более простой редактор (например, nano).Как бы мне ни нравился vim, я не думаю, что его использование в этом случае является решением.Требуется посвящение и время, чтобы справиться с этим.

git config core.editor "nano"
10 голосов
/ 23 мая 2011

См. Эту ветку для объяснения: VIM для Windows - Что мне ввести, чтобы сохранить файл и выйти из него?

Как я уже писал: для изучения Vimming вы можете использовать одну из справочных карточек:

Также обратите внимание Как я могу настроить редактор для работы с Git в Windows? , если вам неудобно использовать Vim, но вы хотите использовать другой редактор для ваших сообщений фиксации.

Если ваше сообщение о фиксации не слишком длинное, вы также можете набрать

git commit -a -m "your message here"
6 голосов
/ 14 февраля 2012

Лучший вопрос: как мне прервать коммит при выходе из vim?

Есть 2 способа:

  1. :cq или :cquit
  2. Удалить все строки сообщения о коммите, включая комментарии, а затем :wq

В любом случае git выдаст код ошибки, поэтому он не продолжит коммит. Это особенно полезно с git commit --amend.

6 голосов
/ 23 мая 2011

Попробуйте ZZ, чтобы сохранить и закрыть. Вот немного больше информации об использовании vim с Git

1 голос
/ 23 мая 2011

Для выхода из удара: q позволит вам выйти.

Если вы хотите выйти без сохранения, вы можете нажать: q!

Поиск в Google по "vim cheatsheet" может предоставить вам ссылку, которую вы должны распечатать с набором быстрых клавиш.

http://www.fprintf.net/vimCheatSheet.html

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