Что такое «[Командная строка]», которая иногда появляется, когда я пытаюсь выйти, и как я могу быстро выйти из нее?

18

Иногда, когда я пытаюсь выйти из Vim, я получаю что-то похожее на это:

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

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

  • Как я вызываю его (я использую :qдля выхода из Vim) случайно, и
  • Как я могу быстро выйти из него и вернуться к тому, над чем я работаю?
Отменить
источник
3
Я отключаю эту привязку клавиш / режим с помощью map q: <Nop>~ / .vimrc, так как я нахожу это очень раздражающим, и никогда по-настоящему не использую его.
Эндрю Ферье
1
PS: вы также можете map q: :q, что, вероятно, даже лучше.
Вольф

Ответы:

20

Вы вызвали его, нажав, q:что откроет новое окно и позволит вам написать команду Ex. Вот почему это называетсяCommand Line

Вы можете прочитать об этом, набрав :help q:.

Поскольку это окно, вы можете просто выйти из него, как и любое другое окно, особенно :qнаписанное правильно.

Neikos
источник
5
Кроме того, окно команд настраивается таким образом, чтобы команда на строке курсора выполнялась при нажатии Enter, и ваш курсор попадет на пустую строку при первом открытии окна команд, поэтому простое нажатие Enterзакроет его.
Tommcdo
7

:help Command-line:

                        *Cmdline-mode* *Command-line-mode*
Command-line mode       *Cmdline* *Command-line* *mode-cmdline* *:*

Command-line mode is used to enter Ex commands (":"), search patterns
("/" and "?"), and filter commands ("!").

Один из способов войти в режим командной строки q:, который вы, вероятно, случайно вводите.

Это просто новое окно. Вы можете закрыть его через <C-w> q.

В связи с этим я предлагаю ZZвместо этого сохранить и выйти. Проще набирать текст и меньше подвержены таким ошибкам.

Дверная ручка
источник
3

Это представление показывает ваши недавно использованные команды, вы поменяли местами символы и нажали q:вместо них. Вы можете использовать значение <C-w> qпо умолчанию, чтобы закрыть его.

iKlsR
источник
2
Да, это правда, но на самом деле это нечто большее. Это ex-mode в форме, похожей на repl.
musicmatze
Я знаю, что это режим командной строки, но я странным образом никогда не использовал его таким образом. Я использую его, чтобы проверить историю, Shift Vчтобы выбрать строку и войти, чтобы выполнить снова.
iKlsR