Здійснення Git в терміналі відкриває VIM, але не може повернутися до терміналу


209

Намагаюся навчитися GitHub на даний момент і виконувати цей підручник з основ Git в мережі. Я на уроці з оформлення комітетів.

Викладач набирає, git commitі він відкриває VIM як його редактор (я також хотів би знати, як зробити так, щоб він відкривався в Sublime Text 2 замість цього) будь-коли він відкривається у VIM, і я додаю в 1 рядок, кажучи, що це моя перша фіксація і натисніть зберегти .

Далі він запропонує мені зберегти висновок на робочому столі, чогось я не бачив у його екрані. Тепер я все ще в VIM і не впевнений, як повернутися до 'нормального' терміналу :(

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

git статус

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

вим

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

повідомлення, коли я знову відкриваю термінал і знову виконую git

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


3
Якщо ви просто хочете знати, як зберегти та вийти з vim, це : wq
guideo

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

3
@ Кокодоко, так, я просто git commit -m 'my message'зараз займаюся , це все :) немає потреби в редакторі, ніколи не потрібно було використовувати 1, потрібні були лише 1 вкладиші.
Леон Габан

1
@LeonGaban короткі повідомлення про фіксацію є нормальними для першої фіксації, але з них вам слід спробувати застосувати техніку короткої теми, а потім детально описати, що насправді сталося в цій комісії.
liamvictor

1
@LeonGaban ви дивовижні
baydi

Відповіді:


368

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

Крім того, ви можете як зберегти, так і вийти, натиснувши Escі потім:x

Щоб встановити інший редактор працювати export EDITOR=myFavoriteEdiorна терміналі, де myFavoriteEdiorможе бути vi, gedit, subl(для піднесеного) і т.д.


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

15
NB: Просте :xзбереження і киньте vim - це трохи швидше, ніж :wq;)
Xavier

1
Для постійного встановлення редактора ви можете використовувати: git config --global core.editor myFavoriteEditor
Machta

2
esc ключ для мене нічого не робить. Що це за загадочні команди, це 2016 чи 1996? Неймовірно ...
оялхі

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?
оялхі

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.