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"
pkyeck
источник
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.

mhatch
источник