Vim для Windows - Что мне ввести, чтобы сохранить файл и выйти из него?


265

Используя Windows XP, я случайно набрал git commit -aвместо git commit -am "My commit message", и теперь я просматриваю приглашение CMD, заполненное версией файла моего сообщения о коммите («Пожалуйста, введите сообщение о коммите для вашего ...»). Я добавил свое сообщение в начало, но теперь не могу понять, как сохранить и уйти. Я пытался нажать Ctrl+ W+ Q, но это ничего не делает, но добавляет, ^где находится курсор.

Я также попытался Escпервым, а затем Ctrl+ W+ Q, но он говорит No write since last change (add ! to override).


13
О, это такое облегчение, что я не единственный, кто застрял в этом.
Томаш Зато - Восстановить Монику

Ответы:


515

Нажмите, ESCчтобы убедиться, что вы вышли из режима редактирования, а затем введите:

:wq

6
@ User789 для чего-то конкретного или вообще? Если вы ищете общие команды, попробуйте этот веб-сайт: viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
nunopolonia

1
Они действительно могли бы добавить это в качестве комментария, чтобы тысячи из нас не были отправлены из терминала для трех персонажей !! Но я думаю, что nunopolonia рада, что они этого не сделали =)
Кейси Мюррей,

Имейте в виду, что если у вас несколько раскладок клавиатуры и вы забыли, что не используете раскладку на английском языке , вы можете застрять и подумать, что это не сработает. Надеюсь, я помог кому-то не тратить время, как я.
Джука

3
Слава богу, я нашел это. Серьезно, не мешало бы просто добавить этот кусочек направления на экран сообщения ввода фиксации ??
voidzero

52

Вместо того, чтобы рассказать вам, как вы можете выполнить определенную команду ( Esc:wq), я могу предоставить вам две ссылки, которые могут помочь вам с VIM:

Однако лучший способ изучить Vim - это не только использовать его для коммитов Git, но и как обычный редактор для вашей повседневной работы.

Если вы не собираетесь переключаться на Vim, то не стоит забывать о его командах. В этом случае перейдите и настройте свой любимый редактор для использования с Git .


+1 за этот действительно полезный ответ. Я предпочитаю Emacs, и благодаря вашей ссылке мне не нужно искать решение в Google.
Кекс Доза

+1 за объяснение VIM и как настроить мой собственный редактор
EdmundYeung99

Научить ловить рыбу лучше, чем давать ему рыбу. Спасибо.
матрица

Лучший способ ответить на вопрос, который должен был быть задан. Thx
moemen.ahmed

HTML-ссылка не работает.
Naxos84

35

Escчтобы выйти из режима вставки, затем :wq(двоеточие wq) или ZZ(shift-Z shift-Z).


2
Кто-нибудь еще заметил, насколько это проще, Shift-Z Shift-Zчем другой? И, кстати, что-нибудь становится менее интуитивным? Ах да, я гражданин Windows!
Ифеди Оконкво

30
  • Нажмите iили, aчтобы войти в режим вставки, и введите сообщение выбора

  • Нажмите ESCнесколько раз, чтобы выйти из режима вставки или любого другого режима, в который вы могли случайно войти

    • для сохранения, :wq, :xилиZZ

    • выйти без сохранения :q!илиZQ

Чтобы перезагрузить файл и отменить все внесенные изменения ...:

Нажмите несколько раз, ESCа затем введите :e!.


10

Более быстрый способ

  • Сохранить
  • и выйти

было бы

:x

Если вы открыли несколько файлов, вам может понадобиться

:xa

Обратите внимание: x будет записывать только файлы, которые были изменены.
Саймон Рихтер

5

:q! вызовет безусловный выход без сохранения


6
Это должен быть комментарий. Это очень актуально, но не отвечает на вопрос. Напротив, он говорит о команде, которая делает противоположное тому, что просят. Соответствующий, но не ответ
Rune FS

0

Использование:

:wq!

Восклицательный знак используется для переопределения режима только для чтения.

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