Git commit в терминале открывает VIM, но не может вернуться в терминал


209

Попытка изучить GitHub в данный момент и сделать это руководство по основам Git в Nettuts. Я на уроке о совершении коммитов.

Учитель печатает, git commitи он открывает VIM в качестве своего редактора (я также хотел бы знать, как сделать так, чтобы он открывался в Sublime Text 2), в любом случае, он открывается в VIM, и я добавляю в 1 строку, говоря, что это мой первый коммит и нажмите «Сохранить». ,

Затем он предлагает мне сохранить вывод на рабочий стол, чего я не видел в его скринкасте. Сейчас я все еще в VIM и не знаю, как вернуться к «обычному» терминалу :(

Я не мог понять это, поэтому я просто вышел из терминала и перезапустил его, сделал git commit снова и получил несколько предупреждений о дубликатах! Не уверен, что мне нужно (E)editили нет(A)abort .

мерзавец статус

введите описание изображения здесь

напор

введите описание изображения здесь

сообщение, когда я снова открываю терминал и делаю git commit снова

введите описание изображения здесь


3
Если вы просто хотите узнать, как сохранить и выйти из vim, это : wq
guido

1
та же проблема здесь ... как только я пытаюсь зафиксировать, терминал открывает какой-то редактор, из которого я не могу выйти. Очень надоедливый!
Кокодоко

3
@Kokodoko да, я просто согласен с git commit -m 'my message'этим, вот и все :) нет необходимости в редакторе, никогда не нужно было использовать 1, нужны только 1 вкладыши.
Леон Габан

1
Сообщения @LeonGaban с коротким коммитом подходят для первого коммита, но с их помощью вы должны попытаться применить методику создания короткой темы, а затем подробно описать, что на самом деле произошло в этом коммите.
liamvictor

1
@ LeonGaban, ты удивительный
байди

Ответы:


368

Чтобы сохранить работу и выйти, нажмите Escи затем :wq(w для записи и q для выхода).

Кроме того, вы можете сохранить и выйти, нажав, Escа затем:x

Чтобы установить другой редактор работать export EDITOR=myFavoriteEdiorна терминале, где myFavoriteEdiorможет быть vi, gedit, subl(для возвышенного) и т.д.


7
+1 об объяснении последовательности команд и в процессе, показывающем, как переключать редакторы, если это необходимо (но серьезно, зачем кому-то использовать редактор, кроме vim :)
Lieven Keersmaekers,

15
NB Простое :xсохранение и выход из vim, это немного быстрее, чем :wq;)
Ксавье

1
Те установки редактора постоянно можно использовать: мерзавец конфигурации --global core.editor myFavoriteEditor
Machta

2
Клавиша Esc ничего не делает для меня. Что это за загадочные команды, это 2016 или 1996? Невероятно ...
oyalhi

1
Полностью не работает Да, я ввел сообщение о коммите. Вим отстой.
Дэйв Килпински,

40

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

git commit -m "This is the first commit"

19

Вам нужно вернуться в обычный режим и сохранить сообщение о коммите

<Esc>:wq

или

<Esc>:x

или

<Esc>ZZ

В Escклавиша возвращает вас от вставки режима в нормальный режим. :wq, :xИли ZZпоследовательность записывает изменения и выходит из редактора.


2
Нет ... клавиша esc ничего не делает. Я застрял в "Мастер веток слияния ...". Пожалуйста, введите сообщение коммита, чтобы объяснить, почему это слияние необходимо.
Кокодоко

Возможно , вы вводите сообщение коммита? Что происходит, когда вы нажимаете <Esc>:wq?
Ливен Керсмакерс

2
В моем случае ничего не происходит. Что это за загадочные команды, это 2016 или 1996?
oyalhi

1
@ Homo-Erectus - я начал использовать vim около 4 лет назад, и я сожалею только, что не начал раньше. Я не считаю это потерянным временем, вы должны попробовать это. Имейте в виду крутой кривой обучения, но оно того стоит. Что касается команд, мне нечего добавить. Введите <esc>, введите:, введите x, и это должно быть.
Ливен Керсмакерс

@oyalhi Никогда не поздно начать пользоваться vim
Анатолий Якимчук

16

Простое выполнение команды vim "сохранить и выйти" :wqдолжно помочь.

Чтобы Git открыл его в другом редакторе, вам нужно изменить core.editorнастройку Git на команду, которая запускает нужный вам редактор.

git config --global core.editor "command to start sublime text 2"


4
Спасибо за совет по настройке редактора для возвышенного текста. Я столкнулся с одной проблемой , хотя, я должен был установить --waitфлаг: git config --global core.editor "subl --wait". Это мешаетAborting commit due to empty commit message.
Эрик

16

Это в ответ на ваш вопрос ...

Я также хотел бы знать, как открыть его в Sublime Text 2

Для Windows:

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"

Проверьте sublime_text.exeправильность пути и при необходимости отрегулируйте.

Для Mac / Linux:

git config --global core.editor "subl -n -w"

Если вы получаете сообщение об ошибке, такое как:

ошибка: возникла проблема с редактором 'subl -n -w'.

Создать псевдоним для subl

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

Снова проверьте, что путь соответствует вашей машине.

Для Sublime Text просто сохраните cmd Sи закройте окно, cmd Wчтобы вернуться в git.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.